ここにいくつかの(少し異なるかもしれない)質問がありますが、互いに関連しているので、1つの質問でそれらを尋ねることを好みました。
OpenVPNクライアント(OpenVPNはブリッジモードでセットアップされています)がDockerコンテナーに接続できるようにしようとしています。
既知のように、Dockerコンテナーはすべて、ブリッジ(docker0
ブリッジなど)を介して相互に接続されています。
私はいつもホームサーバーで自分のブリッジ(br0
)を使用していました。そこでは、そのブリッジ(br0
)を使用するようにDockerをセットアップし、そのブリッジでOpenVPNインターフェイス(tap0
)と物理インターフェイス(eth0
)をブリッジします。 LAN経由でホームルーターに接続しました。そして、それは常に私にとってはうまくいき、すべてのOpenVPNクライアントは常にbr0
でブリッジされた各Dockerコンテナにアクセスできました(OpenVPNクライアントとDockerコンテナの両方が私のLAN範囲内のIPを持っています)。
数日前、私はVPSをレンタルしました。この場合、物理インターフェイスはインターネットに直接接続されています(一意のパブリックIPがあります)。
以前と同じことを行い(すべてのコンテナーにbr0
を使用するようにDockerを設定)、tap0
でOpenVPNbr0
をブリッジしました。
私が直面した問題は、OpenVPNクライアントがDockerのコンテナーにpingまたはアクセスできなかったことです(コンテナーは他のDockerのコンテナーにpingを実行してアクセスできましたが、OpenVPNクライアントにはアクセスできませんでした)。また、クライアントは相互にpingを実行できませんでした。
物理インターフェイスがブリッジされていないということはありますか?はいの場合、OpenVPN TAPインターフェイスに加えてサーバーのインターフェイス(LAN経由でルーターに接続されている可能性があります)をブリッジして、ブリッジモードで機能するOpenVPNを取得する必要があるのはなぜですか?
そして、その問題は私の心に別の関連する質問を提起しました:クライアントがとにかくtap0
インターフェースの一部である限り、なぜ彼らは何らかの理由でTAPインターフェースから出ることなくお互いに単純にアクセスできないのですか?私の物理インターフェースが果たす役割は何ですか?
私の問題が本当にブリッジされた物理インターフェイスがないことが原因であった場合、その物理インターフェイスなしでブリッジモードでOpenVPNを完全に機能させるにはどうすればよいですか(または、物理インターフェイスが直接接続されている限り、少なくともその解決策はありますか? LANのないインターネット)?
誰かがそのOpenVPNを機能させるのを手伝ってくれることを願っています
いくつかのビデオを見た後、私はまだその質問があります。2つのTAP
インターフェースがある場合、それらのすべてが1つのvirtualbox
システムにマップされます。 tap0 -> vb0
、tap1 -> vb1
、および両方のtap0 and tap1
はブリッジbr0
(物理インターフェイスには接続されていません)に接続されていますが、tap0
とtap1
のみがブリッジされていますが、vb0 and vb1
は相互にpingを実行できますか? (私は今、どんな種類の外部接続にも興味がありません)。 @ shodanshok の答えによると、いいえ、そうではありませんよね?今まで理解できなかった理由がよくわかりませんが、その点を詳しく説明していただけますか?
OK、たくさんの実験の後、今、私は私の質問に答えて、私の経験を共有することができます:
OpenVPN
を実行するには、ブリッジ(Linuxではbr0
など)が必要ですか?いいえ!私はいつも反対のことを考えていましたが、今のところ、OpenVPN
を正しく設定するとすぐに、すべてのOpenVPN
クライアントに直接接続できることを確認できます。 、およびそれらは独自の分離されたネットワークになります。つまりtap0
インターフェースはブリッジの一部ではありません。したがって、tap0
でブリッジされた物理インターフェイスも必要ありません。正しく構成されたOpenVPN
を備えたtap0
のみが機能します。
問題は実際にはクライアント側にありました!私はいつも、OpenVPN
クライアントがすべて私のLAN IP範囲にあることを使用していました。したがって、追加のファイアウォール設定は必要ありませんでしたが、現在、IP範囲は異なります。 (ネットワークは新しい分離されたネットワークです)したがって、すべてのクライアントのWindowsファイアウォールは、他のクライアントからのすべてのpingを単にドロップしていました。それを無効にすると(またはOpenVPN
IPプール範囲を許可すると)、すべてが完全に機能しました!!
tap0
でブリッジし、OpenVPN
クライアントからコンテナに接続できましたか?はい!非常に単純な構成(ネットマスクとIP範囲は同じ)、ネットマスク/24
を使用しましたが、すべてが機能することを確認するために、すべてが非常に基本的でした。うまくいった!
OpenVPN tap
インターフェースはISO/OSIモデルのレイヤー2で動作するため、レイヤー2が必要(読み取り:ブリッジ/スイッチ) )メインの実際のインターフェースへの接続。
スタックの上位レベル(レベル3)で動作することにより、メインインターフェイスへのブリッジ接続を必要としない(パケットをルーティングする)tun
インターフェイスを使用するようにOpenVPN接続を再構成することを強くお勧めします。ルーティングテーブルで指定されているとおり)。
詳細については、 openvpnのマニュアルページ の「server-bridge」セクションを参照してください。