Двойной шлюз по умолчанию для сервера Ubuntu

Двойной шлюз по умолчанию для сервера Ubuntu

Я только что установил Ubuntu server 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, я могу получить доступ к eth0 ip-адресу из интернета и могу пинговать машины в моей сети wifi mynet. Все работает отлично, и у меня есть один шлюз по умолчанию.

Но через некоторое время, если я снова проверю маршрут, то найду только два шлюза по умолчанию: один правильный и это предыдущий, а другой — это шлюз сети Wi-Fi.

У меня довольно слабый сигнал mynet, где находится мой сервер, и иногда wifi просто отключается, а затем снова подключается. Тогда я думаю, что это может быть проблемой, и dhcp сети wifi при повторном подключении также добавляет шлюз по умолчанию. Есть идеи, как решить эту проблему?

решение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, также покидает его.

решение2

Что яполагатьпроисходит то, что откуда-то появляется 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

решение3

Некоторые нестандартные ответы:

  • Отключайте Wi-Fi, когда вы им не пользуетесь.

  • Настройте DHCP-сервер так, чтобы он выдавал маршрут по умолчанию с более высокой метрикой (например, 2), чтобы проводной маршрут по умолчанию всегда был предпочтительным при подключении.

Связанный контент