목차

Bond-Bridge 생성

위 그림처럼 interface 2개를 bonding으로 묶은 이후 해당 bond interfacebridge로 만들어야 하는 경우가 있다.

일반적인 linux network (ifconfig) 방식에서는 쉽게 만들수 있지만 NetworkManager를 통해서 만들어야 하는경우 약간 복잡해진다.

무엇보다 nmtui 에서 Bridge의 Slave interface로 bond interface를 지정하지 못하는 문제가 있어서 NetworkManager를 사용해야 하는경우

nmtui를 사용하면 안되고 nmcli로 수동으로 구성해줘야 한다.

Bridge 생성

먼저 Bridge Interface를 생성한다.

br-ext라는 Bridge를 생성한다.

BRIDGE=br-ext
BRIDGE_STP=yes
BRIDGE_MTU=1500

nmcli con add type bridge con-name "${BRIDGE}" ifname "${BRIDGE}"

### STP와 MTU는 필요한경우 설정한다.
nmcli con modify "${BRIDGE}" bridge.stp "${BRIDGE_STP}"
nmcli con modify "${BRIDGE}" 802-3-ethernet.mtu "${BRIDGE_MTU}"

해당 브릿지 인터페이스에서 사용할 IP를 설정한다.

nmcli con modify "${BRIDGE}" ipv4.method manual ipv4.address 192.168.0.123/24 ipv6.method ignore

### IP사용하지 않을경우
nmcli con modify "${BRIDGE}" ipv4.method disabled ipv6.method ignore

브릿지 인터페이스 활성화

nmcli con up "${BRIDGE}"

nmcli con
brctl show

Bond Inteface 생성 후 Bridge 연결

BOND=bond0
BOND_SLAVE0=eth0
BOND_SLAVE1=eth1
BOND_MODE=active-backup
BOND_MTU=9000

nmcli con add type bond ifname "${BOND}" con-name "${BOND}"
nmcli con modify "${BOND}" bond.options mode="${BOND_MODE}"
nmcli con modify "${BOND}" 802-3-ethernet.mtu "${BOND_MTU}"
nmcli con add type ethernet con-name "${BOND}-slave-${BOND_SLAVE0}" ifname "${BOND_SLAVE0}" master "${BOND}"
nmcli con add type ethernet con-name "${BOND}-slave-${BOND_SLAVE1}" ifname "${BOND_SLAVE1}" master "${BOND}"
nmcli con modify "${BOND}-slave-${BOND_SLAVE0}" 802-3-ethernet.mtu "${BOND_MTU}"
nmcli con modify "${BOND}-slave-${BOND_SLAVE1}" 802-3-ethernet.mtu "${BOND_MTU}"

이후 해당 bond 인터페이스를 브릿지 인터페이스에 연결해준다.

nmcli con modify "${BOND}" master "${BRIDGE}" slave-type bridge

nmcli con up "${BOND}"

cat /proc/net/bonding/bond0

nmcli con
ls /sys/class/net/br-bond0/brif/
brctl show

VLAN 생성

VLAN을 사용할 브릿지 인터페이스 생성

VLAN=123
BOND=bond0
BRIDGE=br-vlan${VLAN}
BRIDGE_STP=yes
BRIDGE_MTU=9000

nmcli con add type bridge con-name "${BRIDGE}" ifname "${BRIDGE}"
nmcli con modify "${BRIDGE}" bridge.stp "${BRIDGE_STP}"
nmcli con modify "${BRIDGE}" 802-3-ethernet.mtu "${BRIDGE_MTU}"

nmcli con up "${BRIDGE}"

해당 VLAN 인터페이스를 브릿지에 연결

nmcli con add type vlan con-name "${BOND}.${VLAN}" ifname "${BOND}.${VLAN}" dev "${BOND}" id "${VLAN}"
nmcli con modify "${BOND}.${VLAN}" master "${BRIDGE}" slave-type bridge
nmcli con modify "${BOND}.${VLAN}" 802-3-ethernet.mtu "${BRIDGE_MTU}"

nmcli con
brctl show

참조링크