web-dev-qa-db-ja.com

OpenVPNは接続されていますが、インターネットやLANは接続されていません

こんばんは、

OpenVPNのインストールで問題が発生しています。 3日間ここにいるが、それでも私の人生の何が悪いのかわからない...

基本的に問題は、クライアント(win 7 pc)からサーバー(ubuntu 14.04専用ボックス)に接続できることですが、接続しているのにインターネットとLANにアクセスできません(10.0でサーバーにpingできない) .0.1)。

サーバーにIP転送をセットアップし、知る限りiptableルールを追加し、ルーターにポート転送をセットアップしました。しかし、それを正常に機能させることができません。

私はまだopenvpnに慣れていないので、すべての助けをいただければ幸いです。貴重なお時間をありがとうございました。

私のserver.conf、client.conf、およびiptableルールのコピーを以下で見つけてください。

Server.conf

dev tun
proto udp
port 1194
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
client-to-client
Push "route 192.168.0.0 255.255.255.0"
Push "redirect-gateway def1"
Push "dhcp-option DNS 8.8.8.8"
log-append /var/log/openvpn
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn
client-cert-not-required
username-as-common-name
management localhost 7505

IPテーブル

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:openvpn

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  192.168.0.0/24       anywhere             ctstate NEW
ACCEPT     all  --  10.8.0.0/24          anywhere             ctstate NEW
ACCEPT     all  --  10.8.0.0/24          192.168.0.0/24       ctstate NEW

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Client.conf

client
dev tun
proto udp
remote 196.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
verb 3
3
BootFracture

概要:

  • リモートLANは192.168.0.0/24です。

  • OpenVPNネットワークは10.8.0.0/24です。

  • OpenVPNクライアントは10.8.0.0/24でIPを取得します。 10.8.0.42だとしましょう。

リモートLANと通信しようとしています:

  • OpenVPNクライアントがリモートLANのIP(たとえば、192.168.0.56)にパケットを送信すると、送信元アドレス10.8.0.42で送信され、OpenVPNサーバーに到達します。

  • OpenVPNサーバーは、IP転送を有効にしない限り、それをドロップしますsysctl -w net.ipv4.ip_forward=1)。

  • IP転送が有効になっている場合、192.168.0.56はパケットを受信し、10.8.0.42にパケットを送信して応答しようとしますが、ルートがありません。代わりに、デフォルトゲートウェイを使用します。 OpenVPNサーバーがたまたまデフォルトゲートウェイでない限り、パケットは失われます。リモートマシン上のルートはip route get 10.8.0.42で確認できます。

可能な解決策:

  • lAN内の各ノード10.8.0.0/24へのルートを追加します(ip route add 10.8.0.0/24 via $ip_of_vpn_server);

  • デフォルトゲートウェイの10.8.0.0/24へのルートを追加する

    • パケットは、OpenVPNサーバーに直接到達するのではなく、ルーターに無駄なジャンプをします。

    • しかし、ルーターでsend_redirectsが有効になっていて、LANノードでaccept_redirectsが有効になっている場合、ルーターはICMPリダイレクトを送信してより適切なルートを示し、LANノードはこのルートを後で使用する必要があります。

  • セットアップNAT OpenVPNサーバーで10.8.0.0/24アドレスを非表示にするため。

OpenVPNクライアントからパブリックIPに到達しようとすると、同じ問題が発生します。

  • 最初または2番目のソリューションを使用した場合は、リモートLANのルーターによって10.8.0.0/24が適切にNAT処理されていることを確認する必要があります。

  • openVPNサーバーでNATを使用した場合、他に何もする必要はありません。

2番目のソリューションを使用することをお勧めします。少ないNATあなたはより良いです。

1
ysdx

VPNがあるからといって、すぐに接続できるとは限りません。そのVPNを介してトラフィックをルーティングするには、クライアントに「伝える」必要があります。 10.0.0.1に接続しようとして、クライアントが別のネットワークにある場合、クライアントはデフォルトゲートウェイと通信しようとします。代わりに、VPN接続と通信するように指示する必要があります。

管理者CMDで:

route add <remote network> <VPN IP>
0
mzhaase

VPNサーバーに接続できる場合は、サーバー/クライアントが通信できるように正しく設定されている可能性が高いです。その後、問題はIPとルーティングの1つになります。私は通常、confファイルを使用するのではなく、openvpnサーバーにpfsenseを使用していますが、効果は同じです。

Openvpnを使用するたびに、x.x.x.2に接続したことがなく、x.x.x.1にpingを実行できます。それは私かもしれませんが、それは常に.6と.5のルーターから始まるのを見ました

  1. VPNに接続したら、IPアドレスを確認します。 ipconfig

  2. 接続中にルーティングテーブルを確認してくださいroute print

  3. vPN IPとVPN上のゲートウェイにpingできるかどうかを確認します。それはあなたの場合かもしれません10.8.0.5

あなたが役立つかもしれないあなたのIPv4ルートを投稿することができるなら。問題がどこにあるかを絞り込むことができます。

0
grag42