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

Невозможно подключиться к хосту со статическим IP-адресом, а шлюз - vlan - Debian 10

Я пытался получить статический IP-адрес, работающий при установке Debian 10. Сервер должен работать в VLAN отдельно от любой другой сети. Идентификатор VLAN в соответствии с интерфейсом маршрутизатора - 3. Модель маршрутизатора - Pakedge RE-2.

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

IP: 192.168.2.1
Netmask: 255.255.255.0
DHCP range: 192.168.2.2 - 192.168.2.10

Вот для чего настроена VLAN:

VLAN IP: 192.168.0.1
Netmask: 255.255.255.0
DHCP range: 192.168.0.10 - 192.168.0.254

Статический IP-адрес сервера 192.168.0.2. Следующее - это / etc / network / interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
#iface eth0 inet static 
#   address 192.168.0.2
#   netmask 255.255.255.0
#   gateway 192.168.0.1

Следующее - interfaces.d / eth0:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

#source /etc/network/interfaces.d/*

# The loopback network interface
#auto lo
#iface lo inet loopback

# The primary network interface
#auto eth0
#allow-hotplug eth0
iface eth0 inet static 
    address 192.168.0.2
    netmask 255.255.255.0
    gateway 192.168.0.1

Я могу успешно пинговать доменные имена и IP-адреса с помощью dhclient eth0, но он использует IP-адрес, который находится в диапазоне DHCP маршрутизатора. ip route перед dhclient eth0:

default via 192.168.0.1 dev eth0 onlink 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2

ip route после dhclient eth0:

default via 192.168.0.1 dev eth0 onlink 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.2 
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.3

'ip a' вывод перед dhclient eth0

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0b:db:be:9f:a5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20b:dbff:febe:9fa5/64 scope link 
       valid_lft forever preferred_lft forever

Я не знаю, что мне делать. Похоже, что шлюз может быть проблемой, поскольку dhcp работает, но изменение его на IP-адрес маршрутизатора (вне vlan), похоже, не работает, и он не работает независимо от того, сколько раз я перезагружаю или перезапускаю networking демон. Еще хочу добавить, что вроде перезапускать networking демон не обнаруживает изменений в /etc/network/interfaces.d/eth0 при перезапуске кажется, что каждое изменение, которое я вношу для тестирования, мне нужно перезапускать, что очень раздражает.

РЕДАКТИРОВАТЬ: Я также хотел бы добавить, что соединение Ethernet работает (домены и IP-адреса успешно отправляются, а веб-сайты работают) на других компьютерах, которые я подключил для тестирования (да, даже после отключения Wi-Fi). Похоже, у меня проблемы с этим конкретным сервером. У него Windows XP Professional установлена ​​в другом разделе, но, похоже, он также не может общаться автоматически там. Я бы сказал, что это проблема с оборудованием, но dhcp работает нормально. Вероятно, другие компьютеры, которые я тестировал, использовали dhcp и просто подключались обратно к маршрутизатору за пределами VLAN, поскольку статика не была установлена. Я проведу повторную проверку без dhcp и dhcp, чтобы увидеть данный ip.

РЕДАКТИРОВАТЬ 2: я отключил DHCP-сервер для vlan и маршрутизатора, и я все еще не могу подключиться к Интернету на сервере. Я также хотел бы упомянуть, что я не мог пинговать 192.168.0.1 (IP-адрес vlan, то есть шлюз), прежде чем я отключил серверы DHCP, и я все еще не могу пинговать 192.168.0.1.

РЕДАКТИРОВАТЬ 3: Благодаря A.B я смог вручную использовать интерфейс vlan. Команды следующие: ip address delete 192.168.0.2/24 dev eth0; ip link add link eth0 name eth0.3 type vlan id 3; ip link set dev eth0.3 up; ip address add 192.168.0.2/24 dev eth0.3; ip route add default via 192.168.0.1 dev eth0.3

//Deletes the address assigned to eth0
ip address delete 192.168.0.2/24 dev eth0;

//Creates a link to eth0 with the vlan interface eth0.3 which is configured for vlan id 3
ip link add link eth0 name eth0.3 type vlan id 3; 

//Sets eth0.3 up
ip link set dev eth0.3 up; 

//Adds and associates 192.168.0.2/24 with eth0.3
ip address add 192.168.0.2/24 dev eth0.3;

//Configures the default route to go to the gateway 192.168.0.1 with the eth0.3 interface
ip route add default via 192.168.0.1 dev eth0.3;

Однако это не решает проблему с файлами конфигурации ifupdown. A.B говорит, что адрес на eth0 может быть причиной проблем ifupdown. В комментариях есть информация о настройке eth0.3 в качестве интерфейса в конфигурациях интерфейсов, которая может быть кому-то полезна. В итоге я установил пакет vlan, modprobing 8021q и создал файл с именем eth0.3 в /etc/network/interfaces.d/ со следующим:

auto eth0.3 
iface eth0.3 inet static 
        address 192.168.0.2
        netmask 255.255.255.0
        gateway 192.168.0.1
        vlan-raw-device eth0 

Но, как уже говорилось, для меня это привело к сбою сетевого демона (после перезагрузки), потому что ifup не может вызвать eth0.3. Если у кого-то есть информация, которая может помочь решить эту проблему, это было бы здорово.

РЕДАКТИРОВАТЬ 4: Когда я удалил auto eth0.3 из eth0.3 в /etc/network/interfaces.d, сетевой демон больше не выходил из строя при перезапуске и показывал, что он был активен и после перезагрузки systemctl --failed показал, что ни один демон не запустился; однако пинг по-прежнему дает Destination Host Unreachable (даже после перезапуска).

Я решил проблему с ifupdown.

Если кто-то, читающий это, не читал комментарии и другие ответы, установите vlan пакет ('apt-get install vlan' или dpkg -i <vlan package name.deb> (последнее, если вы не в сети и вручную переносите deb в систему)) и (я бы перезагрузился перед загрузкой и выполнением следующей части) загрузите модуль ядра 8021q через modprobe 8021q и / или поместите 8021q в /etc/modules-load.d/modules.conf поэтому он будет загружаться при каждой загрузке. Затем отредактируйте следующие файлы конфигурации сети (при необходимости замените ips или другие параметры конфигурации):

Пересмотр /etc/network/interfaces это сработало:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback 

Пересмотр /etc/network/interfaces.d/eth0 это сработало:

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet manual 
        pre-up ip link set dev $IFACE up
        pre-down ip link set dev $IFACE down

Пересмотр /etc/network/interfaces.d/eth0.3 это сработало:

# The vlan network interface
auto eth0.3
allow-hotplug eth0.3
iface eth0.3 inet manual
        address 192.168.0.2
        netmask 255.255.255.0
        gateway 192.168.0.1
        vlan-raw-device eth0

Впоследствии перезапуск сетевого демона (systemctl restart networking) должен быть успешным (проверьте статус с помощью systemctl status networking) и пинг должен быть успешным. Перезагрузка с проверкой (рекомендуется) должна дать то же самое.

Я видел чат с @ a-b, вы смогли заставить работать VLAN, но у вас все еще есть проблема со скриптами для включения и выключения интерфейса. Для загрузки модуля 8021q при загрузке просто выполните:

echo 8021q | sudo tee -a /etc/modules

Затем попробуйте настроить файл / etc / network / interfaces таким образом:

iface eth0 inet static

auto eth0.3
iface eth0.3 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        gateway 192.168.0.1
        vlan-raw-device eth0