最近、自宅に VPN を設定しました (Ubuntu ホストと PPTP を使用、下部のリンクを参照)。これにより、どこにいてもサーバーにアクセスできるようになりました。これまでのところ、期待どおりに動作しています。VPN 経由で接続しているリモート コンピューターは、ネットワーク上のどのコンピューターにもアクセスできるように設定しました。問題は、VPN 経由で接続しているコンピューターに、ネットワーク内のどのコンピューターからもアクセスできないことです。
コンピュータ1のIPアドレスが192.168.0.10で物理的にネットワーク上にあり、コンピュータ2のIPアドレスが[訂正、192.168.0.101192.168.1.101 ではありません (すべてが同じサブネット上にあります)。VPN 経由で接続されています。
コンピュータ 2 はコンピュータ 1 に ping を実行して Windows 共有にアクセスできますが、何らかの理由でコンピュータ 1 はコンピュータ 2 に ping を実行できず、Windows 共有にもアクセスできません。
確かに、これは私が当初望んでいた目的 (コンピュータ 2 がネットワークにアクセスできるようにする) には機能しますが、ネットワーク上で他のコンピュータと同じように表示され、他のすべてのコンピュータ (VPN 経由で接続された他のコンピュータを含む) に ping でき、他のすべてのコンピュータがそれに ping できる場合、いくつかの潜在的な用途があると思います。
これを修正するにはどうすればいいか、何かアドバイスはありますか? これは単に VPN の動作方法によるもので、実際には問題はないのでしょうか?
私は以下のガイドを使用しました:http://forums.bit-tech.net/showthread.PHP?t=132029. また、以下も少し使用する必要がありました:http://pigtail.net/nicholas/pptp/「/etc/sysctl.conf」を開いて、「#net.ipv4.conf.default.forwarding=1」の行のコメントを解除する必要がありました。
編集 コンピュータ 1 からコンピュータ 2 へ、またその逆方向の両方で traceroute を実行しました。
コンピュータ 1 からコンピュータ 2: 最初のホップとして PPTP サーバーに到達しますが、タイムアウトになります。
コンピュータ 2 からコンピュータ 1: 最初のホップとして PPTP サーバーに到達します。2 番目のホップとしてコンピュータ 1 に到達します。
答え1
ping が機能しているのは興味深いです。おそらく、そうすべきではありません。
問題はルーティングにあると考えられます。192.168.0.x
内部アドレスと192.168.1.x
VPN アドレスを使用している場合、内部のコンピューターは VPN コンピューターと通信する方法を知りません。サブネット外のアドレスの場合192.168.0
、リクエストはルーターに転送されます (より適切な指示がない場合)。
VPN マシンはそのサブネット内にないため/24
、デフォルト ルート ( ) に移動し192.168.0.1
、ルーターもどう処理すればよいかわからないため、すぐにドロップされます。
これを解決するには 2 つの方法があります。
すべての内部コンピューターに手動ルートを設定するか、ルーターに単一の静的永続ルートを設定します。
簡単な解決策は、ルーターが許可している場合、ルーティングテーブルにルートを追加することです。
方法とサポートはルーターによって異なりますが、要点は、すべてのトラフィックが192.168.1.0/24
(または192.168.1.0
ネットマスク255.255.255.0
、同じもの) をVPN サーバーの内部アドレスに送信する192.168.0.xxx
ことです。xxx
さらに詳しい情報が必要な場合、またはより詳しい説明を得るために特定のルーターを投稿したい場合は、私/私たちがさらにお手伝いします。
編集:
もう 1 つのオプションは、PPTPd 設定を変更してアドレスを割り当てることです192.168.0.x
(アドレスが内部ルーターの DHCP サーバーが割り当てる範囲外にあることを確認してください)。その後、すべてが同じブロードキャスト ドメイン内になるため、ルートは不要になります (このdefault.forwarding=1
行によって、サーバーが実質的に巨大なスイッチになります)。