私のサーバーの1つ(Debian 5.0.6)では、同じインターフェースに2つのパブリックIPアドレスがあります。これは何ヶ月もうまく機能していましたが、突然、発信接続に「間違った」IPアドレスを使用しています。逆引きが一致せず、電子メールがスパムポイントを取得するため、これは問題です。
eth0 Link encap:Ethernet Hardware Adresse 00:1b:21:14:8e:9c
inet Adresse:81.169.180.51 Bcast:81.169.180.51 Maske:255.255.255.255
inet6-Adresse: fe80::21b:21ff:fe14:8e9c/64 Gültigkeitsbereich:Verbindung
eth0:0 Link encap:Ethernet Hardware Adresse 00:1b:21:14:8e:9c
inet Adresse:85.214.157.120 Bcast:85.214.157.120 Maske:255.255.255.255
Kernel-IP-Routentabelle
Destination Router Genmask Flags Metric Ref Use Iface
81.169.180.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
0.0.0.0 81.169.180.1 0.0.0.0 UG 0 0 0 eth0
現在、アウトバウンド接続に85.214.157.120を使用しています。 81.169.180.51を使用するにはどうすればよいですか?
編集:255.255.255.255のネットマスクは、ホスティング会社のドキュメントとDHCP応答の両方と一致しています。 /etc/init.d/networking restartを複数回呼び出すと、最終的にoutbount接続の正しいIPアドレスが返されます。しかし、それは明らかに安定したソリューションではありません。 /編集
編集2:ホストルートが私の問題に関連していないことを確認するために、ローカルテストネットワークをセットアップします。
eth0 inet Adresse:192.168.0.2 Bcast:192.168.0.255 Maske:255.255.255.0
eth0:0 inet Adresse:192.168.0.3 Bcast:192.168.0.255 Maske:255.255.255.0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
ソースのIPアドレス192.168.0.2が発信TCP接続で使用されていることを確認する方法を誰かが知っている場合は、感謝します。 /編集2
デフォルトを更新:
ip route change default via 81.169.180.1 src 81.169.180.51
構成を確認します。
ip route list
Bindbnの答えは良いですが、いくつかの複雑な問題を発見しました。
1)bindbnが言うように、「ip route list」をチェックする必要があります。リスト内の他のルールは、デフォルトルートよりも優先される場合があります。そのルールを削除するか、わずかに異なるルールを作成する必要がある場合があります。
2)ipコマンドで行われたすべての変更は、次の再起動までしか機能しません。この回答 ソースポリシールーティングルールを永続的に追加 は、永続化する方法を説明します。
要約すると、実行する必要があるip routeコマンドを「アップ」または「ポストアップ」行として/ etc/network/interfacesに追加できます。ルートを削除するために、対応する「ダウン」行を追加できます。
変更してみてください
allow-hotplug eth0
に
auto eth0
これにより、物理インターフェイスが最初に表示されます。 eth0:0のallow-hotplugエントリも変更する必要がある場合とない場合があります。