Сервер на основе Debian выбирает неверную сеть в качестве шлюза

1

Я настраиваю собственный сервер для работы в качестве маршрутизатора. Он имеет три интерфейса, два кабеля и Wi-Fi.

Следуя этой статье, настройте точку доступа. После установки моста у меня возникли проблемы со шлюзом по умолчанию. Система всегда выбирает мост в качестве шлюза, что не так.

Интерфейсы: eth0 -> link do my ISP (DHCP - динамический адрес), eth1 -> внутренняя сеть, wlan0 -> wifi.

eth1 и wlan0 соединены.

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

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.22.11   0.0.0.0         UG    0      0        0 zbr0
192.168.11.64   0.0.0.0         255.255.255.192 U     0      0        0 eth0
192.168.22.0    0.0.0.0         255.255.255.128 U     0      0        0 zbr0


eth0      Link encap:Ethernet  HWaddr 54:be:f7:09:67:7a
      inet addr:192.168.11.77  Bcast:192.168.11.127  Mask:255.255.255.192
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:245 errors:0 dropped:0 overruns:0 frame:0
      TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:18860 (18.4 KiB)  TX bytes:1559 (1.5 KiB)
      Interrupt:20 Memory:f7e00000-f7e20000

eth1      Link encap:Ethernet  HWaddr 54:be:f7:09:67:7b
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:367 errors:0 dropped:0 overruns:0 frame:0
      TX packets:254 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:62760 (61.2 KiB)  TX bytes:37744 (36.8 KiB)
      Interrupt:18 Memory:f7c00000-f7c20000

lo        Link encap:Local Loopback
      inet addr:127.0.0.1  Mask:255.0.0.0
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:2 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:190 (190.0 B)  TX bytes:190 (190.0 B)

zbr0      Link encap:Ethernet  HWaddr 54:be:f7:09:67:7b
      inet addr:192.168.22.11  Bcast:192.168.22.127  Mask:255.255.255.128
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:285 errors:0 dropped:0 overruns:0 frame:0
      TX packets:245 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:32960 (32.1 KiB)  TX bytes:35426 (34.5 KiB)

Как настроить шлюз через интерфейс, а не IP-адрес?

Конфигурация интерфейсов:

auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet manual

allow-hotplug wlan0
iface wlan0 inet manual

auto zbr0
iface zbr0 inet static
bridge_ports eth1
address 192.168.22.11
netmask 255.255.255.128
network 192.168.22.0
broadcast 192.168.22.127
gateway 192.168.22.11
вомбат
источник
Можете ли вы показать нам свою /etc/network/interfacesконфигурацию?
Маркус Риккерт
добавил к вопросу.
WombaT
Я думаю, что должно быть достаточно, чтобы удалить gatewayзапись в вашем interfacesфайле. Так как вы получаете IP-адрес для eth0более DHCP, он должен установить маршрут по умолчанию через eth0.
Маркус Риккерт

Ответы:

2

Удалите маршрут по умолчанию, который находится в таблице маршрутизации, и замените его чем-то вроде route add default gw 192.168.11.1 eth0

canadmos
источник
Бесполезно для меня, IP-адрес на eth0 является динамическим, поэтому мне придется менять этот маршрут каждый раз, когда он меняется.
WombaT
1
Адрес в этой команде является фактическим адресом шлюза. Вы просто указываете всем пакетам, не предназначенным для известной сети или хоста, направить eth0интерфейс по адресу, указанному в команде. Вы пробовали это?
canadmos
Кроме того, ваш интерфейсный файл имеет установленный шлюз, как описано в таблице маршрутизации.
canadmos
Хорошо, моя ошибка, я думал, что параметр шлюза для клиентов DHCP в этой сети.
WombaT