ວິທີການຈັດການ Networking ກັບ NetworkManager ໃນ RHEL/CentOS 8


ໃນ RHEL ແລະ CentOS 8 ການບໍລິການເຄືອຂ່າຍແມ່ນຖືກຈັດການໂດຍ daemon NetworkManager ແລະມັນຖືກໃຊ້ໃນການຕັ້ງຄ່າແລະຄວບຄຸມອຸປະກອນເຄືອຂ່າຍແບບເຄື່ອນໄຫວແລະຮັກສາການເຊື່ອມຕໍ່ແລະເຄື່ອນໄຫວເມື່ອມີ.

NetworkManager ມາພ້ອມກັບຄຸນປະໂຫຍດຫຼາຍຢ່າງເຊັ່ນ: ການສະ ໜັບ ສະ ໜູນ ການຈັດຕັ້ງແລະການຄຸ້ມຄອງເຄືອຂ່າຍງ່າຍດາຍໂດຍໃຊ້ທັງການໂຕ້ຕອບແບບ line-line ແລະເຄື່ອງມືໂຕ້ຕອບ graphical, ໃຫ້ API ຜ່ານ D-Bus ເຊິ່ງຊ່ວຍໃຫ້ການສອບຖາມແລະຄວບຄຸມການຕັ້ງຄ່າເຄືອຂ່າຍ, ການສະ ໜັບ ສະ ໜູນ ຄວາມຍືດຫຍຸ່ນການຕັ້ງຄ່າແລະອື່ນໆ.

ນອກຈາກນີ້, NetworkManager ຍັງສາມາດໄດ້ຮັບການຕັ້ງຄ່າໂດຍໃຊ້ແຟ້ມເອກະສານ, ແລະເວັບໄຊຕ໌ Cockpit ແລະມັນສະ ໜັບ ສະ ໜູນ ການໃຊ້ສະຄິບທີ່ ກຳ ນົດເອງເພື່ອເລີ່ມຕົ້ນຫຼືຢຸດບໍລິການອື່ນໆໂດຍອີງໃສ່ສະຖານະການເຊື່ອມຕໍ່.

ກ່ອນທີ່ພວກເຮົາຈະກ້າວຕໍ່ໄປ, ສິ່ງຕໍ່ໄປນີ້ແມ່ນບາງຈຸດ ສຳ ຄັນອື່ນໆທີ່ຄວນສັງເກດກ່ຽວກັບການສ້າງເຄືອຂ່າຍໃນ CentOS/RHEL 8:

  • ການຕັ້ງຄ່າປະເພດ ifcfg ແບບດັ້ງເດີມ (ເຊັ່ນ.
  • ສະຄິບເຄືອຂ່າຍຖືກປະຕິເສດແລະບໍ່ຖືກສະ ໜອງ ໂດຍຄ່າເລີ່ມຕົ້ນ.
  • ການຕິດຕັ້ງ ໜ້ອຍ ທີ່ສຸດແມ່ນໃຫ້ເວີຊັນ ifup ແລະ ifdown ທີ່ເອີ້ນວ່າ NetworkManager ຜ່ານເຄື່ອງມື nmcli.
  • ເພື່ອ ດຳ ເນີນການຂຽນ ifup ແລະ ifdown script, NetworkManager ຕ້ອງໄດ້ເຮັດວຽກຢູ່.

ຕິດຕັ້ງ NetworkManager ເທິງ CentOS/RHEL 8

NetworkManager ຄວນຕິດຕັ້ງໃສ່ການຕິດຕັ້ງພື້ນຖານ CentOS/RHEL 8, ຖ້າບໍ່ດັ່ງນັ້ນທ່ານສາມາດຕິດຕັ້ງມັນໂດຍໃຊ້ຕົວຈັດການຊຸດ DNF ດັ່ງທີ່ສະແດງໄວ້.

# dnf install NetworkManager

ເອກະສານການຕັ້ງຄ່າທົ່ວໂລກ ສຳ ລັບ NetworkManager ແມ່ນຕັ້ງຢູ່ /etc/NetworkManager/NetworkManager.conf ແລະເອກະສານການຕັ້ງຄ່າເພີ່ມເຕີມສາມາດພົບໄດ້ໃນ/etc/NetworkManager /.

ການຄຸ້ມຄອງ NetworkManager ການໃຊ້ Systemctl ໃນ CentOS/RHEL 8

ໃນ CentOS/RHEL 8, ແລະລະບົບ Linux ອື່ນໆທີ່ທັນສະ ໄໝ ທີ່ໄດ້ຮັບຮອງເອົາລະບົບ (ລະບົບແລະຜູ້ຈັດການບໍລິການ), ການບໍລິການແມ່ນຖືກຈັດການໂດຍໃຊ້ເຄື່ອງມື systemctl.

ຕໍ່ໄປນີ້ແມ່ນ ຄຳ ສັ່ງ systemctl ທີ່ມີປະໂຫຍດ ສຳ ລັບການຈັດການບໍລິການ NetworkManager.

ການຕິດຕັ້ງ CentOS/RHEL 8 ໜ້ອຍ ທີ່ສຸດຄວນມີ NetworkManager ເລີ່ມຕົ້ນແລະເປີດໃຊ້ງານໂດຍອັດຕະໂນມັດໃນເວລາບູດ, ໂດຍຄ່າເລີ່ມຕົ້ນ. ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອກວດສອບວ່າ NetworkManager ມີການເຄື່ອນໄຫວ, ເປີດໃຊ້ງານແລະພິມຂໍ້ມູນສະຖານະການຂອງເວລາແລ່ນຂອງ NetworkManager.

# systemctl is-active NetworkManager
# systemctl is-enabled NetworkManager
# systemctl status NetworkManager 

ຖ້າ NetworkManager ບໍ່ເຮັດວຽກ, ທ່ານສາມາດເລີ່ມຕົ້ນມັນໄດ້ໂດຍການພຽງແຕ່ແລ່ນ.

# systemctl start NetworkManager

ເພື່ອຢຸດຫຼືເຮັດໃຫ້ NetworkManager ເຮັດໃຫ້ເສີຍຫາຍຍ້ອນເຫດຜົນໃດ ໜຶ່ງ ຫຼືອີກວິທີ ໜຶ່ງ, ອອກ ຄຳ ສັ່ງດັ່ງຕໍ່ໄປນີ້.

# systemctl stop NetworkManager

ຖ້າທ່ານໄດ້ມີການປ່ຽນແປງໃດໆກ່ຽວກັບໄຟລ໌ການຕັ້ງຄ່າແບບໂຕ້ຕອບຫລືການຕັ້ງຄ່າຂອງ daMonager (ຕາມປົກກະຕິທີ່ຕັ້ງຢູ່ພາຍໃຕ້ໄດເລກະທໍລີ/etc/NetworkManager /), ທ່ານສາມາດເລີ່ມຕົ້ນ ໃໝ່ (ຢຸດແລະເລີ່ມຕົ້ນ) NetworkManager ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງດັ່ງທີ່ເຫັນ.

# systemctl restart NetworkManager

ເພື່ອໂຫລດການຕັ້ງຄ່າຂອງ NetworkManager daemon (ແຕ່ບໍ່ແມ່ນເອກະສານການຕັ້ງຄ່າຂອງ systemd) ໂດຍບໍ່ຕ້ອງເລີ່ມການບໍລິການ ໃໝ່, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# systemctl reload NetworkManager

ການໃຊ້ເຄື່ອງມື NetworkManager ແລະເຮັດວຽກກັບໄຟລ໌ ifcfg

NetworkManager ສະ ໜັບ ສະ ໜູນ ເຄື່ອງມືບາງຢ່າງ ສຳ ລັບຜູ້ໃຊ້ສາມາດພົວພັນກັບມັນ, ເຊິ່ງແມ່ນ:

<

  • nmcli - ເຄື່ອງມືທີ່ໃຊ້ເສັ້ນ ຄຳ ສັ່ງໃຊ້ໃນການຕັ້ງຄ່າເຄືອຂ່າຍ.
  • nmtui - ການໂຕ້ຕອບຜູ້ໃຊ້ຂໍ້ຄວາມແບບງ່າຍໆທີ່ໃຊ້ດ່າກັນ, ເຊິ່ງຍັງໃຊ້ເພື່ອ ກຳ ນົດແລະຈັດການການເຊື່ອມຕໍ່ອິນເຕີເນັດແບບ ໃໝ່.
  • ເຄື່ອງມືອື່ນໆປະກອບມີ nm-connection-editor-editor, ຄວບຄຸມສູນ, ແລະໄອຄອນເຊື່ອມຕໍ່ເຄືອຂ່າຍ (ທັງ ໝົດ ພາຍໃຕ້ GUI).

    ເພື່ອລາຍຊື່ອຸປະກອນທີ່ກວດພົບໂດຍ NetworkManager, ດໍາເນີນການ nmcli command.

     
    # nmcli device 
    OR
    # nmcli device status
    

    ເພື່ອເບິ່ງການເຊື່ອມຕໍ່ທີ່ໃຊ້ງານທັງ ໝົດ, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ (ໃຫ້ສັງເກດວ່າຖ້າບໍ່ມີ -a , ມັນຈະບອກລາຍຊື່ໂປຼແກຼມເຊື່ອມຕໍ່ທີ່ມີຢູ່).

    # nmcli connection show -a
    

    ແຟ້ມເອກະສານການຕັ້ງຄ່າສະເພາະຂອງເຄືອຂ່າຍແມ່ນຕັ້ງຢູ່ໃນ/etc/sysconfig/ເຄືອຂ່າຍສະຄິບ/ລະບົບ. ທ່ານສາມາດດັດແກ້ເອກະສານເຫຼົ່ານີ້, ຍົກຕົວຢ່າງ, ເພື່ອ ກຳ ນົດທີ່ຢູ່ IP ແບບຄົງທີ່ ສຳ ລັບເຄື່ອງແມ່ຂ່າຍຂອງທ່ານ CentOS/RHEL 8.

    # vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
    

    ນີ້ແມ່ນການຕັ້ງຄ່າຕົວຢ່າງ ສຳ ລັບ ກຳ ນົດທີ່ຢູ່ IP ແບບຄົງທີ່.

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=enp0s3
    UUID=e81c46b7-441a-4a63-b695-75d8fe633511
    DEVICE=enp0s3
    ONBOOT=yes
    IPADDR=192.168.0.110
    PREFIX=24
    GATEWAY=192.168.0.1
    DNS1=8.8.8.8
    PEERDNS=no
    

    ຫຼັງຈາກປະຫຍັດການປ່ຽນແປງ, ທ່ານ ຈຳ ເປັນຕ້ອງໂຫຼດໂປຼແກຼມເຊື່ອມຕໍ່ທັງ ໝົດ ຫຼືໂຫຼດຄືນ NetworkManager ສຳ ລັບການປ່ຽນ ໃໝ່ ທີ່ຈະ ນຳ ໃຊ້.

    # nmcli connection reload
    OR
    # systemctl restart NetworkManager
    

    ການເລີ່ມຕົ້ນຫຼືຢຸດເຊົາການບໍລິການເຄືອຂ່າຍ/ສະຄິບອີງໃສ່ການເຊື່ອມຕໍ່ເຄືອຂ່າຍ

    NetworkManager ມີຕົວເລືອກທີ່ເປັນປະໂຫຍດທີ່ຊ່ວຍໃຫ້ຜູ້ໃຊ້ສາມາດປະຕິບັດການບໍລິການຕ່າງໆ (ເຊັ່ນ NFS, SMB, ແລະອື່ນໆ) ຫຼືສະຄິບງ່າຍໆໂດຍອີງໃສ່ການເຊື່ອມຕໍ່ເຄືອຂ່າຍ.

    ຕົວຢ່າງ: ຖ້າທ່ານຕ້ອງການຕິດຕັ້ງໄດເລກະທໍລີຫ່າງໄກສອກຫຼີກໂດຍອັດຕະໂນມັດຢູ່ໃນທ້ອງຖິ່ນດ້ວຍ sshfs, ຮຸ້ນ SMB ຫຸ້ນຫລື mount ຮຸ້ນຫຼັງຈາກປ່ຽນລະຫວ່າງເຄືອຂ່າຍ. ທ່ານອາດຈະຕ້ອງການໃຫ້ບໍລິການເຄືອຂ່າຍດັ່ງກ່າວຖືກປະຕິບັດບໍ່ແມ່ນຈົນກວ່າ NetworkManager ກຳ ລັງຈະເປີດໃຊ້ຢູ່ (ການເຊື່ອມຕໍ່ທັງ ໝົດ ແມ່ນມີການເຄື່ອນໄຫວ).

    ຄຸນນະສົມບັດນີ້ແມ່ນສະ ໜອງ ໂດຍການບໍລິການ NetworkManager-dispatcher (ເຊິ່ງຕ້ອງໄດ້ເລີ່ມຕົ້ນແລະເປີດໃຊ້ງານເພື່ອເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດເມື່ອເລີ່ມຕົ້ນລະບົບ). ເມື່ອການບໍລິການ ກຳ ລັງເຮັດວຽກ, ທ່ານສາມາດເພີ່ມສະຄິບຂອງທ່ານໃສ່ໃນ /etc/NetworkManager/dispatcher.d.

    ສະຄິບທັງ ໝົດ ຕ້ອງສາມາດປະຕິບັດໄດ້ແລະຂຽນໄດ້, ແລະເປັນເຈົ້າຂອງໂດຍຮາກ, ຍົກຕົວຢ່າງ:

    # chown root:root /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh
    # chmod 755 /etc/NetworkManager/dispatcher.d/10-nfs-mount.sh
    

    ສິ່ງທີ່ ສຳ ຄັນ: ຕົວ ໜັງ ສືຕົວແທນສົ່ງຈະຖືກ ດຳ ເນີນການຕາມ ລຳ ດັບຕົວອັກສອນໃນເວລາທີ່ເຊື່ອມຕໍ່, ແລະໃນການລຽງ ລຳ ດັບອັກສອນຕາມເວລາທີ່ບໍ່ ຈຳ ເປັນ.

    ດັ່ງທີ່ພວກເຮົາໄດ້ກ່າວມາກ່ອນ ໜ້າ ນີ້, ສະຄິບເຄືອຂ່າຍຈະຖືກເຜີຍແຜ່ໃນ CentOS/RHEL 8 ແລະບໍ່ໄດ້ຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນ. ຖ້າທ່ານຍັງຕ້ອງການໃຊ້ເຄືອຂ່າຍສະຄິບ, ທ່ານ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງແພັກເກດເຄືອຂ່າຍ.

    # yum install network-scripts
    

    ເມື່ອຕິດຕັ້ງແລ້ວ, ຊຸດນີ້ຈະສະ ໜອງ ສະບັບຂອງ ifup ແລະ ifdown ທີ່ເອີ້ນວ່າ NetworkManager ຜ່ານເຄື່ອງມື nmcli ທີ່ພວກເຮົາໄດ້ເບິ່ງຢູ່ຂ້າງເທິງ. ຈົ່ງສັງເກດວ່າ NetworkManager ຄວນຈະເຮັດວຽກ ສຳ ລັບທ່ານທີ່ຈະໃຊ້ສະຄິບເຫລົ່ານີ້.

    ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງ ໜ້າ manct ຂອງ systemctl ແລະ NetworkManager.

    # man systemctl
    # man NetworkManager
    

    ນັ້ນແມ່ນສິ່ງທີ່ພວກເຮົາກຽມພ້ອມໃນບົດຄວາມນີ້. ທ່ານສາມາດຂໍຄວາມກະຈ່າງແຈ້ງກ່ຽວກັບຈຸດໃດ ໜຶ່ງ ຫຼືຖາມ ຄຳ ຖາມຫຼືເພີ່ມເຕີມໃດໆຕໍ່ຄູ່ມືນີ້ໂດຍຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.