私は openvpn と pptp デーモンを備えたサーバーを使用しています。
Iptables には、サーバー上で利用可能な pptp または openvpn トンネルを介して他のクライアントと通信する権限を一部の pptp クライアントに与えるルールがあります。
Elevated pptp client --> pptp server forward to --> pptp client
Elevated pptp client --> pptp server forward to --> openvpn client
これはかなりうまく機能しますが、次のようになります。
時々、OpenVPN クライアントに接続できなくなります。OpenVPN クライアントの IP に ping するとタイムアウトになりますが、サーバーから直接その IP に ping することはできます。
server --> openvpn client == 64 bytes from *** time *ms
Elevated pptp client --> server == 64 bytes from *** time *ms
Elevated pptp client --> pptp server forward to --> openvpn client == time-out
サーバーは Ubuntu 14.04 サーバーですが、Ubuntu 10.10 を実行している前回のサーバーでも同じ問題が発生しました。
問題は次のとおりだと思います: ping メッセージは次のようになります:
elevated client --> server routing --> openvpn daemon routing --> client
openvpn daemon routing <-- client
openvpn デーモンは、自身のプール内で応答する IP を見つけることができず、メッセージをドロップします。
これを確認できる方法はありますか? また、これが問題である場合、なぜ一部のクライアントにのみ発生するのでしょうか? また、解決策を見つけるにはどうすればよいですか?
答え1
これに対する答えを見つけました。
ルートをクライアントにプッシュします。クライアントは、TAP/TUN インターフェイスが起動するよりも早くルートの追加を実行することがあります。ルートは無視されます。
いいえ、ルートを配置できるインターフェイスが稼働しているときに実行するセカンダリ スクリプトをクライアントに追加しました。
これからは、すべてのクライアントを編集する必要があるため、これらを変更する必要がないことを祈ります...