Назад | Перейти на главную страницу

Двойной шлюз по умолчанию ubuntu server

Я только что установил сервер 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), чтобы проводной маршрут по умолчанию всегда был предпочтительнее, если он подключен.