centos6-centos7防火牆(iptables-firewalld)設置端口nat轉發


 

 

背景:

將本機的 8080端口轉發至其他主機,主機 IP:192.168.1.162,目標主機 IP和端口192.168.1.163:80,方法如下:

centos6系統iptables環境下:

   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環境下:

開啟防火牆偽裝: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生效

 


免責聲明!

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



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