A 機器
網卡1 外網 外網IP
網卡2 内網 内網IP1
B 機器
網卡1 内網 内網IP2
如果想把公網端口P1 映射為内網B機器端口P2
A機器:
vi /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
iptables -t nat -A PREROUTING -d [A公網位址] -p tcp -m tcp --dport [公網端口] -j DNAT --to-destination [B内網IP]:[B内網端口]
iptables -t nat -A POSTROUTING -d [B内網IP] -p tcp -m tcp --dport [B内網端口] -j SNAT --to-source [A内網位址]
iptables -A FORWARD -o [A内網網卡] -d [B内網IP] -p tcp --dport [B内網端口] -j ACCEPT
iptables -A FORWARD -i [A内網網卡] -s [B内網IP] -p tcp –sport [B内網端口] -j ACCEPT
iptables-save >/etc/iptables
在rc.local中加入
iptables-restore </etc/iptables
實作重新開機後自動加載