web-dev-qa-db-ja.com

OpenVPNフルルーティングクライアントの問題

  1. OpenVPNを使用してAWS上にサーバーを作成します。
  2. 管理ページから完全なルーティングオプションを選択し、.ovpnをダウンロードして設定します
  3. Client.ovpnに3行追加します。 (sshフリーズの問題があるため、使用する必要があります)

    redirect-gateway def1
    up /etc/openvpn/update-resolv-conf
    down /etc/openvpn/update-resolv-conf
    

これはクライアントファイルです。

setenv FORWARD_COMPATIBLE 1
client
server-poll-timeout 4
nobind
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 443 tcp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
remote SERVER IP 1194 udp
dev tun
redirect-gateway def1
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
dev-type tun
ns-cert-type server
setenv opt tls-version-min 1.0 or-highest
reneg-sec 604800
sndbuf 0
rcvbuf 0
auth-user-pass auth.txt
# NOTE: LZO commands are pushed by the Access Server at connect time.
# NOTE: The below line doesn't disable LZO.
comp-lzo no
verb 3
setenv Push_PEER_INFO

Tunnelblickでクライアント.ovpnを試し、完全なルーティングを有効にして、問題なく接続します。 UbuntuサーバーでこのVPNを使おうとすると、物事がおかしくなり始めます。(ターミナルのみ)

UbuntuサーバーでVPNを使おうとすると、まずはそうします。

Sudo ip rule add from $(ip route get 1 | grep -Po '(?<=src )(\S+)') table 128
Sudo ip route add table 128 to $(ip route get 1 | grep -Po '(?<=src )(\S+)')/32 dev $(ip -4 route ls | grep default | grep -Po '(?<=dev )(\S+)')
Sudo ip route add table 128 default via $(ip -4 route ls | grep default | grep -Po '(?<=via )(\S+)')

そして、VPNの実行を開始します。

screen -dmS openvpn
screen -S openvpn -X stuff 'Sudo openvpn --config client.ovpn --script-security 2'$(echo -ne '\015')

面白いのは私がcurl ifconfig.coまたはインターネットを必要とすることをしようとすると、ルーティングに問題があるためできません。

これは以前は機能していましたが、何らかの理由で機能しなくなりました。私はどんな提案にもオープンです。


更新

問題はルーティングテーブルのどこかにあります。これは、VPNに接続しない場合の通常のルーティングテーブルです。

VPN以前のルーティングテーブル

これはVPNに接続した後です。

VPNルーティングテーブルの後

aaandこれは、完全にルーティングしない場合です。どのルーティングテーブルが適切であり、インターネットは正常に機能します。

VPN後は完全なルーティングテーブルがありません

2
J. Doe

追加のルーティングテーブル128で物事を複雑にせず、単にメインテーブルへのルートを配置するとどうなりますか?そのredirect-gateway def1でうまくいくはずです。

確認すべき点がいくつかあります。

  • OpenVPNゲートウェイにiptables NATが適切に設定されていますか?
  • OpenVPNゲートウェイでIP転送が有効になっていますか?
  • ゲートウェイでtcpdumpを実行して、tun0インターフェースから入ってくるものと、eth0から出ていくものの両方を確認できますか?
  • EC2インスタンス設定でSrc/Dest Checkを無効にしましたか?

OpenVPNゲートウェイの設定方法の詳細な手順を確認してください。

お役に立てば幸いです:)

1
MLu