CentOS7卸载firewalld开启iptables
service firewalld stop //停止firewalld chkconfig firewalld off yum yum remove firewalld -y //卸载firewalld yum install iptables-services -y //安装iptables service iptables start /启动iptables iptatables -F //清空iptables规则 service iptables save //保存iptables 规则
使用iptables转发流量
在使用iptables转发流量之前请执行如下命令:
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf // 在sysctl.conf中加入net.ipv4.ip_forward = 1
sysctl -p
或
vim /etc/sysctl.conf
加入 net.ipv4.ip_forward = 1
然后我们清除下所有默认的iptables表:
iptables -F iptables -t nat -F service iptables save
iptables相同端口转发命令:
iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP] iptables -t nat -A PREROUTING -p udp --dport [端口号] -j DNAT --to-destination [目标IP] iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口号] -j SNAT --to-source [中转服务器IP] iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [端口号] -j SNAT --to-source [中转服务器IP]
不同端口:
iptables -t nat -A PREROUTING -p tcp --dport [源端口号] -j DNAT --to-destination [目标IP:目标端口号]
iptables -t nat -A PREROUTING -p udp --dport [源端口号] -j DNAT --to-destination [目标IP:目标端口号]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [目标端口号] -j SNAT --to-source [中转服务器IP]
iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [目标端口号] -j SNAT --to-source [中转服务器IP]
#注意:执行完毕后,必须进行保存 请使用 service iptables save 进行保存。
以下是一个实例(这里我们的应用端口为50020~50029,我们使用520022测试转发另外一个IP的6053端口,我们的主IP为:192.168.5.2(内网IP),转发服务器IP为:1.1.1.1):
iptables -t nat -A PREROUTING -p tcp --dport 50022 -j DNAT --to-destination 1.1.1.1:6053 iptables -t nat -A PREROUTING -p udp --dport 50022 -j DNAT --to-destination 1.1.1.1:6053 iptables -t nat -A POSTROUTING -p tcp -d 1.1.1.1 --dport 6053 -j SNAT --to-source 192.168.5.2 iptables -t nat -A POSTROUTING -p udp -d 1.1.1.1 --dport 6053 -j SNAT --to-source 192.168.5.2 service iptables save
THE END