Product SiteDocumentation Site

101.6. Настройка VLAN

VLAN (Virtual Local Area Network) — это сетевой стандарт IEEE 802.1Q, позволяющий создавать логически изолированные сетевые сегменты на одном физическом интерфейсе. Это используется для разделения трафика между разными сетями (например, LAN, DMZ, VoIP).

Примечание

Идентификатор VLAN (VID) может принимать значения от 1 до 4095. Следует обратить внимание, что 4094 является верхней допустимой границей идентификатора VLAN, а 4095 зарезервирован для внутренних нужд (например, отбрасывание трафика с недопустимыми тегами).
Пример настройки VLAN с ID 100 на интерфейсе enp0s3:
  1. Создать каталог для VLAN с идентификатором enp0s3.100:
    # mkdir /etc/net/ifaces/enp0s3.100
    
  2. Создать файл options:
    # cat <<EOF > /etc/net/ifaces/enp0s3.100/options
    BOOTPROTO=static
    CONFIG_WIRELESS=no
    CONFIG_IPV4=yes
    HOST=enp0s3
    ONBOOT=yes
    TYPE=vlan
    VID=100
    EOF
    
    где:
    • HOST=enp0s3 — указывает физический интерфейс;
    • VID=100 — идентификатор VLAN.
  3. Создать файл ipv4address с IP-адресом для интерфейса enp0s3.100:
    # echo "192.168.10.63/24" > /etc/net/ifaces/enp0s3.100/ipv4address
    
  4. Создать файл ipv4route с маршрутом по умолчанию для интерфейса enp0s3.100:
    # echo "default via 192.168.10.1" > /etc/net/ifaces/enp0s3.100/ipv4route
    
  5. Применить изменения:
    # systemctl restart network
  6. Показать VLAN-интерфейс:
    $ ip addr show enp0s3.100
    Пример вывода:
    12: enp0s3.100@enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 08:00:27:06:39:4d brd ff:ff:ff:ff:ff:ff
        inet 192.168.10.63/24 scope global enp0s3.100
           valid_lft forever preferred_lft forever
    
    Показать все интерфейсы:
    $ ip addr
    Пример вывода:
    …
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 …
        inet 192.168.0.60/24 brd 192.168.0.255 scope global enp0s3
    12: enp0s3.100@enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 …
        inet 192.168.10.63/24 scope global enp0s3.100
    …
    

101.6.1. Q-in-Q интерфейс

Q-in-Q (802.1Q-in-802.1Q) — технология, позволяющая инкапсулировать один VLAN-тег в другой. Используется в провайдерских сетях для передачи трафика клиентов с сохранением их внутренней структуры VLAN.
Пример настройки Q-in-Q интерфейса enp0s3.100.200 (внешняя метка — 100, внутренняя — 200):
  1. Создать каталог для Q-in-Q интерфейса:
    # mkdir /etc/net/ifaces/enp0s3.100.200
    
  2. Создать файл options:
    # cat <<EOF > /etc/net/ifaces/enp0s3.100.200/options
    BOOTPROTO=static
    HOST=enp0s3.100
    TYPE=vlan
    VID=200
    VLAN_REORDER_HDR=0
    EOF
    
    где:
    • HOST=enp0s3.100 — указывает на внешний VLAN-интерфейс;
    • VID=200 — внутренний (клиентский) VLAN;
    • VLAN_REORDER_HDR=0 — отключает переупорядочивание заголовков (важно для Q-in-Q).
  3. Создать файл ipv4address с IP-адресом для интерфейса enp0s3.100.200:
    # echo "192.168.20.64/24" > /etc/net/ifaces/enp0s3.100.200/ipv4address
    
  4. Создать файл ipv4route с настройкой маршрута:
    # echo "default via 192.168.20.1" > /etc/net/ifaces/enp0s3.100.200/ipv4route
    
  5. Применить изменения:
    # systemctl restart network
  6. Показать Q-in-Q интерфейс:
    $ ip addr show enp0s3.100.200
    Пример вывода:
    16: enp0s3.100.200@enp0s3.100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 08:00:27:06:39:4d brd ff:ff:ff:ff:ff:ff
        inet 192.168.20.64/24 scope global enp0s3.100.200
           valid_lft forever preferred_lft forever
    
    Показать все интерфейсы:
    $ ip addr
    Пример вывода:
    …
    2:  enp0s3: … inet 192.168.0.60/24
    15: enp0s3.100@enp0s3: … inet 192.168.10.63/24
    16: enp0s3.100.200@enp0s3.100: … inet 192.168.20.64/24
    …
    

    Примечание

    Интерфейс enp0s3.100.200 «привязан» к enp0s3.100, что соответствует Q-in-Q.