一台のLinuxホスト上の二つのOpenVPNクライアント:経路の所有者は誰か
各プレフィックスに所有者がいれば、二つのクライアントが一台のホストを共有できます。目的、プール、インスタンス名、トンネルごとの停止テストの順に確認します。
両方のプロファイルが接続済みと報告し、そのうち一方が他方宛てのトラフィックを静かに運んでいます。一台のホストに二つのクライアントを置くことはサポートされる構成ですが、各プレフィックスに所有者がいない二つのクライアントはそうではありません。作業の中心は二本目のトンネルを立ち上げることよりも、どのプロセスがどの経路を主張できるかを決めることにあります。以下の順に進めれば、構成は答えから導かれます。
二本目のトンネルの目的を問うことから始める
三つの状況はステータス行では同じに見えますが、必要な設計は異なります。宛先による分割は、一方のプレフィックスをオフィス用プロファイル経由で、もう一方をラボ用プロファイル経由で送り、どちらもデフォルト経路を主張しません。アプリケーションごとの分割は通常、完全なトンネルを一本保ち、特定のトラフィックをポリシールールで振り向けます。フェイルオーバーは常に一本だけを稼働させるので、二本目は自動起動してはいけません。
その答えが以降のすべてを決めるため、設定ファイルを開く前にケースを書き留めてください。
最もよくある壊れた構成は、両方がデフォルト経路を押し出した二本の完全なトンネルで、最後に接続した方が勝ち、最初の方は見せかけを続けます。この状態はステータス行からは意図的に見え、ルーティングテーブルから一日を浪費します。ケースを先に名づければ、単に起こりにくいのではなく不可能になります。
経路より先にプールを見る
二台のサーバーは一つのプライベート範囲からアドレスを簡単に配れますが、そうなるとクライアントは一つのプレフィックスの中に二つのインターフェースを持つことになります。そのとき、どちらも同じくらい正しく見えるため、アドレスで宛先をインターフェースに帰属させられません。引き分けを破るルールを発明するのではなく、片方のプールを採番し直してください。
家庭やオフィスのLANがトンネルの範囲と重なると反対側から同じ曖昧さが生まれるため、ローカルネットワークも確認してください。クライアントを責める前に、ホスト上のアドレスを両方のサーバー設定と比較してください。ラボサーバーのプール変更は五分の修正ですが、重複するプレフィックスに対するポリシールーティングの回避策は、後で設定を読むすべての人への恒久的な負担です。どこに介入するかを選ぶ前に、どちらが欲しいかを決めてください。
アドレス体系が二つあれば、この確認も二巡します。IPv6のプールはIPv4と同じくらい静かに衝突します。
各プロファイルに所有者を与える
プロファイルごとに一つのインスタンス、インスタンスごとに一つの設定ファイル、そして組を識別する一つの名前です。Debian系のパッケージでは@記号の後の名前がファイルを選ぶため、同じインスタンス名を共有する二つのプロファイルが両方動くことは決してありません。対応関係はチュートリアルではなく、インストール済みのユニットから確認してください。
systemctl cat [email protected]
ip -4 addr show次に誰が経路をインストールするかを決めますが、これは構文ではなくポリシーの問題です。
二台のサーバーが相容れない集合を押し出すときは、route-nopullを追加し、各プロファイルに必要なプレフィックスだけを列挙するか、片方にデフォルト経路を残させて残りをポリシールールで振り向けます。両方がデフォルト経路をインストールする二つのプロセスは、勝者が一つになるだけで、誰も理由を言えません。二本のトンネルが異なる送信元のトラフィックを運ぶようになると、応答が誤った側から出ることがあり、耐えるパターンは、応答で復元され自分のテーブルへ振り向けられる接続マークです。トンネル自身の暗号化パケットが決して一致しないようにマークの範囲を絞ってください。
トンネルごとに検証し、その後で一本を止める
両方が上がったら、各トンネルデバイスのアドレス、それぞれの背後に住むホストへの経路、両方の外にある宛先が取る道筋という三つの測定を取ります。ルールが関与した時点で通常の経路一覧は最終的な検索を説明しなくなるため、カーネルに実際に何を選ぶかを尋ねてください。次に一つのインスタンスを止め、何が消えるかを見ます。一本目を止めて二本目が乱れるなら、経路、デバイス名、あるいは誰も分けなかったファイアウォールルールという形で、まだ何かが共有されています。
ip rule show
ip route get 203.0.113.9再起動後に一度だけ動いて二度と動かないトンネルはルーティングの衣装を着たライフサイクルの不具合なので、止めたプロファイルを戻して同じ確認を繰り返してください。
展開ノートに、どのプロファイルがどのプレフィックスを所有するかをプール範囲の隣に記録してください。二本のトンネルは意図的な取り決めであり、次の読み手はどちらのプロファイルに触れる前に対象範囲を見える必要があります。そのメモがなければ、共有プレフィックスがついに壊れたとき、当番の人が境界を再発見することになります。