Я только что установил сервер Ubuntu 9.10 на EEEBox. Это мой / 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
, Я могу получить доступ к IP-адресу eth0 из Интернета, и я могу пинговать машины в моей сети Wi-Fi mynet. Все работает нормально и у меня один шлюз по умолчанию.
Но через некоторое время, если я снова проверю маршрут, я просто нахожу два шлюза по умолчанию: один правильный и предыдущий, а другой - один из сети Wi-Fi.
У меня довольно низкий сигнал mynet, где находится мой сервер, и иногда Wi-Fi просто отключается, а затем снова подключается. Тогда думаю, что это может быть проблема и dhcp вайфай сети, при переподключении тоже добавить шлюз по умолчанию. Есть идеи, как решить эту проблему?
Что я верить происходит, заключается в том, что откуда-то порождается DHCP-клиент и получает второй маршрут по умолчанию.
Вместо того, чтобы избегать этого второго маршрута по умолчанию и отправлять его в глубины ада, откуда он пришел - как насчет того, чтобы оставить его - но только если ваша проводная сеть уйдет?
Для этого мы устанавливаем метрику интерфейса для подключений, поэтому ваш кабельный Ethernet предпочтительнее беспроводного (когда он включен).
Думайте о метрике как о «стоимости» - операционная система сначала использует сетевой адаптер с самой низкой метрикой.
ОС будет использовать этот интерфейс с более высокой метрикой только в том случае, если нет интерфейсов с более низкой метрикой.
# 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
Из: 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, также покидает его.
Некоторые нестандартные ответы:
Отключите Wi-Fi, когда вы им не пользуетесь.
Настройте свой DHCP-сервер так, чтобы он выдавал маршрут по умолчанию с более высокой метрикой (например, 2), чтобы проводной маршрут по умолчанию всегда был предпочтительнее, если он подключен.