Linux系统端口映射(路由转发)
Linux系统端口映射(路由转发)
wilim2009 发表于5个月前
Linux系统端口映射(路由转发)
  • 发表于 5个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

Linux系统端口映射(路由转发),首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0。

启用网卡转发功能

# echo 1 >/proc/sys/net/ipv4/ip_forward

这样允许iptalbes FORWARD。

此规则及时生效,但重启后就失效了,需要在配置文件里添加

vim /etc/sysctl.conf

复制代码

net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
#每个消息队列的最大字节限制
kernel.msgmax = 65536
#每个消息的最大size
kernel.shmmax = 68719476736
#内核参数定义单个共享内存段的最大值
kernel.shmall = 4294967296
#控制共享内存页数
# sysctl –p(使之立即生效)

默认值0是禁止ip转发,修改为1即开启ip转发功能。

配置端口转发

vi /etc/sysconfig/iptables 添加*nat段

*nat

:PREROUTING ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A PREROUTING -d 202.168.349.101 -p tcp --dport 16688 -j DNAT --to-destination 192.168.2.35:16688

-A POSTROUTING -d 192.168.2.35 -p tcp --dport 16688 -j SNAT --to 192.168.2.55

COMMIT

其中,202.168.349.101为外网ip,192.168.2.35为内网ip,16688为做转发的端口,192.168.2.55为转发到的目标ip

重启iptables

service iptables restart

测试转发

telnet 192.168.2.35 16688

 

本机端口转发

如果只需要在本机间不同的端口转发就比较容易了,比如 访问 http://ip:729 我想返回 http://ip:80 的内容,配置如下:

[root@localhost sbin]# iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80 [root@localhost sbin]# service iptables save [root@localhost sbin]# service iptables restart

 

共有 人打赏支持
粉丝 1
博文 8
码字总数 6853
×
wilim2009
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: