
EEEBoxにUbuntuサーバ9.10をインストールしました。これは私の/etc/network/interfacesです。
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0 iface wlan0 inet static
address 192.168.48.16
netmask 255.255.248.0
wireless-essid mynet
auto eth0
iface eth0 inet static
address xx.xx.xx.xx
netmask 255.255.255.224
gateway xx.xx.yy.yy
再起動すると/etc/init.d/networking
、インターネットから eth0 IP アドレスにアクセスでき、WiFi ネットワーク mynet 内のマシンに ping を実行できます。すべて正常に動作し、デフォルト ゲートウェイが 1 つあります。
しかし、しばらくしてルートを再度確認すると、デフォルト ゲートウェイが 2 つ見つかります。1 つは正しく、以前のものですが、もう 1 つは Wi-Fi ネットワークのものです。
私のサーバーがある mynet の信号はかなり弱く、Wi-Fi が切断されてから再接続されることがあります。これは問題になる可能性があり、Wi-Fi ネットの DHCP は再接続時にデフォルト ゲートウェイも追加すると思います。この問題を解決する方法について何かアイデアはありますか?
答え1
から:http://www.linuxhorizon.ro/iproute2.html
次のようなことを試してください:
echo "1 admin" >> /etc/iproute2/rt_tables
ip route add 192.168.48.16/24 dev wlan0 src 192.168.48.16 table admin
ip route add default via 192.168.48.16 dev wlan0 table admin
ip rule add from xx.xx.xx.xx/32 table admin
ip rule add to xx.xx.xx.xx/32 table admin
ip rule add from 192.168.48.16/32 table admin
ip rule add to xx.xx.xx.xx/32 table admin
警告、未テスト。ただし、インターフェイス X に着信するトラフィックがインターフェイス X から発信されることも確認する必要があります。
答え2
私が信じる何が起こっているかというと、DHCP クライアントがどこかから生成され、2 番目のデフォルト ルートを取得しているということです。
この 2 番目のデフォルト ルートを避けて、それが由来した地獄の底に捨てるのではなく、有線ネットワークがなくなった場合に限り、それを保持するのはどうでしょうか。
これを実現するために、接続のインターフェース メトリックを設定し、有線イーサネットがワイヤレス (稼働中の場合) よりも優先されるようにします。
メトリックを「コスト」として考えてください。オペレーティング システムは、メトリックが最も低いネットワーク アダプターを最初に使用します。
OS は、より低いメトリックのインターフェースが存在しない場合にのみ、このより高いメトリックのインターフェースを使用します。
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.48.16
netmask 255.255.248.0
wireless-essid mynet
metric 100
auto eth0
iface eth0 inet static
address xx.xx.xx.xx
netmask 255.255.255.224
gateway xx.xx.yy.yy
metric 50
答え3
斬新な答えをいくつか挙げます。
使用していないときは Wi-Fi を無効にします。
有線接続の場合に常に有線のデフォルト ルートが優先されるように、DHCP サーバーを設定して、より高いメトリック (2 など) を持つデフォルト ルートを発行します。