테스트 환경: RHEL 9, Rocky 9, NAVIX 9
static ip 설정
# 설정
nmcli con mod ens33 ipv4.address 192.168.122.191/24 \
ipv4.gateway 192.168.122.1 \
ipv4.dns 1.1.1.1 \
ipv4.method manual connection.autoconnect yes
# 적용
nmcli con up ens33
# 확인
ip a sh dev ens33
또는
hostname -I
vip 추가
# 장치 Alias NAME 확인
nmcli con sh
--> NAME 부분의 장치명 확인 (여기서는 ens33)
nmcli con mod ens33 +ipv4.addresses "192.168.122.40/24"
nmcli con reload ens33
nmcli con down ens33; nmcli con up ens33
vip 제거
nmcli con mod ens33 -ipv4.addresses "192.168.122.40/24"
nmcli con reload ens33
nmcli con down ens33; nmcli con up ens33
Bonding 설정 (Active - Backup Type)
- 기존 설정 확인
ethernet 기존 장치명(enoX)을 udev 설정에 의해 nicX로 변경
# cat /etc/udev/rules.d/00-alis-persistent-net.rules
# udev rules to rename network interfaces to nicX
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="48:df:37:91:90:44", NAME="nic0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="48:df:37:91:90:45", NAME="nic1"
# nmcli connection show
NAME UUID TYPE DEVICE
nic0 9d3ffebc-d053-4491-99d3-e828e5efb3bd ethernet nic0
nic1 328ca923-9f06-43f1-a8aa-fe2d4528ba25 ethernet nic1
lo a0e18f6c-a7ac-4092-b370-0db00891db10 loopback lo
# nmcli -f NAME,UUID,FILENAME connection
NAME UUID FILENAME
nic0 9d3ffebc-d053-4491-99d3-e828e5efb3bd /etc/NetworkManager/system-connections/nic0.nmconnection
nic1 328ca923-9f06-43f1-a8aa-fe2d4528ba25 /etc/NetworkManager/system-connections/eth1.nmconnection
lo a0e18f6c-a7ac-4092-b370-0db00891db10 /run/NetworkManager/system-connections/lo.nmconnection
- 기존 설정 파일 백업 (nmtui를 통해 bonding 설정되었던 파일 정리 (파일이 있다면 정리))
# mkdir /root/nm-config-backup
# mv /etc/NetworkManager/system-connections !$
# cd /etc/NetworkManager/system-connections
- bonding 장치 설정
# vi bond0.nmconnection
[connection]
id=bond0
uuid=41b5bdec-ddc2-4d3a-99e8-71d0fdc48a69
type=bond
interface-name=bond0
[ethernet]
[bond]
arp_interval=1000
arp_ip_target=192.168.0.129,192.168.0.130
arp_validate=1
mode=active-backup
num_grat_arp=3
primary=eth1
primary_reselect=better
[ipv4]
address1=192.168.0.140/26,192.168.0.129
address2=10.168.58.187/26 #(vip 설정 (필요할 경우 설정))
may-fail=false
method=manual
[ipv6]
addr-gen-mode=default
method=ignore
[proxy]
# vi nic0.nmconnection
[connection]
id=nic0
uuid=9d3ffebc-d053-4491-99d3-e828e5efb3bd
type=ethernet
interface-name=nic0
controller=bond0
port-type=bond
[ethernet]
# vi nic1.nmconnection
[connection]
id=nic1
uuid=328ca923-9f06-43f1-a8aa-fe2d4528ba25
type=ethernet
interface-name=nic1
controller=bond0
port-type=bond
[ethernet]
- 설정 파일 권한 설정
# chown root.root *.nmconnection
# chmod 600 *.nmconnection
- 설정 반영
연결 프로필을 다시 로드
# nmcli connection reload
NetworkManager가 구성 파일에서 프로필을 읽는지 확인
# nmcli -f NAME,UUID,FILENAME connection
연결을 활성화
# nmcli connection up bond0
연결 프로필을 표시
# nmcli connection show
NAME UUID TYPE DEVICE
bond0 41b5bdec-ddc2-4d3a-99e8-71d0fdc48a69 bond bond0
nic0 9d3ffebc-d053-4491-99d3-e828e5efb3bd ethernet nic0
nic1 328ca923-9f06-43f1-a8aa-fe2d4528ba25 ethernet nic1
lo a0e18f6c-a7ac-4092-b370-0db00891db10 loopback lo
- bond0 상태 확인
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v6.12.8-1.el9.elrepo.x86_64
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: nic0 (primary_reselect better)
Currently Active Slave: nic0
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
ARP Polling Interval (ms): 1000
ARP Missed Max: 2
ARP IP target/s (n.n.n.n form): 192.168.0.129, 192.168.0.130
NS IPv6 target/s (xx::xx form):
Slave Interface: nic0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 48:df:37:91:90:44
Slave queue ID: 0
Slave Interface: nic1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 48:df:37:91:90:45
Slave queue ID: 0
- bond0 ip 확인
# ip a sh dev bond0
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 48:df:37:91:90:44 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.139/26 brd 192.168.0.191 scope global noprefixroute bond0
valid_lft forever preferred_lft forever
inet 192.168.0.187/26 brd 192.168.0.191 scope global secondary noprefixroute bond0
valid_lft forever preferred_lft forever
ip / vip / bond setup by nmcli