EdgeRouter - 인터페이스 바운딩과 링크 집계 그룹 (Link Aggregation Groups, LAGs)¶
download at 2017-10-02T17:26:55Z origin
Overview
이 문서는 EdgeRouter의 바운드된 인터페이스에 EdgeSwitch 링크 집계 그룹을 802.3ad 링크 집계 제어 프로토콜 (LACP)을 사용하여 연결하는 방법에 대하여 서술합니다.
Warning
EdgeRouter의 인터페이스 본딩은 소프트웨어를 통해서 이루어집니다. 이는 본딩된 인터페이스를 통해 들어오는 트래픽은 오프로딩이 적용되지 않음을 의미합니다. 본딩된 인터페이스는 중복적으로 필요한 것이지 성능을 향상시키는 방법이 아닙니다. 더 많은 오프로딩에 관한 정보는 하드웨어 오프로딩 문서를 참조하십시오.
Note
EdgeOS 1.9.7 이상 버전의 펌웨어가 설치된 모든 EdgeRouter 모델에서 적용 가능합니다. 커맨드라인 인터페이스에 대한 지식과 기본 네트워킹에 대한 지식이 필요합니다. `관련 문서 <#related%20articles>`__를 참조하여 필요한 정보 및 설정 값을 확인하세요
이 문서에서 사용한 장비:
- EdgeRouter-X (ER-X) - EdgeSwitch-8-150W (ES-8-150W)
Table of Contents
네트워크 다이어그램
네트워크 토폴로지는 아래와 같습니다. EdgeRouter와 EdgeSwitch에서 사용한 인터페이스 정보는 다음과 같습니다.
ER-X
- eth0 - 192.168.1.1/24 (임시 관리용)
- bond0 - 10.0.99.1/24
- bond0.10 (VIF 10) - 10.0.10.1/24
- bond0.20 (VIF 20) - 10.0.20.1/24
ES-8
- 3/1 (tagged) - VLAN10 / VLAN20
- svi10 - 10.0.10.2/24
- svi20 - 10.0.20.2/24
인터페이스 본딩 방법
이 예제에서는 EdgeRouter (ER)이 기본 환경 설정에서 동작한다고 가정합니다. 이 문서의 목표를 위하여 라우팅 장비가 eth0 인터페이스 (192.168.1.1)로 관리되고 있다고 가정합니다.
인터페이스는 eth1과 eth2로 본딩합니다. 모든 설정 (IP 주소, 방화벽 룰, QoS 정책 등)은 2개의 인터페이스를 위한 본딩 인터페이스 (bond0) 설정값이 될 것입니다.
CLI 방법: 장비의 CLI에 접근합니다. PuTTY와 같은 SSH 프로그램을 사용하면 됩니다.
- 설정 모드로 진입한다.
configure
- eth1, eth2 인터페이스 현재 설정을 삭제한다.
delete interfaces ethernet eth1
delete interfaces ethernet eth2
- bond0 인터페이스를 생성하고 해싱 정책과 본딩 모드를 지정한다.
set interfaces bonding bond0 mode 802.3ad
set interfaces bonding bond0 hash-policy layer2
적용가능한 해시 정책은:
- layer2 - MAC 주소를 사용하여 해시 값을 생성한다 (802.3ad)
- layer2+3 - MAC 주소와 IP 주소를 조합하여 해시 값을 생성한다
- layer3+4 - IP 주소와 포트 번호를 통하여 해시 값을 생성한다
4. bond0 인터페이스의 가상 인터페이스(VIF)에 IP 주소를 할당한다.
set interfaces bonding bond0 address 10.0.99.1/24
set interfaces bonding bond0 vif 10 address 10.0.10.1/24
set interfaces bonding bond0 vif 20 address 10.0.20.2/24
- 본딩 그룹에 인터페이스를 할당한다.
set interfaces ethernet eth1 bond-group bond0
set interfaces ethernet eth2 bond-group bond0
- 설정 내용을 커밋하고 저장한다.
commit ; save ; exit
7. 생성한 인터페이스를 검증한다:
show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
bond0 10.0.99.1/24 u/u
bond0.10 10.0.10.1/24 u/u
bond0.20 10.0.20.1/24 u/u
링크 집계 그룹 설정 방법
이 예제에서는 ER이 SSH 관리 접근을 허용한 기본 설정으로 동작하고 있다고 가정합니다. 가장 먼저 해야 할 일은 VLAN과 VLAN 인터페이스 (SVI)를 생성하고 업링크 포트(3/1)로 연결하는 것입니다. EdgeSwitch의 모든 LAG 포트는 3/x 로 생성되고 번들링된 여러개의 이더넷 인터페이스가 함꼐 입력된다. 이 경우에는 인터페이스는 LAG와 연관지어지며 포트는 0/1 과 0/2가 된다.
CLI 방법: 장비의 CLI에 접근합니다. PuTTY와 같은 SSH, 텔넷이나 콘솔 프로그램을 사용하면 됩니다.
- 특권 모드에 진입합니다.
enable
- 관리 VLAN을 위한 네트워크 프로토콜, 파라미터, VLAN-idㄹ를 정읠합니다.
network protocol none
network parms 10.0.99.2 255.255.255.0 10.0.99.1
network mgmt_vlan 99
- VLAN과 VLAN 인터페이스 (SVIs)를 생성합니다.
vlan database
vlan 10,20,99
vlan routing 10 1
vlan routing 20 2
exit
Note
입력 포맷은 *VLAN routing** <vlan-id> <interface-id (1-15)>*입니다. *interface-id *는 VLAN 넘버와 꼭 일치할 필요는 없습니다. 내부 스위치 아키텍처에서 다른 VLAN 인터페이스로 분리되어 사용될 수 있습니다.
4. 설정 모드에 진입합니다.
configure
- 0/1, 0/2 인터페이스에 아무런 환경 설정 값이 없음을 확인합니다.
show running-config interface 0/1
!Current Configuration:
!
interface 0/1
exit
show running-config interface 0/2
!Current Configuration:
!
interface 0/2
exit
- (선택사항) 인터페이스에 VLAN 설정이 존재한다면, 다음 명령어를 통해서 초기화 할 수 있습니다:
interface 0/1
no vlan pvid
no vlan tagging 1-4093
vlan participation auto 1-4093
vlan participation include 1
interface 0/2
no vlan pvid
no vlan tagging 1-4093
vlan participation auto 1-4093
vlan participation include 1
7. 3/1 포트를 사용하여 링크 집계 그룹에 인터페이스를 추가합니다.
interface 0/1
addport 3/1
exit
interface 0/2
addport 3/1
exit
Note
3/1 포트가 사용중이라면 다른 포트를 사용할 수 있습니다. (ES-8-150W 모델에서는 3/6 포트까지 사용 가능합니다.)
8. (LAG) 포트 채널 로드밸런싱 방법을 정의하고 802.3ad 링크 집계 그룹 관리 프로토콜 (LACP) 를 활성화합니다.
interface lag 1
no port-channel static
port-channel load-balance 3
Note
기본 포트 채널 로드밸런싱 기법은 1 (소스 MAC 주소) 이며 기본 프로토콜은 고정(static)입니다. 로드밸런싱 기법은 양쪽 모두 동일할 필요가 없으며 본 예제에서는 EdgeRouter 본딩 해시 정책과 동일하게 설정하였습니다.
가능한 로드 밸런싱 방법은 다음과 같습니다:
- 1 - 시작지 MAC, VLAN, EType, 입력 받는 포트
- 2 - 목적지 MAC, VLAN, EType, 입력 받는 포트
- 3 - 시작지/목적지 MAC, VLAN, EType, 입력 받는 포트
- 4 - 시작지 IP, 시작지 TCP/UDP 포트 필드
- 5 - 목적지 IP, 목적지 TCP/UDP 포트 필드
- 6 - 시작지/목적지 IP, TCP/UDP 포트 필드
Note
최적의 로드밸런싱 기법을 선정하는 것은 중요하지만, 각 환경에 종속적인 문제입니다. 따라서 각 두개의 링크 사이에 트래픽 흐름에 따라서 기법을 선정해야 합니다. 트래픽은 절대로 양쪽 링크에서 동시에 흐를 수 없으므로 LAG와 인터페이스 본딩이 전체 성능을 향상시키지는 않습니다. 설정에 관계 없이 양쪽 링크가 테스트 및 검증 섹션의 기술된 명령어들을 바탕으로 최적화가 되었는지 확인을 해야합니다.
9. LAG 포트를 생성한 VLAN에 할당합니다.
아래의 환경 설정은 3/1 포트가 vLAN10, VLAN20, VLAN99 (네이티브 VLAN, pvid) 에 태깅한 설정입니다. 이후에는 필요 없는 VLAN 포트를 제외합니다.
interface lag 1
vlan pvid 99
vlan tagging 10,20
vlan participation include 10,20,99
vlan participation exclude 1
- IP주소와 SVI를 연동하고 라우팅을 활성화합니다.
interface vlan 10
ip address 10.0.10.2 255.255.255.0
routing
exit
interface vlan 20
ip address 10.0.20.2 255.255.255.0
routing
exit
- 라우팅 기능을 활성화 합니다.
ip routing
12. 변경 내용을 스타트업 환경 설정에 작성합니다.
write memory
테스팅 및 검증
포트와 VLAN 설정 작업 후에는 연결과 상태를 다음 명령어를 통해서 검증할 수 있습니다:
- ER의 bond0 인터페이스 상태 확인:
show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
bond0 10.0.99.1/24 u/u
bond0.10 10.0.10.1/24 u/u
bond0.20 10.0.20.1/24 u/u
show interfaces bonding bond0
bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 80:2a:a8:8d:8f:18 brd ff:ff:ff:ff:ff:ff
inet 10.0.99.1/24 brd 10.0.99.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::822a:a8ff:fe8d:8f18/64 scope link
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
9550 107 0 1 0 40
TX: bytes packets errors dropped carrier collisions
29522 335 0 0 0 0
show interfaces bonding bond0 vif 10
bond0.10@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 80:2a:a8:8d:8f:18 brd ff:ff:ff:ff:ff:ff
inet 10.0.10.1/24 brd 10.0.10.255 scope global bond0.10
valid_lft forever preferred_lft forever
inet6 fe80::822a:a8ff:fe8d:8f18/64 scope link
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
820 17 0 0 0 0
TX: bytes packets errors dropped carrier collisions
828 12 0 0 0 0
show interfaces bonding bond0 vif 20
bond0.20@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 80:2a:a8:8d:8f:18 brd ff:ff:ff:ff:ff:ff
inet 10.0.20.1/24 brd 10.0.20.255 scope global bond0.20
valid_lft forever preferred_lft forever
inet6 fe80::822a:a8ff:fe8d:8f18/64 scope link
valid_lft forever preferred_lft forever
RX: bytes packets errors dropped overrun mcast
1970 42 0 0 0 0
TX: bytes packets errors dropped carrier collisions
548 6 0 0 0 0
- VLAN의 포트 상태 및 ES의 LAG 인터페이스 확인:
show interfaces switchport general
Intf PVID Ingress Acceptable Untagged Tagged Forbidden Dynamic
Filtering Frame Type Vlans Vlans Vlans Vlans
--------- ----- ---------- ---------- --------- --------- --------- ---------
0/1 1 Disabled Admit all 1
0/2 1 Disabled Admit all 1
3/1 99 Disabled Admit all 99 10,20 1
show interfaces switchport 3/1
VLAN Membership Mode: General
General Mode PVID: 99
General Mode Untagged VLANs: 99
General Mode Tagged VLANs: 10,20
General Mode Forbidden VLANs: 1
show ip interface brief
Interface State IP Address IP Mask TYPE Method
---------- ----- --------------- --------------- --------------- ------
vlan 10 Up 10.0.10.2 255.255.255.0 Primary Manual
vlan 20 Up 10.0.20.2 255.255.255.0 Primary Manual
show lacp partner all
Sys System Admin Prt Prt Admin
Intf Pri ID Key Pri Id State
------- ----- ----------------- ----- ----- ----- -----------
0/1 65535 80:2A:A8:8D:8F:18 17 255 1 ACT|AGG|LTO
0/2 65535 80:2A:A8:8D:8F:18 17 255 2 ACT|AGG|LTO
show lacp actor all
Sys Admin Port Admin
Intf Priority Key Priority State
------- -------- ----- -------- -----------
0/1 32768 0 128 ACT|AGG|LTO
0/2 32768 0 128 ACT|AGG|LTO
Note
LACP의 결과는 ES의 우선순위가 32768인 기본 설정 값일 때의 결과값입니다. ER은 최대 65535까지 설정이 가능합니다. 낮은 우선순위는 ES가 번들에서 master가 된다는 사실을 의미하므로 낮은 우선순위를 갖는 것이 좋습니다.
관리자 상태 값은 아래의 더 이해를 돕기 위한 설명을 참조하세요:
- ACT (Active mode) - 포트 채널을 LACP 프레임 (LACPDUs)을 지속적으로 전송하면서 결정합니다.
- PSU (Partner mode) - LACPDUs를 수신하면서 수동적으로 포트 채널을 결정합니다.
- AGG (Aggregate mode) - 포트를 링크집계그룹의 제어 아래에 있도록 합니다.
- IND (Individual mode) - 포트를 스탠드얼론/individual 상태로 두어 번들링 하지 않습니다.
- LTO (Long Timeout) - LACP 교환 빈도를 낮게 하여 연결을 유지합니다.
- STO (Short Timeout) - LACP를 교환 빈도를 높게 하여 연결을 유지합니다.
더 많은 LACP에 관한 정보를 알기를 원한다면, 커맨드라인 인터페이스 (CLI) 관리 가이드 문서를 참조하세요.
show port-channel all
Log. Channel Adm. Mbr Device/ Port Port
Intf Name Min Link Mode Type Ports Timeout Speed Active
------- --------------- ---- ------ ---- ---- ------ ------------- --------- -------
3/1 ch1 1 Up En. Dyn. 0/1 actor/long Auto True
partner/long
0/2 actor/long Auto True
partner/long
show port-channel 3/1
Local Interface................................ 3/1
Channel Name................................... ch1
Link State..................................... Up
Admin Mode..................................... Enabled
Type........................................... Dynamic
Port-channel Min-links......................... 1
Load Balance Option............................ 3
(Src/Dest MAC, VLAN, EType, incoming port)
Mbr Device/ Port Port
Ports Timeout Speed Active
------ ------------- --------- -------
0/1 actor/long Auto True
partner/long
0/2 actor/long Auto True
partner/long
3. ER인터페이스의 로드밸런싱 정책과 트래픽 카운터 값 확인하기:
show interfaces bonding bond0 slaves
Interface RX: bytes packets TX: bytes packets
bond0 11056 119 30266 341
eth1 2688 21 5086 44
eth2 8368 98 25180 297
show interfaces ethernet eth1
eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc noqueue master bond0 state UP group default
link/ether 80:2a:a8:8d:8f:18 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
2816 22 0 0 0 22
TX: bytes packets errors dropped carrier collisions
5086 44 0 0 0 0
show interfaces ethernet eth2
eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc noqueue master bond0 state UP group default
link/ether 80:2a:a8:8d:8f:18 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
8496 99 0 0 0 32
TX: bytes packets errors dropped carrier collisions
5086 44 0 0 0 0
관련문서