Linux下實現Firewalld Net 外網埠轉發至內網
阿新 • • 發佈:2021-06-10
前提條件:
- 公網伺服器至少需要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