首页 > 系统服务 > 详细

linux如何使用iptables进行本地端口转发

时间:2015-12-04 15:03:56      阅读:330      评论:0      收藏:0      [点我收藏+]

本机16688端口不开放,如何转发到已经开放的端口上,如下:

1、查看端口使用的情况

[root@tstest ~]# netstat -ntal
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.2.177:53            0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.2.35:53             0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:953               0.0.0.0:*                   LISTEN      
tcp        0      0 192.168.2.35:22             192.168.2.165:49574         ESTABLISHED
tcp        0      0 :::8080                     :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
tcp        0      0 ::1:953                     :::*                        LISTEN

2、启用 gate 转发

编辑 /etc/sysctl.conf,设置

net.ipv4.ip_forward = 1

执行:

# sysctl -p

3、例:添加*nat规则,连接服务器的1668端口,转发到22端口上

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A PREROUTING -p tcp -i eth0 -d 192.168.2.35 --dport 16688 -j DNAT --to 192.168.2.35:22

COMMIT

4、telnet 测试

5、以上只是使用了在外面的情况,但如果在服务器里边是使用不到43999端口的。

[root@tstest ~]# ssh 192.168.2.35 -p 16688
ssh: connect to host 192.168.2.35 port 16688: Connection refused

6、这里我们还可以在里边进行设置本地转发。

iptables -t -A OUTPUT -p tcp -d 192.168.2.35 --dport 16688 -j DNAT --to 127.0.0.1:22


7、再从本地进行测试,也是可以连接了,虽然端口是没有开启的。

ssh 192.168.2.35 -p 16688
The authenticity of host ‘[192.168.2.35]:16688 ([192.168.2.35]:16688)‘ can‘t be established.
RSA key fingerprint is 13:02:d6:d5:49:e7:05:ce:48:c8:56:d9:b8:b2:06:38.
Are you sure you want to continue connecting (yes/no)?



本文出自 “广州linux运维” 博客,请务必保留此出处http://milenovo.blog.51cto.com/10554394/1719457

linux如何使用iptables进行本地端口转发

原文:http://milenovo.blog.51cto.com/10554394/1719457

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!