
私は、すべてのクライアント トラフィックがサーバー経由でルーティングされる OpenVPN サーバーとクライアントを設定しようとしています。現在、クライアント経由でサーバーにアクセスできますが、サーバーで「push "redirect-gateway def1"」を有効にすると、クライアントはインターネット、VPN、またはその他の接続機能をすべて失います。さらに、LAN 接続はまだ正常ですが、サーバーに接続できなくなります。私のサーバー構成ファイルは次のとおりです。
local ***.***
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway local def1"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
そして、クライアントは次のようになります。
client
dev tun
proto tcp
remote ***.*** 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert laptop.crt
key laptop.key
ns-cert-type server
comp-lzo
verb 3
サーバー上で、IP 転送を有効にし、iptables 経由のルーティングを有効にしました。
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
しかし、クライアントは依然として VPN またはインターネット上のどこにも接続できません。
答え1
参考までに、HOWTOの関連セクションはここ、あなたはそれをすでに実行したと思いますが。
まず試したいのは「local」を削除することです。つまり、コマンドは次のようになります。
push "redirect-gateway def1"
そしてそうではない
push "redirect-gateway local def1"
ローカル フラグは、すべてのクライアントが同じサブネット上にある場合にのみ機能します。
他に注意すべき点としては、DNS トラフィックは VPN 経由でルーティングされるため、その処理を行わない限りアドレスを解決できないということです。DHCP も転送される可能性がありますが、ブリッジ VPN ではなくルーティング VPN を使用しているため、このケースではこれが発生する可能性は低いようですが、とにかく確認する価値はあるかもしれません。
答え2
新しいゲートウェイをクライアントに「プッシュ」する場合は、いくつかのルート、特にそのゲートウェイが存在するサブネットへのルートもプッシュする必要があります。これにより、VPN 経由でインターネットにアクセスできるようになります。ゲートウェイが存在するネットワークが VPN サーバーが存在するネットワークと異なる場合は、クライアントがこれらの他のネットワークにアクセスできるように、追加のルートも必要です。さらに、DNS サーバーもクライアントにプッシュする必要があります。そうしないと、クライアントは現在接続しているネットワーク上のターゲットの名前を解決できないためです。
以下は OpenVPN サーバー構成ファイルからの抜粋です。
# ルートをクライアントにプッシュしてローカルにバインドする # 仮想エンドポイント。 # 「ルート 10.180.0.1 255.255.255.255」をプッシュします # クライアントがアクセスする必要があるルートをプッシュします # ローカルネットワークへ。 # 「ルート 10.171.0.0 255.255.0.0」をプッシュします 「ルート 10.172.0.0 255.255.0.0」をプッシュします 「ルート 10.173.0.0 255.255.0.0」をプッシュします 「ルート 10.174.0.0 255.255.0.0」をプッシュします 「ルート 10.175.0.0 255.255.0.0」をプッシュします 「ルート 10.176.0.0 255.255.0.0」をプッシュします 「ルート 10.177.0.0 255.255.0.0」をプッシュします 「ルート 10.181.0.0 255.255.0.0」をプッシュします 「ルート 10.182.0.0 255.255.0.0」をプッシュします 「ルート 192.168.61.0 255.255.255.0」をプッシュします # DHCP オプションを Windows クライアントにプッシュします。 # 「dhcp-option DOMAIN our-internal-domain.com」をプッシュします 「dhcp-option DNS 10.abc」をプッシュします 「dhcp-option WINS 10.bcd」をプッシュします
これらはすべて内部ネットワークであり、新しいゲートウェイをプッシュすることもありません (ほとんどのユーザーは遠くから接続するため、デフォルト ゲートウェイを介してインターネットにアクセスする方が適切であり、当社は制御フリークではありません)。
答え3
実際、問題は NAT が正しく設定されていなかったことです。修正され、VPN は現在動作しています。