前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux下利用iptables快速实现UDP/TCP端口转发

Linux下利用iptables快速实现UDP/TCP端口转发

作者头像
砸漏
发布2020-10-28 16:26:25
6.7K1
发布2020-10-28 16:26:25
举报
文章被收录于专栏:恩蓝脚本

很多时候我们搭建某些服务后,发现本地连接效果不给力,但是我们有一个国内机器,由于国内机器出去走BGP线路,国内机器连接国外效果好,本地连接国内效果也不错,这样我们就可以搭建一个跳板,从国内去连接国外服务器,常见的转发有rinetd、Haproxy、iptables、socat,前面2种只能转发TCP,后面TCP/UDP都可以转发。现阶段服务器本来就包含iptables,为啥还要安装其他的软件来转发呢?

注意:CentOS7需要卸载firewall然后安装iptables。具体方法不再赘述。

开启系统的转发功能

代码语言:javascript
复制
vi /etc/sysctl.conf

将net.ipv4.ip_forward=0修改成net.ipv4.ip_forward=1

编辑后使用一下命令让配置马上生效:

代码语言:javascript
复制
sysctl -p

iptables的命令(将本地服务器的端口5000转发至目标IP为1.1.1.1)

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp --dport 5000 -j DNAT --to-destination 1.1.1.1
iptables -t nat -A PREROUTING -p udp --dport 5000 -j DNAT --to-destination 1.1.1.1
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]

端口转发修改方案:(将本地服务器的50000~65535转发至目标IP为1.1.1.1的50000~65535端口)

代码语言:javascript
复制
-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端口)

代码语言:javascript
复制
-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 60000 -j SNAT --to-source [本地服务器IP]
-A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 60000 -j SNAT --to-source [本地服务器IP]

配置后务必重启iptables使配置生效

代码语言:javascript
复制
service iptables save
service iptables restart
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档