Требуется перезагрузка после добавления / удаления того же маршрута шлюза

Я использую VirtualBox с Debian 8 для изучения основ работы в сети с интерфейсом в режиме моста.

Я отключил dhcp моего сетевого интерфейса eth0 на / etc / network / interfaces :

# ...
# iface eth0 inet manual

Теперь я настраиваю интерфейс самостоятельно :

# ifconfig eth0 192.168.0.99/24

Затем я тестирую свой шлюз (192.168.0.1) с помощью ping , и он отлично работает.

Затем я добавляю шлюз по умолчанию в свою таблицу маршрутов:

# route add default gateway 192.168.0.1 netmask 255.255.255.0 dev eth0

После некоторых тестов, загрузок и т. Д. Я вижу, что все в порядке.

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

Вот моя проблема

После попытки добавить мой шлюз снова с той же строкой выше я получил ошибку « SIOCADDRT: Network is unreachable ».

Что я пытался решить?

  1. ifdown и ifup мой интерфейс;
  2. Перенастройте интерфейс с помощью ifconfig ;
  3. Перезапуск сетевой демон.

Единственное, что работает, - это перезапуск машины.

Есть ли способ снова добавить мой маршрут без перезапуска компьютера?

0
29.01.2017, 01:03
1 ответ

Я воспроизвел ваш вопрос на моем собственном сервере

Важно отметить, что нет необходимости добавлять маршрут в сеть, потому что конфигурация интерфейса делает это за вас. Даже если вам нужно сделать эти изменения постоянными, вы поместите их в / etc / network / interfaces и с помощью параметра «шлюз» укажите шлюз для своей сети. Таким образом, вам даже не нужно добавлять маршрут gw по умолчанию для вашей сети.

Настройка: Домашний ПК -> добавлен статический IP-адрес 192.169.3.2, цель состоит в том, чтобы получить доступ к этому IP-адресу с сервера, подключенного к тому же коммутатору (виртуальный коммутатор или физический коммутатор одинаковы)

Сервер исходная конфигурация

root@raspberrypi:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr b8:27:eb:fd:73:1b
          inet addr:192.169.1.2  Bcast:192.169.1.255  Mask:255.255.255.0
          inet6 addr: fe80::d89e:52c:aa96:d2b5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3883499 errors:0 dropped:46 overruns:0 frame:0
          TX packets:5939416 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:580337982 (553.4 MiB)  TX bytes:1486713518 (1.3 GiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:370 errors:0 dropped:0 overruns:0 frame:0
          TX packets:370 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:29124 (28.4 KiB)  TX bytes:29124 (28.4 KiB)



root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
link-local      *               255.255.0.0     U     202    0        0 eth0
192.169.1.0     *               255.255.255.0   U     0      0        0 eth0

Теперь я создам интерфейс для получения IP-адреса компьютера (192.169.3.2)

Создание и проверка интерфейса

    root@raspberrypi:~# ifconfig eth0:1 192.169.3.5/24
    root@raspberrypi:~# ifconfig eth0:1
    eth0:1    Link encap:Ethernet  HWaddr b8:27:eb:fd:73:1b
              inet addr:192.169.3.5  Bcast:192.169.3.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Проверка связи с моим домашним компьютером без добавления маршрутов

    root@raspberrypi:~# ping 192.169.3.2
    PING 192.169.3.2 (192.169.3.2) 56(84) bytes of data.
    64 bytes from 192.169.3.2: icmp_seq=1 ttl=128 time=32.3 ms
    64 bytes from 192.169.3.2: icmp_seq=2 ttl=128 time=2.95 ms
    ^C
    --- 192.169.3.2 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 2.956/17.642/32.329/14.687 ms

Проверка фактической таблицы маршрутизации

    root@raspberrypi:~# route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    link-local      *               255.255.0.0     U     202    0        0 eth0
    192.169.1.0     *               255.255.255.0   U     0      0        0 eth0
    192.169.3.0     *               255.255.255.0   U     0      0        0 eth0

Как вы можете видеть, что маршрут 192.169.3.0/24 через интерфейс eth0 был автоматически добавлен в таблицу маршрутизации, если я удалю этот маршрут, у меня не будет доступа к этой сети и я не смогу добавить маршрут по умолчанию для этой сети

Удаление маршрута и проверка доступности

root@raspberrypi:~# route del -net 192.169.3.0/24 dev eth0 
root@raspberrypi:~# route
root@raspberrypi:~# ping 192.169.3.2
PING 192.169.3.2 (192.169.3.2) 56(84) bytes of data.
^C
--- 192.169.3.2 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1005ms

Проверка конфигурации интерфейса

root@raspberrypi:~# ifconfig eth0:1
eth0:1    Link encap:Ethernet  HWaddr b8:27:eb:fd:73:1b
          inet addr:192.169.3.5  Bcast:192.169.3.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

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

Проверка таблицы маршрутизации

root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
link-local      *               255.255.0.0     U     202    0        0 eth0
192.169.1.0     *               255.255.255.0   U     0      0        0 eth0
root@raspberrypi:~#

Если я снова добавлю маршрут вручную, сеть будет доступна, и я смогу пинговать.

0
28.01.2020, 04:48

Теги

Похожие вопросы