Centos
在 Centos 7 上配置 OpenVPN 以使用 Firewalld 而不是 iptables
我需要在 Centos 7 上使用
firewalld
.我在 Centos 6.5 上使用了 iptables,只需將以下幾行添加到
/etc/sysconfig/iptables
:-A POSTROUTING -s "10.0.0.0/24" -o "wlan0" -j MASQUERADE -A FORWARD -p tcp -s 10.0.0.0/24 -d 0.0.0.0/0 -j ACCEPT run the command: echo 1 > /proc/sys/net/ipv4/ip_forward open port 443.
使用
firewall-cmd
命令。假設您在預設區域上向 OpenVPN 開放防火牆,請執行以下命令。如果您在非預設區域上執行它,請添加
--zone=<zone>
到命令中。注意:如果您
public
為面向外部的網路適配器使用預設區域,那麼您的環回介面也可能被偽裝(取決於您正在執行的版本firewalld
),如果您正在執行訪問的服務(例如 mySQL),這可能會導致問題本地。首先,列出目前打開的內容:
# firewall-cmd --list-services http https ssh
接下來,添加
openvpn
服務:# firewall-cmd --add-service openvpn success
快速檢查:
# firewall-cmd --list-services http https openvpn ssh
以上將允許
openvpn
工作,您現在可以對其進行測試。但是,它不會持續重啟。要使其永久化,請添加--permanent
選項:# firewall-cmd --permanent --add-service openvpn` success
請注意,最後一條命令在下次重新啟動之前不會打開埠,因此您需要同時使用這兩個命令。
最後,添加偽裝:
# firewall-cmd --add-masquerade success
並在重新啟動後使其永久化:
# firewall-cmd --permanent --add-masquerade success
確認它:
# firewall-cmd --query-masquerade yes
請注意,如果您的傳入 OpenVPN 連接與面向 Internet 的連接位於不同的區域,則偽裝應該在後者上,您需要使用該
--zone=<zone>
選項和--add-masquerade
命令。