1. 程式人生 > 其它 >Linux下實現Firewalld Net 外網埠轉發至內網

Linux下實現Firewalld Net 外網埠轉發至內網

前提條件:

  1. 公網伺服器至少需要2個網絡卡,一個配公網一個配內網。
  2. 內網伺服器網絡卡配置同公網伺服器相同內網段內網地址

如果安裝過iptables的機器,需要先停止,然後設定開機禁用:

servcie iptables stop                     --臨時關閉防火牆
chkconfig iptables off                    --永久關閉防火牆

特別注意:請勿使用yum remove iptables來解除安裝防火牆,因為iptables附帶了很多依賴檔案,這樣解除安裝會導致機器SSH丟失。

安裝firewall防火牆

yum install firewalld -y

設定開機自啟

systemctl enable --now firewalld

開啟路由轉發

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

檢查NAT轉發是否開啟

firewall-cmd --query-masquerade

如圖:

開啟NAT轉發

firewall-cmd --zone=public --permanent --add-masquerade

開啟TCP流量轉發

firewall-cmd --permanent --zone=public --add-forward-port=port=9810
:proto=tcp:toport=22:toaddr=10.10.10.3

將本地9810埠,轉發到10.10.10.3內網主機的TCP 22 埠。

重新載入Firewalld

firewall-cmd --reload

開啟UDP流量轉發(可選)

firewall-cmd --permanent --zone=public --add-forward-port=port=9810:proto=udp:toport=22:toaddr=10.10.10.3

本機Firewalld 放行9810埠

firewall-cmd --add-port=8080/tcp --permanent

內網放行22埠

firewall-cmd --add-port=22/tcp --permanent