VPNが起動するとインターネットが機能しない

VPNが起動するとインターネットが機能しない

VPN経由ですべてのトラフィックをリダイレクトしたいのですが、まったく機能しません。

仕える人:RT-N16 [TomatoUSB v1.28.0000 MIPSR2-112 K26 USB AIO]

顧客: Ubuntu 14.04.1

サーバー構成:

#自動生成された設定
悪魔
サーバー 10.8.0.0 255.255.255.0
ネイティブTCPサーバー
ポート 9999
tun21開発
パスワードAES-256-CBC
比較番号
活動的に過ごす 15 60
動詞3
「パス 192.168.1.0 255.255.255.0」を押します。
「dhcp -options DNS 192.168.1.1」プッシュ
「リダイレクトゲートウェイ def1」をクリックします。
ca.crt
DH-PEM
証明書サーバー.crt
キーサーバー。キー
ステータスバージョン2
状態状態
#カスタム設定(この部分が主な修正であるようです):
顧客対顧客
「comp-lzo」を押してください。
「リダイレクトゲートウェイ」をクリックします。

サーバー:(iptables -L -t nat -nちょうどPOSTROUTING出力チェーン)

チェーンPOSTROUTING(ポリシー承認)
ターゲット保護の選択ソースターゲット         
すべて変装 - 0.0.0.0/0 0.0.0.0/0           
SNATすべて - 192.168.1.0/24 192.168.1.0/24〜:192.168.1.1

サーバーログ:

2月4日 21:19:38 r daemon.notice openvpn[1072]: [AF_INET]192.168.1.4:58170とTCP接続設定中
2月4日 21:19:39 r daemon.notice openvpn[1072]: 192.168.1.4:58170 TLS: [AF_INET]の初期パケット 192.168.1.4:58170, sid=00fe8a02 3
2月4日 21:19:39 r daemon.notice openvpn[1072]: 192.168.1.4:58170 確認 正常: XXXXXXXXXXXXXXXXXX
2月4日 21:19:39 r daemon.notice openvpn[1072]: 192.168.1.4:58170 確認 正常: XXXXXXXXXXXXXXXXXX
2月4日 21:19:40 r daemon.notice openvpn[1072]: 192.168.1.4:58170 データチャネル暗号化: 256ビットキーで初期化されたパスワード「AES-256-CBC」
2月4日 21:19:40 r daemon.notice openvpn[1072]: 192.168.1.4:58170 データチャネル暗号化: 160ビットメッセージハッシュ「SHA1」を使用したHMAC認証
2月4日 21:19:40 r daemon.notice openvpn[1072]: 192.168.1.4:58170 データチャネル復号化: 256ビットキーを使用してパスワード「AES-256-CBC」を初期化
2月4日 21:19:40 r daemon.notice openvpn[1072]: 192.168.1.4:58170 データチャネル復号化: 160 ビットメッセージハッシュ「SHA1」を使用した HMAC 認証
2月4日 21:19:40 r daemon.notice openvpn[1072]: 192.168.1.4:58170 制御チャネル: TLSv1, パスワード TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048ビット
2月4日 21:19:40 r daemon.notice openvpn[1072]: 192.168.1.4:58170 [クライアント] [AF_INET] 192.168.1.4:58170 を使用してピア接続を開始
2月4日 21:19:40 r daemon.notice openvpn[1072]: client/192.168.1.4:58170 MULTI_sva: プールから IPv4=10.8.0.6, IPv6=(有効になっていない) を返しました。
2月4日 21:19:40 r daemon.notice openvpn[1072]: client/192.168.1.4:58170 MULTI: 学習: 10.8.0.6 -> client/192.168.1.4:58170
2月4日 21:19:40 r daemon.notice openvpn[1072]: client/192.168.1.4:58170 MULTI: client/192.168.1.4:58170: 基本仮想 IP 10.8.0.6
2月4日 21:19:43 r daemon.notice openvpn[1072]: client/192.168.1.4:58170 PUSH: 受信した制御メッセージ: 'PUSH_REQUEST'
2月4日 21:19:43 r daemon.notice openvpn[1072]: client/192.168.1.4:58170 send_push_reply(): safe_cap=940
2月4日 21:19:43 r daemon.notice openvpn[1072]: client/192.168.1.4:58170 SENT CONTROL [クライアント]: 'PUSH_REPLY,route 192.168.1.0 255.15 .1.1、リダイレクト - ゲートウェイ def1、ルート 10.8.0.1、トポロジ net30、ping 15、ping-restart 60、ifconfig 10.8.0.6 10.8.0.5' (状態 = 1)

クライアント構成:

顧客
リモート 192.168.1.1 9999
ca.crt
証明書クライアント.crt
キークライアント。キー
パスワードAES-256-CBC
カパトゥーン
生TCP
ノバインダー
認証ノーキャッシュ
スクリプトセキュリティ2
永久キー
主張する
ユーザーなし
グループグループなし

クライアント:(netstat -nrVPN有効):

カーネルIPルーティングテーブル
ターゲットゲートウェイ Genmask フラグ MSS ウィンドウ irtt Iface
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
10.8.0.1 10.8.0.5 255.255.255.255 ウープ 0 0 0 tun0
10.8.0.5 0.0.0.0 255.255.255.255 語 0 0 0 tun0
128.0.0.0 10.8.0.5 128.0.0.0UG 0 0 0 tun0
192.168.1.0 10.8.0.5 255.255.255.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 ユー 0 0 0 wlan0
192.168.1.1 192.168.1.1 255.255.255.255 ウープ 0 0 0 wlan0

クライアントログ:

Wed Feb 4 21:32:24 2015 OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] 2014年12月1日構築
2015年2月4日水曜日21:32:24警告:サーバー証明書の確認方法が有効になっていません。詳しくはhttp://openvpn.net/howto.html#mitmをご覧ください。
2015年2月4日水曜日21:32:24注:UID / GIDダウングレードは、--client、--pull、または--up-delayによって遅延されます。
2015年2月4日水曜日21:32:24 [AF_INET] 192.168.1.1:9999 [nonblock]とTCP接続を確立しようとしました。
2015年2月4日水曜日21:32:25に[AF_INET]192.168.1.1:9999とTCP接続を確立しました。
2月4日水曜日 21:32:25 2015 TCPv4_CLIENT ローカルリンク: [undef]
2015年2月4日水曜日21:32:25 TCPv4_CLIENTリンクリモート:[AF_INET] 192.168.1.1:9999
Wed Feb 4 21:32:26 2015 [zais.dnsd.me] [AF_INET]192.168.1.1:9999を使用してピア接続を開始
2015年2月4日水曜日 21:32:29 TUN/TAP デバイス tun0 が開かれました。
2月4日水曜日 21:32:29 2015 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
2015年2月4日水曜日 21:32:29 /sbin/ip リンク設定 dev tun0 up mtu 1500
2月4日水曜日21:32:29 2015 /sbin/ipアドレスを追加dev tun0ローカル10.8.0.6ピア10.8.0.5
2月4日水曜日21:32:29 2015 GIDがグループなしに設定されています
2015年2月4日水曜日21:32:29 UIDなしに設定
2015年2月4日水曜日 21:32:29 初期化シーケンス完了
2015年2月4日水曜日21:32:43 TUN / TAP書き込み:無効なパラメータ(コード= 22)
2015年2月4日水曜日21:32:58 TUN / TAP書き込み:無効なパラメータ(コード= 22)
2015年2月4日水曜日21:33:13 TUN / TAP書き込み:無効なパラメータ(コード= 22)
2015年2月4日水曜日21:33:28 TUN / TAP書き込み:無効なパラメータ(コード= 22)

修正する:助けてくれてありがとう。 VPNは現在動作しています(どのように動作するかわかりませんが、実際に動作するには接続後約5分待つ必要があります。CPU / MEMが不足しているなど、ルータの制限が原因である可能性があります)。

ベストアンサー1

何らかの理由でトンネルが開いている間、クライアントは現在のデフォルトパスを削除できないため、ルーティングテーブルに2つのデフォルトパスが作成されます。

トンネルが表示される前に、現在のパスに低いメトリック(より高い数値)を指定するだけです。 Route -nコマンドを使用して指標を表示できます。

# route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.4.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.3.0     10.8.1.2        255.255.255.0   UG    0      0        0 tun0
9.15.64.0       0.0.0.0         255.255.252.0   U     0      0        0 eth0
0.0.0.0         9.15.64.1       0.0.0.0         UG    0      0        0 eth0

たとえば、WLAN インターフェイスのメトリックは 20、トンネル パスのメトリックは 0 です。あなたの交通はすべてトンネルに沿ってルーティングされます。

インターフェイスでメトリックを設定するには、/etc/sysconfig/network-scriptsディレクトリでwlanインターフェイスファイルを開き、METRIC = 20というパラメータを追加します。

これは可能です。後で Route -n コマンドを使用して確認します。

修正する:

これで正しいデフォルトパスがあるので、tcpdumpとpingを使って問題を解決しましょう。たとえば、次のコマンドを試して、リモートネットワークに対していくつかのpingを実行してみてください。

# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
09:59:13.591764 IP 192.168.4.190 > 192.168.3.1: ICMP echo request, id 3154, seq 4, length 64
09:59:13.681290 IP 192.168.3.1 > 192.168.4.190: ICMP echo reply, id 3154, seq 4, length 64
09:59:14.592829 IP 192.168.4.190 > 192.168.3.1: ICMP echo request, id 3154, seq 5, length 64
09:59:14.680878 IP 192.168.3.1 > 192.168.4.190: ICMP echo reply, id 3154, seq 5, length 64

私の考えでは、エコー要求は見ることができますが、エコー応答は見ることができないようです。これは、リモートエンドポイントがパケットを再ルーティングしないことを意味します。また、サーバー構成ファイルでルーティングを変更する必要があります。

アップデート2

クライアントがトンネルを介してパケットをルーティングしていることは tcpdump で明らかであるため、問題はパケットを再ルーティングしないリモート側にあります。

listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
09:19:28.964361 IP 10.8.0.6.57394 > 192.168.1.1.domain: 60317+ A? daisy.ubuntu.com.localdomain. (46)
09:19:28.964382 IP 10.8.0.6.57394 > 8.8.8.8.domain: 60317+ A? daisy.ubuntu.com.localdomain. (46)
09:19:28.964398 IP 10.8.0.6.57394 > 8.8.4.4.domain: 60317+ A? daisy.ubuntu.com.localdomain. (46)

ルーティングテーブルで何が起こっているかを確認するには、各ホップを確認する必要があります。 192.168.1.1から始まります。 10.8.0.6に送信されたパケットをどこにルーティングするかを知っていますか?

おすすめ記事