使用iptables转发流量

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