Openvpn:服务器无法 ping 忽略重定向网关的客户端

Openvpn: Server cannot ping a client which ignore redirect-gateway

我在从我的 vpn 服务器 ping 客户端时遇到问题(而不是其他方式)。

我有一个 openvpn 服务器10.8.0.1/16.

我有一个 客户端 1,其中所有流量都通过 VPN 路由:10.8.1.9/16。此客户端 1 没问题:一切正常

我有一个 客户端 2 (10.8.1.3/16),我希望流量不通过 VPN 路由,但是可访问的机器。 这个client 2,10.8.1.3,可以ping通server -> 10.8.0.1 ping ok。 但是,服务器无法 ping 通客户端 2...:(

我找了 2 天,尽管阅读了文档和其他帖子,但还是找不到。

有人有想法吗?

这是我的配置。 服务器:

    server 10.8.0.0 255.255.0.0
    dev tun
    topology subnet
    cipher AES-256-GCM
    auth SHA256
    verb 3
    # keys here
    # ...
    ###
    key-direction 0
    keepalive 10 60
    persist-key
    persist-tun
    proto udp
    # Rely on Docker to do port mapping, internally always 1194
    port 1194
    dev tun0
    status /etc/openvpn/openvpn-status.log
    user nobody
    group nogroup
    #comp-lzo no
    ### Route Configurations Below
    ### Push Configurations Below
    push "block-outside-dns"
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 172.8.0.1"
    push "dhcp-option DNS 208.67.222.222"
    push "dhcp-option DNS 208.67.220.220"
    # Pour indiquer le chemin des fichiers config des clients
    client-config-dir /etc/openvpn/ccd
    # Pour interdire la connexion de client sans fichier config
    ccd-exclusive
    # Pour autoriser openvpn-monitor
    management 0.0.0.0 5555
    ifconfig-pool-persist ipp.txt
    explicit-exit-notify 1

路线table:

default via 10.255.255.1 dev ens192
10.8.0.0/16 via 172.8.0.2 dev br-2222222222
10.255.255.1 dev ens192 scope link
172.8.0.0/24 dev br-2222222222 proto kernel scope link src 172.8.0.1
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

正如您在此路由 table 中所见,VPN 流量 (10.8.0.0/16) 通过 172.8.0.2 路由。事实上,我的 openvpn 运行 在 docker.

我的客户端 2 (10.8.1.3) VPN 配置:

    client
    nobind
    dev tun
    remote-cert-tls server
    cipher AES-256-GCM
    auth SHA256
    remote my-server-vpn.com 1194 udp
    key-direction 1
    # To not consider the server redirect-gateway in order to avoid all traffic through VPN Gateway
    pull-filter ignore "redirect-gateway"

路由 table 客户端 2 (10.8.1.3)(当客户端 vpn 为 运行ning 时):

default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.3 metric 100
10.8.0.0/16 dev tun0 proto kernel scope link src 10.8.1.3
<my-server-vpn-ip> via 192.168.1.1 dev eth0
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.18.0.0/16 dev br-1111111111 proto kernel scope link src 172.18.0.1
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.3 metric 100
192.168.1.1 dev eth0 proto dhcp scope link src 192.168.1.3 metric 100

从 10.8.1.3 ping 到 10.8.0.1 成功 从 10.8.0.1 ping 到 10.8.1.3 KO

希望有人能帮助我

非常感谢!

我找到了解决方案:

# From my client2, to see the ping request
tcpdump icmp
# From my server, exec the ping
ping 10.8.1.3

在我的客户端 2 上,此命令告诉我 ping 到达地址 172.8.0.1。因此,我在 client2 配置文件中添加了以下行:

route 172.8.0.1 255.255.255.0

这解决了我的问题,现在我可以从服务器 ping client2。