openvpn-clientの後に公開されたdockerポートの戻りパス

openvpn-clientの後に公開されたdockerポートの戻りパス

コンテナを実行しているサーバーのリモートIPであるVPNを介してルーティングされる発信トラフィックを持つDockerコンテナにアクセスしようとしています。以下のテスト環境でイカサーバーにアクセスするには、リバースプロキシを使用する必要があります。リバースプロキシなしでVPNコンテナにポートを公開すると、openvpnのルーティングによって要求が応答せずに中断されます0.0.0.0/1 via 10.8.8.1 dev tun0

netstat #inside vpn
tcp        0      0 :::3128                 :::*                    LISTEN
tcp        0      0 ::ffff:172.17.0.2:3128  ::ffff:{remote_ip}:49936 SYN_RECV

リモートIP接続を介して特定のポートへのリターンパスを提供するには、VPNコンテナ内にどのルールまたはパスを追加する必要がありますか?各オープンポートを指定せずに、サーバーのリモートIPのすべての接続に対してグローバルルールを使用すると、これを達成できますか?これらのルールは、VPNを介してルーティングする必要がある追加のコンテナからのトラフィックを妨げてはいけません。
よろしくお願いします!

version: "3.4"

services:
  vpn:
    container_name: vpn
    image: dperson/openvpn-client
    cap_add:
      - net_admin
    volumes:
      - /dev/net:/dev/net:z
      - ./vpn.ovpn:/vpn/vpn.conf
    dns:
      - 1.1.1.1
    #ports:
    # - "3128:3128"

  vpn_squid:
    image: sameersbn/squid
    volumes:
    - ./squid.conf:/etc/squid/squid.conf
    depends_on:
    - vpn
    network_mode: "service:vpn"

  tcp_proxy:
    container_name: tcp_proxy
    image: tecnativa/tcp-proxy
    environment:
      LISTEN: ":3128"
      TALK: "vpn:3128"
    ports:
      - "3128:3128"

networks:
  default:

ベストアンサー1

ip rule add from 172.22.0.3 lookup 10
ip route add default via 172.22.0.1 table 10

これは成功しました。ここで、172.22.0.3はVPNコンテナのIPです。
に基づいてこれ答え。

おすすめ記事