区域之间的Openvpn与Firewalld通信

区域之间的Openvpn与Firewalld通信

我今天花了几个小时尝试在德国设置我的 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。

相关内容