背景:centos
centos6系統iptables環境下:tcp
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -j DNAT --todestination 192.168.1.163:80 iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.1.162:8080 echo 1 > /proc/sys/net/ipv4/ip_forward ###同時開啓 Linux 內核轉發功能。
centos7系統firewalld環境下:centos7
開啓防火牆假裝:firewall-cmd --add-masquerade --permanent //開啓後才能轉發端口 添加轉發規則:firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.163 --permanent (PS:此規則將本機8080端口轉發到192.168.1.163的80端口上,配置完--reload才生效) 若是配置完以上規則後仍不生效,檢查防火牆是否開啓80端口,若是80端口已開啓,仍沒法轉發,多是因爲內核參數文件sysctl.conf未配置ip轉發功能,具體配置以下: vi /etc/sysctl.conf 在文本內容中添加:net.ipv4.ip_forward = 1 保存文件後,輸入命令sysctl -p生效