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 -nr
VPN有効):
カーネル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に送信されたパケットをどこにルーティングするかを知っていますか?