Linux下使用iptables进行本地端口转发

本机16688端口不开放,如何在Linux下使用iptables进行本地端口转发到已经开放的端口上,如下:

1、查看端口使用的情况

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端口的。

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)?

更多iptables相关教程见以下内容

猜你喜欢

转载自www.linuxidc.com/Linux/2015-12/125872.htm