1. 方法一使用firewalld
1.1 開啟偽裝IP
firewall-cmd --permanent --add-masquerade
1.2 配置端口轉發,將到達本機的12345端口的訪問轉發到另一臺服務器的22端口
firewall-cmd --permanent --add-forward-port=port=12345:proto=tcp:toaddr=192.168.172.131:toport=22
1.3 重新載入,使其失效
firewall-cmd --reload
2. 方法二配置iptables
其實firewalld也是基于iptables的
2.1 開啟數據轉發功能
vi /etc/sysctl.conf
2.2 增加一行
net.ipv4.ip_forward=1
2.3 使數據轉發功能生效
sysctl -p
2.4 將本地的端口轉發到本機端口
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j REDIRECT --to-port 22
2.5 將本機的端口轉發到其他機器
iptables -t nat -A PREROUTING -d 192.168.172.130 -p tcp --dport 8000 -j DNAT --to-destination 192.168.172.131:80
或者
iptables -t nat -A POSTROUTING -d 192.168.172.131 -p tcp --dport 80 -j SNAT --to 192.168.172.130
2.6 清空nat表的所有鏈
iptables -t nat -F PREROUTING