全球主机交流论坛
标题:
发个教程吧,使用 iptables 进行端口转发,中转小鸡
[打印本页]
作者:
legendmax
时间:
2017-6-16 19:01
标题:
发个教程吧,使用 iptables 进行端口转发,中转小鸡
本帖最后由 legendmax 于 2017-6-20 12:15 编辑
端口转发用来中转小鸡不错,iptables不仅支持单端口,连端口段也可以转发,同时TCP/UDP均可
特别注明:本地服务器 IP 未必是公网 IP ,像阿里云就是内网 IP ,请用 ipconfig 确认下走流量的网卡 IP 是外网还是内网。
第一步:开启系统的转发功能
vi /etc/sysctl.conf
将
net.ipv4.ip_forward=0
修改成
net.ipv4.ip_forward=1
编辑后使用命令让配置马上生效
sysctl -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防火墙,Debian/Ubuntu 不需要输入这个命令)
service iptables save
service iptables restart
扩展需求
多端口转发修改方案: ( 将本地服务器的 50000~65535 转发至目标 IP 为 1.1.1.1 的 50000~65535 端口 )
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
iptables -t nat -A PREROUTING -p udp -m udp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
iptables -t nat -A POSTROUTING -d 1.1.1.1 -p tcp -m tcp --dport 50000:65535 -j SNAT --to-source [本地服务器IP]
iptables -t nat -A POSTROUTING -d 1.1.1.1 -p udp -m udp --dport 50000:65535 -j SNAT --to-source [本地服务器IP]
非同端口号修改方案:(使用本地服务器的 60000 端口来转发目标 IP 为 1.1.1.1 的 50000 端口)
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
iptables -t nat -A PREROUTING -p udp -m udp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
iptables -t nat -A POSTROUTING -d 1.1.1.1 -p tcp -m tcp --dport 50000 -j SNAT --to-source [本地服务器IP]
iptables -t nat -A POSTROUTING -d 1.1.1.1 -p udp -m udp --dport 50000 -j SNAT --to-source [本地服务器IP]
查看 NAT 规则
iptables -t nat -vnL
删除 NAT 规则
通过上面的查看规则命令,查看规则后,确定你要删除的规则的顺序,下面的命令是删除
第一个
规则。
iptables -t nat -D POSTROUTING 1
iptables -t nat -D PREROUTING 1
保存 iptables 规则并开机自动配置(Debian / Ubuntu)
iptables-save > /etc/iptables-rules-ipv4
最后,我们需要编辑/etc/network/interfaces文件
vi /etc/network/interfaces
在最后加入下面一行
pre-up iptables-restore < /etc/iptables-rules-ipv4
完
内容比较水,还请各位看官见谅!
参考:https://www.91yun.org/archives/3008
作者:
allnetstore
时间:
2017-6-16 19:11
现在的注册会员很厉害啊
https://www.91yun.org/archives/3008
作者:
iQt
时间:
2017-6-16 19:13
不错,值得鼓励
作者:
RemiDre
时间:
2017-6-16 19:30
保存iptables规则那里 装一个iptables-persistent就行了
作者:
Thinker
时间:
2017-6-16 19:39
用iptables转发经常失败
作者:
Thinker
时间:
2017-6-16 19:40
用iptables转发经常失败
作者:
houset
时间:
2017-6-16 19:40
技术贴都要支持一下
作者:
guoguomiao
时间:
2017-6-16 19:57
-V-有没有办法转发给动态IP。。。
作者:
legendmax
时间:
2017-6-16 20:13
Thinker 发表于 2017-6-16 19:40
用iptables转发经常失败
可能没配置好吧,iptables比较复杂,容易出错
作者:
流河旱树
时间:
2017-6-16 20:34
有很多bug
作者:
wuxudd
时间:
2017-6-16 20:54
先不说转帖不注明的问题,难道命令不是ifconfig?
作者:
tsk
时间:
2017-6-16 21:06
技术贴,要支持一下!
作者:
gundaoao
时间:
2017-6-16 21:25
先支持
作者:
果果
时间:
2017-6-16 21:46
提示:
作者被禁止或删除 内容自动屏蔽
作者:
qishao47
时间:
2017-6-16 21:49
这个可以UDP。
作者:
墨迹
时间:
2017-7-3 13:37
正好需要这个,感谢楼主分享
作者:
xiaoxiaobai
时间:
2017-7-3 13:40
这个可以有。留个脚印以后参考!
欢迎光临 全球主机交流论坛 (https://52.ht/)
Powered by Discuz! X3.4