在工作環境中接觸到iptables有時候需要進行端口轉發功能,例如我本機不開放那些端口的,但可以使用它來進行轉發到使用的端口上。下面小編給大家介紹一下如何使用iptables進行本地端口轉發。希望對大家有所幫助 。
1、首先登陸我們的內網服務器,工作機不能隨便拿來用的。
2、再查看一下我們系統裡當前使用的端口情況
3、從上圖可以查看到我們系統裡邊的22端口和25是使用的。
下面我開啟一下系統的ip轉發功能:echo 1 > /proc/sys/net/ipv4/ip_forward
4、我們也可以通過編輯 /etc/sysctl.conf文件來啟用ip轉發,然後再使用sysctl命令生效。
5、例如我們將連接服務器 43999端口的連接都轉發到22端口上面去,可以使用下面的命令
iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.31.147 --dport 43999 -j DNAT --to 192.168.31.147:22
6、這樣就可以實現在外面也可以通過43999端口連接ssh了。其實我們的43999端口是在系統裡沒有開的,但通過轉發就可以使用了。
7、以上只是使用了在外面的情況,但如果在服務器裡邊是使用不到43999端口的。
8、這裡我們還可以在裡邊進行設置本地轉發。
9、再從本地進行測試,也是可以連接了,雖然端口是沒有開啟的。
注意事項:
iptables轉發功能需要系統的支持才行,如果系統不開啟,即使設置了也沒有用。