Настройване на маркирани VLAN в CentOS, администраторски блог

Блог за технологиите, технокрацията и методите за справяне с гребла

Конфигуриране на работа на VLAN в CentOS

Взех се да тествам Dedik тук и купих IP пул за него. Всичко изглежда настроено - не реагира. Проверих отново 100 пъти, пиша на поддръжката, така казват те и така, сякаш псевдонимите са се повишили, но нищо не се пингва. Така че нека спешно коригираме порталите и маските.

На което получавам отличен отговор, че трябва да свържа маркиран VLAN. Благодаря ви, разбира се, че докладвахте няколко дни след връзката. Да отидем на настройките.

Всъщност, тъй като имам две мрежи, да речем 10.10.1.0 и 10.10.2.0, тогава ще открием VLAN номерата за тях, да речем 10.10.1.0 ще бъде VLAN101, в 10.10.2.0 - VLAN102.

Модулът на ядрото 8021q отговаря за поддръжката на VLAN в Linux. Теоретично трябва да се инсталира допълнително, но тъй като имам CentOS, той вече съществува, така че можем да проверим наличието му, като го заредим с ръце:

# modprobe 8021q доставете VLAN конфигурацията на системата и вижте дали работи:# yum -y install vconfig# vconfig add eth0 101# vconfig add eth0 102# cat /proc/net/vlan/config VLAN Dev name VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth0.101 101 eth0 eth0.102 102 eth0

Изглежда, че оре, включително преминаване към настройка на устойчивост на рестартиране. Подобно на всички други мрежови настройки чрез initscripts в CentOS, VLAN настройките се намират в папката /etc/sysconfig/network-scripts/, където можете да отидете по два различни начина за конфигуриране, за които създавате един от файловете:

1. ifcfg-vlanNNN, където NNN е номерът на VLAN (VID идентификатор); 2. ifcfg-INTERFACE-NAME.NNN, където INTERFACE-NAME е името на интерфейса, а NNN е VLAN номерът (VID).

Опитах да настроя и дветеопция, но не ми свършиха работа, защото допълнителни IP-та не отговаряха. Както се оказа по-късно, проблемът беше в настройките на ядрото, защото в крайна сметка се спрях на втората опция със стандартни настройки.

Трябва да се отбележи, че на теория, след създаването на файловете, всичко само по себе си започва да шумоли правилно, стартирането им инициира зареждането на модула 8021q и всички са доволни, но за мен, поради посочените по-долу причини, всичко не се получи малко. Действителната версия на файловете е както следва:

1. Конфигуриране чрез wlan файлове

# cat ifcfg-vlan101 VLAN=да VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD DEVICE=vlan101 PHYSDEV=eth0 BOOTPROTO=статичен ONBOOT=да TYPE=Ethernet IPADDR=10.10.1.101# cat ifcfg-vlan102 VLAN=да VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD DEVICE=vlan102 PHYSDEV=eth0 BOOTPROTO=статичен ONBOOT=да TYPE=Ethernet IPADDR=10.10.2.101

2. Настройка чрез интерфейси

# cat ifcfg-eth0.101 VLAN=да DEVICE=eth0.101 BOOTPROTO=статичен ONBOOT=да TYPE=Ethernet IPADDR=10.10.1.101 NETMASK=255.255.255.0# cat ifcfg-eth 0.10 2 VLAN=да DEVICE=eth0.102 BOOTPROTO=статичен ONBOOT=да TYPE=Ethernet IPADDR=10.10.2.101 NETMASK=255.255.255.0

След рестартиране на мрежовата услуга или система wealans се повишават, както се вижда от системните показания:# cat /proc/net/vlan/config VLAN Dev name VLAN ID Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD eth0.101 101 eth0 eth0.102 102 e th0# ip l ls 1: lo: mtu 65536 qdisc noqueue state UNKNOWN връзка/завъртане 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_ бързо състояние НАГОРЕ qlen 1000 връзка/етер 00:15 :174:77:05 brd ff:ff:ff:ff:ff:ff 6: eth0.101@eth0: mtu 1500 qdiscnoqueue състояние UP връзка/етер 00:15:174:77:05 brd ff:ff:ff:ff:ff:ff 7: eth0.102@eth0: mtu 1500 qdisc noqueue състояние UP връзка/ether 00:15:174:77:05 brd ff:ff:ff:ff:ff:ff

Но пингът не отиде, така че трябваше да озадачавам причините. След много препращане и промяна на файловете с настройки на VLAN стигнах до извода, че проблемът е в модула, откъдето стигнах до ядрото и филтъра за обратен път, който прекъсва асиметричното маршрутизиране по подразбиране: .ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.arp_filter = 0 net.ipv4.conf.lo.rp_filter = 1 net.ipv4.conf.lo.arp_filter = 0 net.ipv4.conf.eth0.rp_filter = 1 net.ipv4.conf.eth0.arp_filter = 0 net.ipv4.conf.eth0/101.rp_filter = 1 net.ipv4.conf.eth0/101.arp_filter = 0 net.ipv4.conf.eth0/102.rp_filter = 1 net.ipv4.conf.eth0/102.arp_filter = 0

така че във файла /etc/sysctl.conf деактивирах филтрирането на rp_filter чрез добавяне на редове за VLAN и промяна на стойността по подразбиране: net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.eth0/101.rp_filter = 0 net.ipv4.conf.eth0/102.rp_filter = 0 след това всичко добре е, работи малко.

Zero деактивира филтрирането, което позволява преминаването на асиметрично разпределени пакети. Но тук трябва да разберете, че деактивирането на проверката на източника прави машината уязвима за IP фишинг по време на DDoS атака, включително мана за използване на асиметрично маршрутизиране, препоръчително е да използвате нестрог режим, т.е. задайте стойността на параметъра на 2.