iptables端口转发

文章来源

安装iptables

yum -y install iptables

开启关闭

临时(重启失效):

sysctl -w net.ipv4.ip_forward=1 #开启
sysctl -w net.ipv4.ip_forward=0 #关闭

永久:
vi /etc/sysctl.conf修改或者添加

net.ipv4.ip_forward = 1 #开启
net.ipv4.ip_forward = 0 #关闭

执行生效:sysctl -p

公网转发

A(转发机)
公网:1.1.1.1
内网:10.0.0.1

B(目标主机)
公网:2.2.2.2

A主机8880端口转发至B主机8443端口

iptables -t nat -A PREROUTING -p tcp --dport 8880 -j DNAT --to-destination 2.2.2.2:8443
iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 8443 -j SNAT --to-source 10.0.0.1

查看转发

iptables  -t  nat  -nL

删除

删除指定

iptables -t nat -A xxxxxx
改为
iptables -t nat -D xxxxxx

删除所有

iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING

备份恢复

修改完规则后,将规则从内存保存到文件,位置根据需要可以改

iptables-save > /root/iptables.conf

开机自动恢复,在/etc/rc.d/rc.local添加

iptables-restore < /root/iptables.conf

如果上面方法无效

yum -y install iptables-services

放行端口特别注意,避免SSH无法连接

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

启动

chkconfig iptables on
service iptables save //每次修改规则后执行
最后修改:2020 年 10 月 07 日 17 : 11