iptables 做 ssh 登錄的端口轉發


使用 ssh 登錄A機器(IP:1.1.1.1) 的 2333 端口,可以自動跳轉到 B機器(IP:2.2.2.2)上,其中B機器的 ssh 登錄端口就是默認的 22。

首先確保幾個條件:

1. iptables 端口轉發打開了, 改 /etc/sysctl.conf 這個文件,把 net.ipv4.ip_forward=1 這句話的注釋取消。

2. 兩台機器可以聯通

3. iptables 的 filter 下面的 FORWARD 默認策略要是 ACCEPT

然后在 A機器上運行下面兩個命令:

1 iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 2333 -j DNAT --to-destination 2.2.2.2:22
2 
3 iptables -t nat -A POSTROUTING -d 2.2.2.2 -p tcp --dport 22 -j SNAT --to 1.1.1.1

數據包首先進入 PREROUTING 鏈,更改數據包的目標地址,然后在 POSTROUTING 上再把源地址改成本機IP。關於數據包進入這幾個鏈的順序,搜一搜就可以知道了,值得了解一下。

注意,在A機器上配置時不要自作聰明把本機IP寫成 127.0.0.1 或者 192.168.0.1,就寫成實際的 IPv4 地址就行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM