일부 소프트웨어를 업그레이드하려면 재부팅이 필요한 Centos 7을 실행하는 서버가 있습니다.
일부 물리적 NIC에는 각각 약 5~10개의 VLAN 인터페이스가 있습니다. 매주/매월 단위로 변경될 수 있으므로 /etc/sysconfig/network-scripts
재부팅 후에도 지속되도록 세부 정보를 저장하는 것은 비현실적입니다.
현재 네트워크 스택의 스냅샷을 만들고 재부팅 후 복원하는 쉬운 방법이 있습니까? iptables 규칙을 저장/복원하는 방법과 유사합니까?
몇 가지 참조를 찾았 system-config-network-cmd
지만 이 도구를 사용하면 우리가 가지고 있는 물리적 인터페이스의 정적 구성을 덮어쓰게 되므로 사용하기가 조심스럽습니다./etc/sysconfig/network-scripts
감사해요!
답변1
Iptables는 질문의 가장 간단한 부분입니다.
iptables-save
현재 iptables 규칙을 저장하는 데 사용할 수 있으며 이후 사용할 수 있습니다 iptables-restore
.
# backup current iptables rules
iptables-save > /root/iptables-$(date +%F).save
# restore a previous set of iptables-rules
iptables-restore < /root/iptables-<date of file to restore>.save
작업의 네트워킹 부분의 경우 Network Manager 서비스(많은 사람들이 서버에서 사용하지 않음)를 사용하지 않는 system-config-network-cmd
경우 nmtui
|nmcli
처음에는 캡처된 출력과 유사한 자체 솔루션을 스크립팅한 ip addr show
다음 이를 구문 분석하여 IP 배치 파일을 생성해야 합니다(참조:https://support.cumulusnetworks.com/hc/en-us/articles/202395708-Bringing-up-Large-Networks-Using-ip-batch유용한 정보) 그런 다음 배치 파일을 재생 ip --batch <batchfile>
하고 세부 수준에 맞게 조정합니다. MAC이 동일해야 합니까? 다른 장치 옵션? 특정 VLAN이 있나요? 아니면 IP 주소가 모두 동일한 서브넷에 있다는 것입니까? 아, ip route show
재부팅 후 필요한 임시 경로를 구성한 경우 해당 경로도 캡처할 수 있습니다.
장기적으로는 Ansible(또는 이와 유사한 것)을 사용하여 iptables
임시 규칙 및 임시 네트워크 인터페이스 구성의 배포를 관리하는 것을 고려해 보십시오. 그런 다음 스크립트를 재생하여 모든 것을 이전 상태로 되돌릴 수 있습니다.
답변2
먼저, 반드시 확인해야 할 사항네트워크 관리자설치되어 있고 nmcli
명령이 존재합니다.
그런 다음 다음을 통해 현재 네트워크 연결을 표시하십시오 nmcli
.
# nmcli c
NAME UUID TYPE DEVICE
enp0s3 346f92f2-e6b5-4464-b424-4083fb09e6ae 802-3-ethernet enp0s3
enp0s8 537dd740-423a-42ab-8e62-d49a0e91de00 802-3-ethernet enp0s8
enp0s8.10 1db1ea0f-f67e-4777-bd58-e4c6d36a8520 vlan enp0s8.10
enp0s9 410c1405-b2fa-4182-900b-51defe29c681 802-3-ethernet enp0s9
인터페이스가 enp0s8.10
나를 추가하지 않았습니다네트워크 관리자. vconfig
, ip l up
및 에 추가했습니다 ip a
.
인터페이스가 작동 중이어야 하며 IP 주소가 할당되어 있어야 합니다! 인터페이스가 작동하지 않거나 IP가 할당되지 않은 경우네트워크 관리자다음과 같이 표시됩니다.관리되지 않는.
nmcli
그런 다음 활성 연결을 편집 할 수 있습니다 .
# nmcli connection edit enp0s8.10
===| nmcli interactive connection editor |===
Editing existing 'vlan' connection: 'enp0s8.10'
Type 'help' or '?' for available commands.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), vlan, ipv4, ipv6, proxy
nmcli> help
------------------------------------------------------------------------------
---[ Main menu ]---
goto [<setting> | <prop>] :: go to a setting or property
remove <setting>[.<prop>] | <prop> :: remove setting or reset property value
set [<setting>.<prop> <value>] :: set property value
describe [<setting>.<prop>] :: describe property
print [all | <setting>[.<prop>]] :: print the connection
verify [all | fix] :: verify the connection
save [persistent|temporary] :: save the connection
activate [<ifname>] [/<ap>|<nsp>] :: activate the connection
back :: go one level up (back)
help/? [<command>] :: print this help
nmcli <conf-option> <value> :: nmcli configuration
quit :: exit nmcli
------------------------------------------------------------------------------
nmcli> save
Connection 'enp0s8.10' (1db1ea0f-f67e-4777-bd58-e4c6d36a8520) successfully updated.
nmcli> quit
/etc/sysconfig/network-scripts
이 단계를 수행하면 파일에 인터페이스의 구성 파일이 표시됩니다 ifcfg-enp0s8.10
(저의 경우처럼).
물론 모든 인터페이스를 확인해야 합니다.