Linuxルーティングはドメイン名を処理しません

Linuxルーティングはドメイン名を処理しません

2 つのネットワーク インターフェイス (1.1.1.1 と 2.2.2.2) があり、1.1.1.1 がプライマリとして設定されている VPS があるかどうか疑問に思います...

eth0 = 1.1.1.1
eth0:1 = 2.2.2.2

ここで、domain.com (Cloudflareを使用しているかどうかはわかりません) のすべてのトラフィックを IP 2.2.2.2 eth0:1 にルーティングします。

例1:

実行するとwget domain.com2.2.2.2 eth0:1を通過します
が、実行するwget google.comと1.1.1.1 eth0を通過します。

例2:

「whatismyip.com」にアクセスすると、eth0 をパススルーするため、IP は「1.1.1.1」と表示されます
が、「whatismyipaddress.com」にアクセスすると、eth0:1 をパススルーするため、IP は「2.2.2.2」と表示されます。

答え1

考慮すべき点がいくつかあります:

Linuxルーティングはドメイン名を処理しません

Linux のルーティングには多くの設定オプションがありますが、ドメイン名のみを受け入れるオプションはありません。結局のところ、IP ルーティングについて話しているのです。したがって、IP アドレスに対してルールを定義する必要がありますが、ドメインの DNS レコードが変更されると、明らかに「壊れる」ことになります。

インターフェースの設定

この場合、同じサブネット (0.0.0.0/0、つまりインターネット) へのルートを提供するインターフェースが 2 つあります。カーネルに特定のインターフェースを優先するように指示するには、ポリシーベース ルーティング (PBR) を適用する必要があります。

名前が示すように、ポリシーベースのルーティングは、使用するインターフェースを決定するポリシー (別名「ルール」) を定義することによって機能します。ポリシーがない場合、カーネルは宛先のネットワークに一致する最初のルートを選択します。

ルート、ルール、テーブル

カーネルはルートを使用してパケットの処理方法を決定します。ルートは、使用する宛先アドレスとリンク (インターフェース) を含む単純な定義です。

ルートは にグループ化されtables、どのテーブルが使用されるかは定義されたポリシーによって異なります。

(またはルール)はpolicy、パケットをルーティングするためにどのテーブルを調べるかをカーネルに指示します。ポリシーの定義には、調べるパケットの送信元、宛先、およびルーティング テーブルが含まれます。

現在のルートとポリシーを表示する

現在システムで使用されているルートを表示するには、 ip route

ルーティング テーブル内のすべてのエントリが表示されますmain。 を実行すると、他のテーブルにアクセスできますip route show table <tablename>

現在使用されているポリシーを表示するには、 ip rule

カーネルが使用するすべてのポリシー/ルールを一覧表示します。処理中のパケットに一致するルールが見つかるまで、上から下へ繰り返し処理されます。

echo "101 out1" >> /etc/iproute2/rt_tables
ip rule add from all to 3.4.5.6 table out1
ip route add default via 10.0.0.1 dev eth0 src 1.1.1.1 table out1
ip route add 10.0.0.0/8 dev eth0 src 1.1.1.1 table out1

これらのコマンドは、新しいルーティング テーブルを作成しout110.0.0.1インターネットにアクセスするためのゲートウェイとして を追加します。 へのトラフィック(ターゲット ドメインの実際の解決済み IP アドレスに置き換える必要があります) は、指定されたデバイスと IP を使用して、3.4.5.6テーブルで定義されているデフォルト ゲートウェイを介して送信されます。out1eth01.1.1.1

用語に慣れるために、既存のチュートリアルやガイドをいくつか読むことをお勧めします。iproute2とを検索してくださいlinux advanced routing and traffic control

最後に、変更をライブ システムに適用する前にテストしてください。間違いは起こるものですが、個人的にはリモート サーバーではなく VM を壊す方が好きです。

関連情報