Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

10.3. 명령줄 도구 nmcli를 사용하여 802.1Q VLAN 태그 지정 구성

시스템에서 사용 가능한 인터페이스를 보려면 다음과 같이 명령을 실행합니다.
~]$ nmcli con show
NAME         UUID                                  TYPE            DEVICE
System enp2s0  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  802-3-ethernet  enp2s0
System enp1s0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  enp1s0
출력의 NAME 필드는 항상 연결 ID를 나타냅니다. 이 이름은 인터페이스 이름이 아니며, 인터페이스 이름이 같을 수도 있습니다. nmcli connection 명령에서 ID를 사용하여 연결을 식별할 수 있습니다. DEVICE 이름을 firewalld 와 같은 다른 애플리케이션에 사용합니다.
VLAN 인터페이스 VLAN 10 및 ID 10 을 사용하여 이더넷 인터페이스 enp1s0 에서 802.1Q VLAN 인터페이스를 생성하려면 다음과 같이 명령을 실행합니다.
~]$ nmcli con add type vlan ifname VLAN10 dev enp1s0 id 10
Connection 'vlan-VLAN10' (37750b4a-8ef5-40e6-be9b-4fb21a4b6d17) successfully added.
VLAN 인터페이스에 대해 Con-name 이 지정되지 않았기 때문에 유형 앞에 따라 이름이 인터페이스 이름에서 파생되었습니다. 또는 다음과 같이 con-name 옵션을 사용하여 이름을 지정합니다.
~]$ nmcli con add type vlan con-name VLAN12 dev enp1s0 id 12
Connection 'VLAN12' (b796c16a-9f5f-441c-835c-f594d40e6533) successfully added.

VLAN 인터페이스에 주소 할당

동일한 nmcli 명령을 사용하여 다른 인터페이스와 마찬가지로 정적 및 동적 인터페이스 주소를 할당할 수 있습니다.
예를 들어, 정적 IPv4 주소 및 게이트웨이를 사용하여 VLAN 인터페이스를 생성하는 명령은 다음과 같습니다.
~]$ nmcli con add type vlan con-name VLAN20 dev enp1s0 id 20 ip4 10.10.10.10/24 \
gw4 10.10.10.254
동적으로 할당된 VLAN 인터페이스를 생성하려면 다음과 같이 명령을 실행합니다.
~]$ nmcli con add type vlan con-name VLAN30 dev enp1s0 id 30
nmcli 명령을 사용하여 인터페이스를 구성하는 방법은 3.3.6절. “nmcli를 사용하여 네트워크에 연결” 를 참조하십시오.
생성된 VLAN 인터페이스를 검토하려면 다음과 같이 명령을 실행합니다.
~]$ nmcli con show
NAME         UUID                                  TYPE            DEVICE
VLAN12         4129a37d-4feb-4be5-ac17-14a193821755  vlan            enp1s0.12
System enp2s0  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  802-3-ethernet  enp2s0
System enp1s0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  802-3-ethernet  enp1s0
vlan-VLAN10    1be91581-11c2-461a-b40d-893d42fed4f4  vlan            VLAN10
새로 구성된 연결에 대한 자세한 정보를 보려면 다음과 같이 명령을 실행합니다.
~]$ nmcli -p con show VLAN12
===============================================================================
                      Connection profile details (VLAN12)
===============================================================================
connection.id:                          VLAN12
connection.uuid:                        4129a37d-4feb-4be5-ac17-14a193821755
connection.interface-name:              --
connection.type:                        vlan
connection.autoconnect:                 yes

-------------------------------------------------------------------------------
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu:                     auto

vlan.interface-name:                    --
vlan.parent:                            enp1s0
vlan.id:                                12
vlan.flags:                             0 (NONE)
vlan.ingress-priority-map:
vlan.egress-priority-map:
-------------------------------------------------------------------------------
===============================================================================
      Activate connection details (4129a37d-4feb-4be5-ac17-14a193821755)
===============================================================================
GENERAL.NAME:                           VLAN12
GENERAL.UUID:                           4129a37d-4feb-4be5-ac17-14a193821755
GENERAL.DEVICES:                        enp1s0.12
GENERAL.STATE:                          activating
[output truncated]
VLAN 명령의 추가 옵션은 nmcli(1) 도움말 페이지의 VLAN 섹션에 나열되어 있습니다. 도움말에서 VLAN이 생성된 장치를 상위 장치라고 합니다. 위의 예에서 장치는 인터페이스 이름 enp1s0 으로 지정되었으며 연결 UUID 또는 MAC 주소로 지정할 수도 있습니다.
이름이 인 이더넷 인터페이스 enp2s0 에서 수신 우선 순위 매핑을 사용하여 802.1Q VLAN 연결 프로파일을 생성하려면 다음을 수행합니다. VLAN1 ID 13 은 다음과 같이 명령을 실행합니다.
~]$ nmcli con add type vlan con-name VLAN1 dev enp2s0 id 13 ingress "2:3,3:5"
위에서 만든 VLAN과 관련된 모든 매개 변수를 보려면 다음과 같이 명령을 실행합니다.
~]$ nmcli connection show vlan-VLAN10
MTU를 변경하려면 다음과 같이 명령을 실행합니다.
~]$ nmcli connection modify vlan-VLAN10 802.mtu 1496
MTU 설정은 네트워크 계층 패킷의 최대 크기를 결정합니다. 링크 계층 프레임이 전송할 수 있는 페이로드의 최대 크기는 네트워크 계층 MTU를 제한합니다. 표준 이더넷 프레임의 경우 1500바이트의 MTU를 나타냅니다. 802.1Q 태그를 수용하기 위해 링크 계층 헤더 크기가 4바이트만큼 증가하므로 VLAN을 설정할 때 MTU를 변경할 필요가 없습니다.
작성 시 connection.interface-namevlan.interface-name 은 동일해야 합니다(설정된 경우). 따라서 nmcli 의 대화형 모드를 사용하여 동시에 변경해야 합니다. VLAN 연결 이름을 변경하려면 다음과 같이 명령을 실행합니다.
~]$ nmcli con edit vlan-VLAN10
nmcli> set vlan.interface-name superVLAN
nmcli> set connection.interface-name superVLAN
nmcli> save
nmcli> quit
nmcli 유틸리티를 사용하여 802.1Q 코드 작동 방식을 변경하는 ioctl 플래그를 설정하고 삭제할 수 있습니다. NetworkManager 에서 지원하는 VLAN 플래그는 다음과 같습니다.
  • 0x01 - 출력 패킷 헤더의 순서 변경
  • 0x02 - GVRP 프로토콜 사용
  • 0x04 - 인터페이스 및 마스터의 느슨한 바인딩
VLAN의 상태는 상위 또는 마스터 인터페이스(VLAN이 생성된 인터페이스 또는 장치)의 상태와 동기화됩니다. 상위 인터페이스가 down 관리 상태로 설정되면 연결된 모든 VLAN이 down으로 설정되고 모든 경로가 라우팅 테이블에서 플러시됩니다. 플래그 0x04 에서는 상위에서 연결된 VLAN으로만 운영 상태가 전달되는 느슨한 바인딩 모드를 사용할 수 있지만 VLAN 장치 상태는 변경되지 않습니다.
VLAN 플래그를 설정하려면 다음과 같이 명령을 실행합니다.
~]$ nmcli connection modify vlan-VLAN10 vlan.flags 1
nmcli 에 대한 소개는 3.3절. “nmcli로 IP 네트워킹 구성” 을 참조하십시오.