web-dev-qa-db-ja.com

PPTP VPN:外部コンピューターはネットワークにアクセスできますが、内部コンピューターは外部にアクセスできません

最近、自宅にVPNを設定しました(UbuntuホストとPPTPを使用します。下部のリンクを参照してください)。これにより、どこにいてもサーバーにアクセスでき、これまでのところ、希望どおりに機能しています。 VPN経由で接続しているすべてのリモートコンピューターがネットワーク上のすべてのコンピューターにアクセスできるように設定しました。私が抱えている問題は、VPN経由で接続されているコンピューターには、ネットワーク内のどのコンピューターからもアクセスできないということです。

したがって、コンピュータ1のIPが192.168.0.10であり、物理的にネットワーク上にあり、コンピュータ2のIPが[修正、192.168.0.101であるとします。 -)192.168.1.101ではなく(すべてが同じサブネット上にあります)]、VPN経由で接続されています。

コンピューター2はコンピューター1にpingを実行してWindows共有にアクセスできますが、何らかの理由でコンピューター1はコンピューター2にpingを実行したりWindows共有にアクセスしたりできません。

確かに、それは私が最初に望んでいたもの(コンピューター2がネットワークにアクセスできる)では機能しますが、他のコンピューターと同じようにネットワーク上に表示された場合、他のすべてのコンピューターにpingを実行できる可能性があります。 (VPN経由で接続されている他のコンピューターを含む)、他のすべてのコンピューターが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に到達します。

2
joshhendo

Pingが機能しているのは興味深いことです。おそらくそうではないはずです。

考えられる問題はルーティングです。内部で192.168.0.xアドレスを使用し、VPNに192.168.1.xアドレスを使用している場合、内部のコンピューターはVPNコンピューターと通信する方法を知りません。 192.168.0サブネット外のアドレスの場合、それらは要求をルーターに転送します(より適切な指示がない場合)。

VPNマシンはその/24サブネットにないため、デフォルトルート(192.168.0.1)に移動し、ルーターもそれらをどう処理するかわからないため、ルーターによって即座にドロップされます。

これを解決するには2つの方法があります。

  • すべての内部コンピューターに手動ルートを設定するか、ルーターに単一の静的永続ルートを設定します。

  • ルーターで許可されている場合の簡単な解決策は、ルーティングテーブルにルートを追加することです。

方法とサポートはルーターによって異なりますが、要点は、192.168.1.0/24(または192.168.1.0ネットマスク255.255.255.0、同じもの)に向かうすべてのトラフィックを192.168.0.xxx宛てにすることです。ここでxxxはVPNサーバーの内部アドレスです。 。

より詳細な情報が必要な場合、またはより適切な手順のために特定のルーターを投稿したい場合は、私/私たちはさらに支援しようとします。

編集:

もう1つのオプションは、PPTPd構成を変更して192.168.0.xアドレスを提供することです(内部ルーターのDHCPサーバーが割り当てる範囲外の範囲内にあることを確認してください)。その場合、すべてが同じブロードキャストドメインにあるため、ルートは必要ありません(default.forwarding=1行はサーバーを効果的に巨大なスイッチに変えます)。

1
peelman