Невозможно пропинговать сервер. Wan over vlan на коммутаторе Cisco/Linksys
У меня есть старый, но в основном неиспользуемый коммутатор Cisco/Linksys slm224g4s и маршрутизатор Mikrotik B2011UiAS-RM. На коммутаторе я настроил три vlans, два для WAN1 (id:3) и WAN2 (id:4) и третий для LAN (id:2).
Моя текущая конфигурация порта
port number - designation - port2vlan - port setting pvid
1 - WAN1 input - 2 excl, 3 excl, 4 untagged - 4
2 - WAN2 input - 2 excl, 3 untagged, 4 excl - 3
3-12 servers - 2 tagged, 3 tagged, 4 tagged - 2
13 - WAN1 to router - 2 excl, 3 excl, 4 untagged - 4
14 - WAN2 to router - 2 excl, 3 untagged, 4 excl - 3
15-24 servers - 2 tagged, 3 tagged, 4 tagged - 2
G1 - LAN from router - 2 untagged, 3 excl, 4 excl - 2
G2-G4 servers - 2 tagged, 3 tagged, 4 tagged - 2
Конфигурация в админ-панели: http://s3.fmdx.pl/public/cisco/
Маршрутизатор Mikrotik объединяет эти два WAN-соединения от двух интернет-провайдеров для создания более надежного интернет-соединения и работает как маршрутизатор для всей компании.
У нас есть два, 8 блоков IP-адресов от обоих интернет-провайдеров, маршрутизатор берет только один IP-адрес от каждого интернет-провайдера для обеспечения доступа в Интернет. Оставшиеся IP-адреса используются для серверов компании (файлы, ERP, серверы тестирования / разработки и т. Д.). Мту 1500 везде.
Конфигурация /etc/network/interfaces выглядит так на временном сервере:
# LAN
auto enp1s0.2
iface enp1s0.2 inet static
address 10.1.4.10
gateway 10.1.0.1
netmask 255.255.252.0
dns-nameservers 10.1.0.1
vlan-raw-device enp1s0
mtu 1500
# Netia
allow-hotplug enp1s0.3
iface enp1s0.3 inet static
address 192.168.0.72
gateway 192.168.0.65
netmask 255.255.255.240
dns-nameservers 8.8.8.8 8.8.4.4
vlan-raw-device enp1s0
mtu 1500
# Connected
allow-hotplug enp1s0.4
iface enp1s0.4 inet static
address 192.168.1.168
gateway 192.168.1.161
netmask 255.255.255.240
dns-nameservers 8.8.8.8 8.8.4.4
vlan-raw-device enp1s0
mtu 1500
- IP-адреса WAN в этом примере ненастоящие.
Пакет Vlan установлен, модуль 8021q включен, первый интерфейс VLAN (LAN) работает нормально, я могу пропинговать что угодно через этот интерфейс.
К сожалению, я не могу ничего пропинговать, используя второй и третий интерфейс VLAN, а также сервер не доступен из Интернета.
ifup возвращает enp1s0.3 или enp1s0.4
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
RTNETLINK answers: File exists
ifup: failed to bring up enp1s0.3
ifdown enp1s0.3 или enp1s0.4
ifdown: interface enp1s0.3 not configured
Что мне не хватает?
2 ответа
Хорошо. Теперь все отлично. В чем была проблема.
Я забыл скопировать несколько сценариев, которые мы развертываем на каждом сервере, и один из них включает в себя этот код bash:
# Connected routing
ip route add "$ISP1_NET" dev "$ISP1_IF" src "$ISP1_IP" table "$ISP1_NAME"
ip route add default via "$ISP1_GW" table "$ISP1_NAME"
ip rule add from "$ISP1_IP" table "$ISP1_NAME"
ip rule add from all to "$ISP1_CHECK_IP" table "$ISP1_NAME"
# Netia routing
ip route add "$ISP2_NET" dev "$ISP2_IF" src "$ISP2_IP" table "$ISP2_NAME"
ip route add default via "$ISP2_GW" table "$ISP2_NAME"
ip rule add from "$ISP2_IP" table "$ISP2_NAME"
ip rule add from all to "$ISP2_CHECK_IP" table "$ISP2_NAME"
Также мне пришлось изменить allow-hotplug на auto в /etc/network/interfaces, чтобы он работал после перезагрузки, и изменить несколько переменных в файле конфигурации.
Эти проблемы являются худшими, когда вы тратите свое время, и решение этого простое.:)
Предоставленное решение не совсем правильно, например. вы все равно получите ошибку RTNETLINK answers: File exists
при попытке перезагрузить сеть или перезагрузить компьютер.
Для статуса на Debian Stretch выполните
systemctl status networking.service
Ваши маршруты не будут работать, если вы снова не выполните скрипт вручную.
Первый
У вас есть настройки gateway 10.1.0.1
с netmask 255.255.252.0
где host max может быть 10.1.3.254 с broadcast 10.1.3.255
Проверьте IP-калькулятор / IP-подсеть
второй
Вы можете иметь только один шлюз по умолчанию. Когда вы назначаете, например, gateway 10.1.0.1
для интерфейса, он попытается назначить его по умолчанию, если уже есть один шлюз по умолчанию, вы получите ошибку RTNETLINK answers: File exists
,
Правильная конфигурация должна быть
# LAN
auto enp1s0.2
iface enp1s0.2 inet static
address 10.1.3.254/22 # (max host!)
gateway 10.1.0.1
dns-nameservers 10.1.0.1
vlan-raw-device enp1s0
mtu 1500
# Netia
auto enp1s0.3
iface enp1s0.3 inet static
address 192.168.0.72/20
dns-nameservers 8.8.8.8 8.8.4.4
vlan-raw-device enp1s0
mtu 1500
up ip route add 192.168.0.0/20 via 192.168.0.65 ...
up ...
# Connected
auto enp1s0.4
iface enp1s0.4 inet static
address 192.168.1.168/20
dns-nameservers 8.8.8.8 8.8.4.4
vlan-raw-device enp1s0
mtu 1500
up ip route add 192.168.0.0/20 via 192.168.1.161 ...
up ...
Обратите внимание, как я уже упоминал ранее, вы не можете добавить несколько маршрутов по умолчанию, как ip route add default via ...
,
После того, как вы правильно настроите ваш auto|allow-auto|allow-hotplug [interface]
должно работать, но вы должны проверить ссылку для более подробной информации.
Надеюсь это поможет.