iptables入门
iptables
iptables常用参数
参数 | 作用 |
---|---|
-P | 设置默认策略 |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链素的末尾加入新的规则 |
-I num | 在规则链素的头部加入新的规则 |
-D num | 删除某一条规则 |
-s | 匹配来源地址,加”!”表示除这个IP地址外 |
-d | 匹配目标地址 |
–dport num | 匹配目标端口号 |
–sport num | 匹配来源端口号 |
iptables进行端口转发
第一步:开启系统的转发功能
vim /etc/sysctl.conf
将net.ipv4.ip_forward=0
修改为
net.ipv4.ip_forward=1
编辑后使用命令让配置马上生效
sysxrl -p
第二步: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使配置生效(仅适合Centos6,7默认没有安装iptables防火墙)
service iptables save
service iptables restart
多端口转发
多端口转发修改方案: ( 将本地服务器的 50000~65535 转发至目标 IP 为 1.1.1.1 的 50000~65535 端口 )
-A PREROUTING -p tcp -m tcp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
-A PREROUTING -p udp -m udp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
-A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000:65535 -j SNAT --to-source [本地服务器IP]
-A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000:65535 -j SNAT --to-source [本地服务器IP]
不同端口号修改方案(使用本地服务器的60000端口来转发目标ip为1.1.1.1的50000端口)
-A PREROUTING -p tcp -m tcp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
-A PREROUTING -p udp -m udp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
-A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000 -j SNAT --to-source [本地服务器IP]
-A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000 -j SNAT --to-source [本地服务器IP]
主机内部端口重定向
有时可能需要将访问主机的7979端口映射到8080端口,也可以iptables重定向完成
iptables -t nat -A PREROUTING -p tcp --dport 7979 -j REDIRECT --to-ports 8080
参考
https://www.cnblogs.com/ccuc/p/7497440.html
https://blog.csdn.net/e_wsq/article/details/79933232
https://www.cnblogs.com/itxiongwei/p/5871075.html
https://blog.51cto.com/13677371/2094355(命令)