[RHEL7] NetworkManager 환경의 Bonding VLAN Tagging 설정
본문 바로가기
IT 이야기/Linux

[RHEL7] NetworkManager 환경의 Bonding VLAN Tagging 설정

by 찬찬이 아빠 2019. 12. 6.
반응형

RHEL7 기반에서 NetworkManager를 이용하여 네트워크 통신을 수행하는 환경에서 Bonding Tagging 설정을 하려면 어떻게 해야 할까요?

 

1. Bonding Mode 종류

 - mode=0 (balance-rr) : 패킷을 보낼때 순차적 전송

 - mode=1 (active-backup) : Active된 이더넷에 문제 발생시 backup 이더넷으로 전환

 - mode=2 (balance-xor) : xor 연산을 이용한 목적지 Mac과 근원지 Mac을 이용해 패킷 분배

 - mode=3 (broadcast) : 송수신 패킷을 복사해서 모든 이더넷 디바이스에 동일한 패킷 전송

 - mode=4 (802.3ad) : IEEE 802.3ad 프로토콜을 사용해서 스위치 사이에서 동적으로 aggregation을 작성

 - mode=5 (balance-tlb) : 이더넷 디바이스 중 부하가 낮은 장치를 선택해서 ㅐ킷을 보내며 수신은 특정 장치로 지정

 - mode=6 (balance-alb) : 송수신 모두 부하가 낮은 장치를 체크해서 사용

 

2. 설정내역 확인 및 설정 제거

1) 기존 설정 내역 확인

   - /proc/net/bonding/bond0에 설정된 Slave 디바이스명 확인

   - /etc/sysconfig/network-scripts/ifcfg-bond0에서 IP와 Gateway 확인 후 설정 파일 삭제

 

 2) 수행 방법

# cat /etc/sysconfig/network-scripts/ifcfg-bond0
# nmcli connection delete bond0

 

3. Bonding 및 VLAN Tagging 설정 방법

 1) bond0 설정

   - mode 802.3ad로 ipv4.mothod, ipv6.mothod disabled로 설정

   - /etc/sysconfig/network-scripts/ifcfg-bond0 설정 내용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DEVICE=bond0
BONDING_OPTS="miimon=100 updelay 0 downdelay 0 mode=802.3ad"
TYPE=Bond
BONDING_MASTER=yes
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bond0
UUID=xxxxxxx-xxxxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxxxx
ONBOOT=yes
cs

   

 2) Bonding할 Slave Device 설정

  - /proc/net/bonding/bond0에 설정된 Slave 디바이스명으로 eth0, eth1로 가정하여 설명함

  - /etc/sysconfig/network-scripts/ 디렉터리 내에 Slave Device 설정 내용 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<ifcfg-eht0>
TYPE=Ethernet
NAME=eth0
UUID=xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
 
<ifcfg-eht1>
TYPE=Ethernet
NAME=eth1
UUID=xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
cs

 

   - 설정내역 확인 결과 위와 같이 설정되어 있다면 아래 설정 생략

   - Bonding할 Slave Device는 설정 내역 확인에서 설정된 Device 리스트로 설정

# nmcli connection add type bond-slave ifname eth0 con-name eth0 master bond0
# nmcli connection add type bond-slave ifname eth1 con-name eth1 master bond0

 

 3) Bonding 설정 내역 업데이트

# nmcli connection up bond0

 

 4) VLAN Tagging 설정 및 게이트웨이 추가

  - VLAN Tagging ID 설정과 현 서버의 IP 및 게이트웨이르르 추가하여 bond0.100 파일 생성

# nmcli connection add type vlan ifname bond0.100 con-name bond0.100 id 100 dev bond0 ip4 xxx.xxx.xxx.xxx(로컬IP)/24 gw4 xxx.xxx.xxx.xxx(게이트웨이IP)

  - BootProtocol static으로 변경 (nmcli 설정 시 기본값은 dhcp)

# nmcli connection modify bond0.100 ipv4.method static
# nmcli connection modify bond0 ipv4.method static

 

  - DNS 추가

# nmcli connection modify bond0.100 ipv4.dns xxx.xxx.xxx.xxx

 

  - 도메인명 추가 (도메인명 : chanchan.com)

# nmcli connection modify bond0.100 ipv4.dns-search chanchan.com

 

  - /etc/sysconfig/network-scripts/ifcfg-bond0.100 설정 내용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
VLAN=yes
TYPE=Vlan
DEVICE=bond0.100
PHYSDEV=bond0
VLAN_ID=100
REORDER_HDR=yes
GVRP=no
MVRP=no
PROXY_METHOD=none
BROWER_ONLY=no
BOOTPROTO=none
IPADDR=xxx.xxx.xxx.xxx
PREFIX=24
GATEWAY=xxx.xxx.xxx.xxx
DNS1=xxx.xxx.xxx.xxx
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bond0.100
UUID=xxxxxxxxx-xxxxxxx-xxxxxxxx-xxxxxxx-xxxxxxxxxx
ONBOOT=yes
DOMAIN=chanchan.com
cs

 

 5) Bonding 설정 내역 업데이트

# nmcli connection reload

 

 6) 네트워크 재시작

# systemctl restart network
# systemctl restart NetworkManager

 

 

4. 서비스 상태 확인

 - netstat -nr 명령어로 게이트웨이가 등록되었는지 확인

 - route 명령어로 bond0.100의 게이트웨이가 정상적으로 등록되었는지 확인

 - ping 게이트웨이 며ㅇ령어로 게이트웨이까지 ping이 정상적인지 확인

 

 

5. 시스템 재부팅

 시스템 재부팅 후 서비스 상태 확인

 

 

6. 설정 스크립트 (스크립트를 이용한 설정)

 - Bondig이 이미 구성되어 잇는 경우 Slave 디바이스 설정은 생략

반응형

댓글