マルチIPホストでのアウトバウンド接続のIPアドレスの指定


15

私のサーバーの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を複数回呼び出すと、最終的にはアウトバウンド接続の正しい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

発信tcp接続で送信元IPアドレス192.168.0.2が使用されていることを確認する方法があれば、ありがたいです。 /編集2

回答:


24

デフォルトの更新:

ip route change default via 81.169.180.1 src 81.169.180.51

設定を確認します。

ip route list

1
再起動後にこれを永続的にする方法は?
-dezhi

3

bindbnによる答えは良いのですが、いくつかの問題が見つかりました。

1)bindbnが言うように、「ip route list」をチェックする必要があります。リスト内の他のルールは、デフォルトルートよりも優先される場合があります。そのルールを削除するか、わずかに異なるルールを作成する必要がある場合があります。

2)ipコマンドで行われたすべての変更は、次回の再起動までしか機能しません。この回答では、ソースポリシールーティングルールを永続的に追加することで、永続化する方法を説明しています。

要約すると、「up」または「post-up」行として実行する必要があるip routeコマンドを/ etc / network / interfacesに追加できます。対応する「下」行を追加して、ルートを削除できます。


1

変更してみてください

 allow-hotplug eth0

 auto eth0

これにより、物理インターフェイスが最初に起動します。eth0:0のallow-hotplugエントリも変更する必要があるかもしれません。


1

好奇心から、なぜIPアドレスに255.255.255.255のネットマスクがあるのですか?アドレス全体がネットワークであることを意味するため、実際には実行できません。ホストの余地はありません。ブロードキャストアドレスがホストIPと同じであるという事実も心配ですが、おそらくネットマスクの問題が原因です。むしろ、ネットマスクは255.255.255.0であるように見えます。

これは、同じサブネット上の2つのホストを提供するために行われましたか?各インターフェイスが異なるサブネット上にあるように、単に変更することが望ましい場合があります。255.255.255.128は、eth0とゲートウェイ(81.169.180.1)を同じサブネットに配置し、eth0:0は別のサブネットに配置します。ただし、それはeth0が81.169.180.1-81.169.180.127とのみ通信できることを意味します。そしてeth0:0は129-254からです。しかし、そうは言っても、現在のセットアップがなぜ機能するのかはまったくわかりません。

さて、これはあなたが上で見ている問題を引き起こしますか?直接リンクは表示されませんが、可能です。
それは確かに私が微調整するものです。それでも解決しない場合は、このように設定した理由を説明できます。


編集:これはこのホストで正常に機能していましたか、それとも別のマシン/ OSでしたか?何が変わったのでしょうか?Linuxが同じサブネット上に2つのインターフェースを持つことを本当に好まないからです。私自身のネットワークでこれを機能させようとすると、私は腹を立てます。ネットワークサービスを再起動/再起動するまで、これが正しいIPで動作する可能性が高いと思われます。その後、間違ったインターフェイスを使用して起動しました。参照:http : //anders.com/cms/258

またifdown、eth0:0を試してから、ルートを追加してから、ifup元に戻すこともできます。これにより、正しいIPが使用されることが保証されます。

手動で追加するdev eth0 役立つ場合がありますが、ルートが適切に行われたかのように見えます。


さらに編集: Debianの最新のIP管理ツールを使用してみてくださいiproute 2。(二次リンク
インターフェースを立ち上げるラインに沿ったもののように見えます: ip link set eth0 up

ip addr add 192.168.0.2/24 dev ethe0
ip addr add 192.168.0.3/24 dev eth0

次に、
ip route add 10.0.0.0/16 via 192.168.0.2


-Christopher Karel を使用してルーティングテーブルを設定します


255.255.255.255のネットマスクは、ホスティング会社のドキュメントとDHCP応答の両方と一致しています。Googleによると、ポイントツーポイントネットワークに255.255.255.255が存在するのは正常です。私の知る限り、同じレイヤー2ブロードキャストドメインに信頼できないホストが存在するというセキュリティリスクを考えると、ホスティング会社がポイントツーポイントネットワークを使用するのはかなり愚かなことでしょう。
ヘンドリックブルーマーマン

Wolfgangszが上記で言っていたように、/ 32はポイントツーポイントリンクの標準ではありません。/ 31を実行できることは知っていますが、明らかにブロードキャストIDとネットワークIDは削除されます。言及した「ホストルート」は、ルーティングテーブルでの使用を指します。例:ネットワークではなく、特定のホストへのルートです。したがって、ルーティングプロトコルであるOSPFでリンクしたRFCでの発生。そうは言っても、ISPがOSでそれを行うように指示していることが確実な場合は、それを維持することもできます。
クリストファーカレル

OK、元の問題に役立つ可能性のあるいくつかの編集を行いました。
クリストファーカレル

-1

現在の設定は実際にはまったく機能しないはずです。両方のインターフェイスのネットマスクは255.255.255.255であるため、ゲートウェイ用のスペースはありません。ただし、意味のあるトラフィックを配信するには、サーバーにゲートウェイが必要です。2つのパブリックIPアドレスを提供するISPは、両方のIPアドレスのネットマスクとゲートウェイの設定も提供する必要があります。

例(これは私のプライベートサーバーであり、IPアドレスは本物です):

カーネルIPルーティングテーブル
宛先ゲートウェイGenmaskフラグメトリックRef使用Iface
217.10.144.208 0.0.0.0 255.255.255.248 U 0 0 0 eth0
0.0.0.0 217.10.144.209 0.0.0.0 UG 0 0 0 eth0

サーバー自体は217.10.144.210上にあり、ゲートウェイと同じサブネットにあります(そうでない場合、トラフィックをルーティングできません)。おそらく、ISPは他の顧客にも同じサブネットを提供しています。

そのサーバー上でゲートウェイにpingを実行すると、「ホストへのルートがありません」というメッセージが表示されます。

ISPに連絡して正しい設定を取得し、インターフェイスの構成を更新し、ネットワークを再起動して、もう一度チェックアウトします。


2
255.255.255.255のネットマスクは、ホスティング会社のドキュメントとDHCP応答の両方と一致しています。Googleによると、ポイントツーポイントネットワークに255.255.255.255が存在するのは正常です。私の知る限り、同じレイヤー2ブロードキャストドメインに信頼できないホストが存在するというセキュリティリスクを考えると、ホスティング会社がポイントツーポイントネットワークを使用するのはかなり愚かなことでしょう。
ヘンドリックブルーマーマン

ポイントツーポイントネットワークがある場合、ネットマスクは255.255.255.252になります。これにより、ネットワークアドレスとブロードキャストアドレスという2つのエンドポイントを構成する2つのホストが可能になります。これは、この種の接続の通常のシナリオです。あなたの場合、他のホストは世界へのゲートウェイになります。Googleで何を掘り下げるかはあまり気にしませんが、これがTCP / IPネットワークの仕組みです。そして、明らかにそれはあなたのために働いていません。結論はあなたにお任せします。
wolfgangsz

ありがとう、しかしこの部分は私にとって完全にうまく機能している。ちなみに、公式のインターネット標準では「ホストルート」と呼ばれています:rfc-editor.org/rfc/rfc2328.txt
Hendrik Brummermann

私の問題はローカルネットワークでも再現可能です:ifconfig eth0 192.168.0.2 mask 255.255.255.0 / ifconfig eth0:1 192.168.0.3 mask 255.255.255.0 / route add default gw 1​​92.168.0.1
Hendrik Brummermann
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.