Firewall

PPTP Passthrough Centos 7/Firewalld 路由器到 Windows Server

  • April 20, 2021

我有一個執行 firewalld 的 Centos 7 伺服器,以允許公共服務訪問單獨 VLAN(雙 NIC)上的內部服務。我導入了一個 Windows 虛擬機,但除了打開 1723 之外,我不知道我需要製定哪些規則才能允許 GRE 通過防火牆。我在網上找到的所有問題和指南都不會在 Centos 7 機器上設置 PPTP,而不是將其傳遞給路由 IP(在本例中為 windows 伺服器)。

在允許訪問 PPTP VPN 的 rhel7 伺服器上,除了打開埠外,我還設置了以下內容:

`sudo firewall-cmd –permanent –zone=public –direct –add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT

sudo firewall-cmd –permanent –zone=public –direct –add-rule ipv6 filter INPUT 0 -p gre -j ACCEPT

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

sudo firewall-cmd –reload`

在我的 CentOS 8.3 伺服器上,建議用於 rhel7 的命令不起作用。

對我有用的命令是:

firewall-cmd --permanent --new-service=pptp

cat >/etc/firewalld/services/pptp.xml<<EOF
<?xml version="1.0" encoding="utf-8"?>
<service>
 <port protocol="tcp" port="1723"/>
</service>
EOF

firewall-cmd --permanent --zone=public --add-service=pptp
firewall-cmd --permanent --zone=public --add-masquerade
firewall-cmd --permanent --zone=public --add-protocol=gre
firewall-cmd --reload

這些命令用於打開埠,並允許 gre 協議通過。

請注意,您需要以 root 身份執行這些命令,或者在所有命令前面加上“sudo”。

引用自:https://serverfault.com/questions/837770