我今天花了几个小时尝试在德国设置我的 vps(运行 centos8 和 openvpn 客户端+服务器)以实现以下配置:我的 vps 有 3 个 NIC
- eth0 具有公共 IP 地址 1.2.3.4
- tun0 的私有 IP 地址为 10.8.0.12<--这是一个 openvpn 客户端地址。
- tun1 的私有 IP 地址为 10.9.0.1<--这是一个 openvpn 服务器地址。
如果我直接从公共 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 正在运行防火墙,我已经启用了 ipv4 转发,并且我将路由推送到客户端,push "route 10.8.0.0 255.255.255.0"
我在防火墙中看到的内容是:
[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 主机的通信?谢谢您的帮助!
答案1
你好,我已经解决了观察 /etc/firewalld/direct.xml 规则中的 SNAT 的问题。
我已经删除了 SNAT,只放置了 MASQUERADE。