Networking

區域之間的 Openvpn 和 Firewalld 通信

  • July 13, 2021

我今天花了幾個小時嘗試在德國設置我的 vps(執行 centos8 和 openvpn 客戶端+伺服器)以進行此配置:我的 vps 有 3 個 NIC

  • eth0,公共 IP 地址為 1.2.3.4
  • 具有私有 IP 地址 10.8.0.12 <–這是一個 openvpn 客戶端地址的 tun0。
  • 具有私有 IP 地址 10.9.0.1 <– 這是一個 openvpn 伺服器地址的 tun1。

如果我直接從公共 IP 使用 SSH 連接到 vps,或者我通過機器上的 ovpn(我在其中獲取 10.9.0.0/24 地址)連接,我可以 ping 10.8.0.0/24 子網中的所有客戶端。但是,如果我嘗試連接 vpn 並從我的機器(地址為 10.9.0.2)ping 一個地址 10.8.0.0/24,我會收到一個Request Timeout. 現在在這個 vps 中執行 firewalld 並且我已經啟用了 ipv4 轉發並且我將路由推送到客戶端push "route 10.8.0.0 255.255.255.0" 我在 firewalld 中看到的是:

[root@bigiron-fsn1-2 log]# firewall-cmd --list-all --zone=trusted
trusted (active)
 target: ACCEPT
 icmp-block-inversion: no
 interfaces: tun1
 sources: 10.9.0.0/24 fddd:1194:1194:1194::/64
 services: openvpn
 ports:
 protocols:
 masquerade: no
 forward-ports:
 source-ports:
 icmp-blocks:
 rich rules:
   rule family="ipv4" source address="10.9.0.0/24" destination address="10.8.0.0/24" accept
[root@bigiron-fsn1-2 log]# firewall-cmd --list-all --zone=public
public (active)
 target: default
 icmp-block-inversion: no
 interfaces: eth0 tun0
 sources:
 services: cockpit dhcpv6-client openvpn ssh
 ports: 1194/udp
 protocols:
 masquerade: no
 forward-ports:
 source-ports:
 icmp-blocks:
 rich rules:
   rule family="ipv6" source ipset="sshguard6" drop
   rule family="ipv4" source ipset="sshguard4" drop
   rule family="ipv4" source address="10.8.0.0/24" accept
   rule family="ipv4" source address="10.9.0.0/24" destination address="10.8.0.0/24" accept

如何啟用從 10.9.0.0/24 到 10.8.0.0/24 主機的通信?感謝您的幫助!

嗨,我已經解決了在我的 /etc/firewalld/direct.xml 規則中查看 SNAT 的問題。

我已經刪除了 SNAT,只放了 MASQUERADE。

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