Ինչպես վերանվանել ցանցային միջերեսները eth0-ի CentOS-ում
Այս էջում
- 1. Ավանդական անվանման կոնվենցիա
- 2. Biosdevname
- 3. Systemd Udev կանոններ
1. Փոխեք միջերեսի անունը eth0՝ անջատելով Biosdevname-ը
2. Փոխեք ինտերֆեյսի անունը eth0՝ օգտագործելով Udev կանոնները
Այս հոդվածում մենք կիմանանք Linux ինտերֆեյսի անվանման մասին: Այն գրված է RHEL-ի վրա հիմնված Linux բաշխումների համար, ինչպիսիք են AlmaLinux, CentOS և Rocky Linux: Դուք կսովորեք, թե ինչպես է Linux-ի ցանցային ինտերֆեյսը կոչվում eth(X), ens(X), eno(X) և այլն:
Նախ, մենք կծանոթանանք Linux համակարգում ցանցային ինտերֆեյսի անվանման հայեցակարգին, ներառյալ դասական անվանման սխեման, biosdevname և համակարգի udev քաղաքականությունը:
1. Ավանդական անվանման կոնվենցիա
Ավանդական անվանման կոնվենցիան լռելյայն ավանդական ինտերֆեյսի անվանման սխեման է, որը տրամադրվում է Linux միջուկի վարորդի կողմից: Ինչպես գիտենք, Ավանդական անվանման կոնվենցիան նման է eth(n) Ethernet սարքի համար, wlan(n) անլար LAN սարքի համար և usb(n) usbnet-ի համար:
Ավանդական անվանման կոնվենցիայով, ամբողջ ցանցային ապարատը կգործարկվի նույն կերպ միջուկի վարորդի կողմից: Բավական լավ է մեզ պատմել կապի տեսակի մասին, բայց ոչ շատ այն բնության սարքաշարի համար, որին դուք սովոր եք:
2. Biosdevname
Biosdevname-ը նախագիծ է, որը սկսվել է Dell-ի կողմից՝ ապահովելու ցանցային սարքերի հետևողական անվանումներ: Biosdevname-ը udev կոմունալ օգնական է, որն ապահովում է ցանցային սարքերի անվանման հետևողական մեխանիզմ՝ հիմնված սարքաշարի ֆիզիկական դիրքի վրա, ինչպես առաջարկվում է համակարգի BIOS-ի կողմից:
Ստորև բերված է biosdevname-ի կողմից տրամադրված անվանման սխեմայի լռելյայն քաղաքականությունը.
- Ներքին ցանցային սարքերի համար կկոչվեն «em
[_<վիրտուալ օրինակ>] » - Հավելյալ NIC սարքերի համար կկոչվի «p
p [_<վիրտուալ օրինակ>]»
Ավելի մանրամասն՝
- em=ներքին ցանցային սարքեր
=համապատասխան PCI բնիկ =NIC-ների նավահանգիստների համարը (եթե կան մի քանի նավահանգիստ NIC-ներ) =SRIOV և/կամ NPAR օրինակի ինդեքսը - «p» հավելյալ NIC-ի վրա տեղադրված է որպես pci բնիկ և պորտ, համապատասխանաբար
3. Systemd Udev կանոններ
Ներկայումս Linux-ի որոշ հայտնի բաշխիչներ, ինչպիսիք են Ubuntu-ն, CentOS-ը և Debian-ը, օգտագործում են Systemd-ը որպես համակարգի և ծառայության կառավարիչ: Եվ 197-րդ տարբերակից ի վեր systemd-ն ավելացվել է բնիկ անվանման քաղաքականությանը և ցանցային միջերեսների սխեմային, որոնք նման են Biosdevname-ին:
Ստորև ներկայացված է Systemd-ի վրա հիմնված համակարգի համար ցանցային ինտերֆեյսի անվանման 5 քաղաքականություն.
- Ներքին ցանցային սարքերի համար այն կկոչվի «eno1», «eno2» և այլն:
- Որոնվածը/BIOS-ը ներառելու համար տրամադրվել են PCI Express hotplug բնիկի ինդեքսային համարները, որոնք կոչվում են «ens1»: Սա կկիրառվի, եթե առաջին քաղաքականությունը ձախողվի: Հիմնականում օգտագործվում է վիրտուալ մեքենայի կողմից, ինչպիսիք են VMWare-ը և KVM-ը:
- Սարքավորման միակցիչի ֆիզիկական գտնվելու վայրը ներառող անունները (օրինակ՝ enp2s0), կիրառվում են, եթե կիրառելի է, այլապես բոլոր մյուս դեպքերում անմիջապես վերադառնում են սխեմա 5-ին:
- Անուններ, որոնք ներառում են ինտերֆեյսի MAC հասցեն (օրինակ՝ enx78e7d1ea46da), լռելյայնորեն չեն օգտագործվում, բայց հասանելի են, եթե օգտագործողը ընտրի:
- Ավանդական անկանխատեսելի միջուկի անվանման սխեման օգտագործվում է, եթե մյուս բոլոր մեթոդները ձախողվեն (օրինակ՝ eth0):
Այժմ մենք իմացանք Linux ինտերֆեյսի անվանման կոնվենցիայի մասին:
Հաջորդը, մենք ձեզ ցույց կտանք, թե ինչպես փոխել ցանցային ինտերֆեյսի անունը ավանդական «et0», eth1 և այլն: Եվ դա անելու երկու եղանակ կա՝ փոխել ցանցի միջերեսի անունները «biosdevname» և «systemd udev» միջոցով: կանոններ։
1. Փոխեք միջերեսի անունը eth0՝ անջատելով Biosdevname-ը
Ինչպես գիտենք վերևում, biosdevname-ը udev կոմունալ ծրագիր է, որը ստեղծվել է Dell-ի կողմից ցանցային միջերեսներ անվանելու համար, ինչպես առաջարկվում է համակարգի BIOS-ի կողմից: Իսկ լռելյայնորեն biosdevname փաթեթը տեղադրված է Linux համակարգում։
Linux համակարգում biosdevname-ն անջատելու համար դուք պետք է անջատեք այն boot մակարդակում՝ խմբագրելով grub-ի կոնֆիգուրացիան ձեր համակարգում:
Նախքան հետագա գնալը, եկեք ստուգենք համակարգի ընթացիկ միջերեսները՝ օգտագործելով հետևյալ հրամանը:
ifconfig -a
ip addr
Իսկ ստորև՝ արդյունքը.
Արդյունքում մենք ունենք երկու ցանցային ինտերֆեյս՝ «ens3» և «ens8»:
Հաջորդը, մենք կվերանվանենք երկու ինտերֆեյսերը «eth0» և «eth1» մեր CentOS 8 համակարգում՝ խմբագրելով grub-ի կազմաձևումը և ցանցի կազմաձևումը յուրաքանչյուր ինտերֆեյսի համար:
- Կարգավորեք Grub2-ը
Գնացեք «/etc/sysconfig/» գրացուցակ և խմբագրեք «grub» կոնֆիգուրացիան՝ օգտագործելով vim խմբագրիչը:
cd /etc/sysconfig/
vim grub
«GRUB_CMDLINE_LINUX» կազմաձևում ավելացրեք հետևյալ կոնֆիգուրացիան՝ biosdevname-ն ու net.ifnames միջուկի պարամետրը անջատելու համար:
net.ifnames=0 biosdevname=0
Պահպանել և փակել:
Դրանից հետո ստեղծեք նոր grub կոնֆիգուրացիա՝ օգտագործելով «grub2-mkconfig» հրամանը, ինչպես ստորև:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Եվ արդյունքը կստանաք ստորև։
- Խմբագրել ցանցի սցենարը
Հաջորդը, մենք պետք է վերանվանենք երկու ցանցային ինտերֆեյսները «/etc/sysconfig/network-scripts/» գրացուցակում գտնվող կազմաձևում:
Գնացեք «/etc/sysconfig/network-scripts/»:
cd /etc/sysconfig/network-scripts/
Վերանվանեք երկու ինտերֆեյսի անունները «ifcfg-ethX»:
mv ifcfg-enp0s3 ifcfg-eth0
mv ifcfg-enp0s8 ifcfg-eth1
Դրանից հետո երկու ինտերֆեյսները փոխեք «ethX» երկու ֆայլերի վրա՝ օգտագործելով ստորև բերված sed հրամանը:
sed -i -e 's/enp0s3/eth0/g' ifcfg-eth0
sed -i -e 's/enp0s8/eth1/g' ifcfg-eth1
Այժմ վերագործարկեք CentOS 8 համակարգը:
sudo reboot
- Փորձարկում
Կրկին մուտք գործելուց հետո ստուգեք հասանելի ցանցային միջերեսները՝ օգտագործելով հետևյալ հրամանը:
ifconfig
ip addr
Եվ արդյունքը ձեզ կցուցադրվի ստորև:
Երկու ցանցային միջերեսները CentOS 8 համակարգում փոխվել են և այժմ օգտագործում են անվանման ավանդական կոնվենցիան: Ցանցային ինտերֆեյսները փոխվել են՝ անջատելով «biosdevname»-ը համակարգի բեռնման ժամանակ:
-Ըստ ցանկության
Եթե ցանկանում եք ստուգել համակարգի բեռնման փոփոխությունների մասին մանրամասները, կարող եք գործարկել հետևյալ հրամանը.
dmesg | grep -i eth
Դուք կտեսնեք, որ լռելյայն ինտերֆեյսի անունը փոխվել է ավանդական «ethX» անվանման, փոխվել է սովորական udev կանոնների միջոցով:
2. Փոխեք ինտերֆեյսի անունը eth0՝ օգտագործելով Udev կանոնները
Ցանցային ինտերֆեյսի անունը ավանդական անվանման փոխելու մեկ այլ եղանակ, ինչպիսին է eth0 և այլն, սովորական udev կանոնների ստեղծումն է: Եվ օգտագործելով մաքսային udev կանոնները, ցանցային ինտերֆեյսները համակարգից հետո կփոխվեն։
- Ստեղծեք անհատական Udev կանոններ
Այժմ գնացեք «/etc/udev/rules.d/» գրացուցակ և ստեղծեք «70-persistent-net.rules» անունով սովորական կանոնը՝ օգտագործելով vim editor:
cd /etc/udev/rules.d/
vim 70-persistent-net.rules
Փոխեք mac հասցեն և լռելյայն «ens3» և «ens8» ինտերֆեյսը ձեր սեփականով և տեղադրեք դրա մեջ:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:6c:a8:e6", ATTR{type}=="1", KERNEL=="ens3", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:97:cf:33", ATTR{type}=="1", KERNEL=="ens8", NAME="eth1"
Պահպանել և փակել:
- Խմբագրել ցանցի սցենարը
Հաջորդը, գնացեք «/etc/sysconfig/networ-scripts» գրացուցակը:
cd /etc/sysconfig/network-scripts/
Վերանվանեք երկու ինտերֆեյսի անունները «ifcfg-ethX»:
mv ifcfg-enp0s3 ifcfg-eth0
mv ifcfg-enp0s8 ifcfg-eth1
Դրանից հետո երկու ինտերֆեյսները փոխեք «ethX» երկու ֆայլերի վրա՝ օգտագործելով ստորև բերված sed հրամանը:
sed -i -e 's/enp0s3/eth0/g' ifcfg-eth0
sed -i -e 's/enp0s8/eth1/g' ifcfg-eth1
Այժմ վերագործարկեք CentOS 8 սերվերը:
sudo reboot
- Փորձարկում
Կրկին մուտք գործելուց հետո ստուգեք բոլոր հասանելի ցանցային միջերեսները՝ օգտագործելով հետևյալ հրամանները:
ifconfig
ip addr
Եվ դուք կստանաք նոր «ethX» ինտերֆեյսը, որը նշանակվել է:
-Ըստ ցանկության
Եթե ցանկանում եք ստուգել համակարգի բեռնման փոփոխությունների մասին մանրամասները, կարող եք գործարկել հետևյալ հրամանը.
dmesg | grep -i eth
Դուք կտեսնեք, որ «ensX» անունը փոխվել է ավանդական «ethX» անունով, որը փոխվել է սովորական udev կանոնների միջոցով:
Հղում
- https://access.redhat.com/documentation/