Вот моя инфраструктура:
dns of mydomain.com:
  vpn A 90.90.90.1
  vpn A 90.90.90.2
client vpn config:
  client
  dev tun
  proto udp
  nobind
  remote vpn.mydomain.com 1394
server1
  net.ipv4.ip_forward = 1
  iptables:
    FORWARD defaults to ACCEPT
  vpn config:
    dev tun
    topology subnet
    port 1394
    proto udp
    server 10.10.1.0 255.255.255.0
    push "route 10.90.90.0 255.255.255.0"
  interfaces:
    ifpub: 90.90.90.1/24
    ifpriv: 10.90.90.1/24
    ifvpn: 10.10.1.1/24
  routes:
    10.10.1.0/24 src 10.10.1.1 dev ifvpn
    10.10.2.0/24 via 10.90.90.2 dev ifpriv
server2
  net.ipv4.ip_forward = 1
  iptables:
    FORWARD defaults to ACCEPT
  vpn config:
    dev tun
    topology subnet
    port 1394
    proto udp
    server 10.10.2.0 255.255.255.0
    push "route 10.90.90.0 255.255.255.0"
  interfaces:
    ifpub: 90.90.90.2/24
    ifpriv: 10.90.90.2/24
    ifvpn: 10.10.2.1/24
  routes:
    10.10.1.0/24 via 10.90.90.1 dev ifpriv
    10.10.2.0/24 src 10.10.2.1 dev ifvpn
Проблема в том, что с моего клиента я могу пропинговать сервер OpenVPN, к которому я подключен, но не другой сервер в подсети 10.90.90.0/24.
tcpdump показывает, что запрос ICMP переходит от ifvpn к ifpriv на том же сервере, но затем пакет запроса ICMP никогда не идет дальше.
Добавление регистрации в iptables также показывает, что пакет запроса ICMP переходит в состояние POSTROUTING без потери, но затем пакет так и не дошел до места назначения, и я не знаю, что здесь происходит, у меня нет решений.
Я знаю, что могу маскировать свои пакеты, но не хочу, потому что это не рекомендуется (https://community.openvpn.net/openvpn/wiki/NatHack), иначе это будет мое самое последнее решение.
