Ինչպես վերանվանել ցանցային միջերեսները eth0-ի CentOS-ում


Այս էջում

  1. 1. Ավանդական անվանման կոնվենցիա
  2. 2. Biosdevname
  3. 3. Systemd Udev կանոններ
  • 1. Փոխեք միջերեսի անունը eth0՝ անջատելով Biosdevname-ը

    1. - Կարգավորեք Grub2-ը
    2. - Խմբագրել ցանցի սցենարը
    3. - Փորձարկում
    4. -Ըստ ցանկության
  • 2. Փոխեք ինտերֆեյսի անունը eth0՝ օգտագործելով Udev կանոնները

    1. - Ստեղծեք հատուկ Udev կանոններ
    2. - Խմբագրել ցանցի սցենարը
    3. - Փորձարկում
    4. -Ըստ ցանկության
  • Հղում
  • Այս հոդվածում մենք կիմանանք 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 սարքերի համար կկոչվի «pp[_<վիրտուալ օրինակ>]»

    Ավելի մանրամասն՝

    • em=ներքին ցանցային սարքեր
    • =համապատասխան PCI բնիկ
    • =NIC-ների նավահանգիստների համարը (եթե կան մի քանի նավահանգիստ NIC-ներ)
    • =SRIOV և/կամ NPAR օրինակի ինդեքսը
    • «p» հավելյալ NIC-ի վրա տեղադրված է որպես pci բնիկ և պորտ, համապատասխանաբար

    3. Systemd Udev կանոններ

    Ներկայումս Linux-ի որոշ հայտնի բաշխիչներ, ինչպիսիք են Ubuntu-ն, CentOS-ը և Debian-ը, օգտագործում են Systemd-ը որպես համակարգի և ծառայության կառավարիչ: Եվ 197-րդ տարբերակից ի վեր systemd-ն ավելացվել է բնիկ անվանման քաղաքականությանը և ցանցային միջերեսների սխեմային, որոնք նման են Biosdevname-ին:

    Ստորև ներկայացված է Systemd-ի վրա հիմնված համակարգի համար ցանցային ինտերֆեյսի անվանման 5 քաղաքականություն.

    1. Ներքին ցանցային սարքերի համար այն կկոչվի «eno1», «eno2» և այլն:
    2. Որոնվածը/BIOS-ը ներառելու համար տրամադրվել են PCI Express hotplug բնիկի ինդեքսային համարները, որոնք կոչվում են «ens1»: Սա կկիրառվի, եթե առաջին քաղաքականությունը ձախողվի: Հիմնականում օգտագործվում է վիրտուալ մեքենայի կողմից, ինչպիսիք են VMWare-ը և KVM-ը:
    3. Սարքավորման միակցիչի ֆիզիկական գտնվելու վայրը ներառող անունները (օրինակ՝ enp2s0), կիրառվում են, եթե կիրառելի է, այլապես բոլոր մյուս դեպքերում անմիջապես վերադառնում են սխեմա 5-ին:
    4. Անուններ, որոնք ներառում են ինտերֆեյսի MAC հասցեն (օրինակ՝ enx78e7d1ea46da), լռելյայնորեն չեն օգտագործվում, բայց հասանելի են, եթե օգտագործողը ընտրի:
    5. Ավանդական անկանխատեսելի միջուկի անվանման սխեման օգտագործվում է, եթե մյուս բոլոր մեթոդները ձախողվեն (օրինակ՝ 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/