ใน CentOS 7 หากต้องการแก้ไขค่าคอนฟิกเน็ตเวิร์ก สามารถทำได้ด้วยคำสั่ง nmtui ซึ่งทำงานในโหมดเท็กซ์ ทำให้สามารถเรียกใช้งานได้สะดวกผ่านการ ssh หรือคอนโซลของเครื่องได้
แทนที่จะแก้ไขไฟล์คอนฟิกที่อยู่ในไดเรกทอรี /etc/sysconfig/network-scripts/ โดยตรง การใช้ nmtui จะช่วยทำให้แก้ไขค่าคอนฟิกเน็ตเวิร์กได้ง่ายขึ้น ลดข้อผิดพลาดในการคอนฟิก
nmtui เป็นคำสั่งที่อยู่ในแพ็กเกจ NetworkManager-tui ซึ่งมากับการติดตั้ง CentOS 7 แบบ Minimal อยู่แล้ว ไม่จำเป็นต้องติดตั้งเพิ่มเติม
หมายเหตุ ถ้าเทียบกับเวอร์ชันเดิม คำสั่ง nmtui ก็เหมือนกับคำสั่ง system-config-network ใน CentOS 6
ล็อกอินด้วย root รันคำสั่ง nmtui
[root@cent7 ~]# nmtui
ตัวอย่างหน้าจอการรันคำสั่ง nmtui
หน้าจอหลักของคำสั่ง nmtui
┌─┤ NetworkManager TUI ├──┐ │ │ │ Please select an option │ │ │ │ Edit a connection │ │ Activate a connection │ │ Set system hostname │ │ │ │ Quit │ │ │ │ <OK> │ │ │ └─────────────────────────┘
แก้ไขค่าคอนฟิกเน็ตเวิร์กของพอร์ต
เนื่องจากรันในโหมดเท็กซ์ ในคำสั่ง nmtui สามารถใช้ปุ่มลูกศรขึ้นลงซ้ายขวา หรือแท็บเพื่อเลือกเมนูหัวข้อต่างๆ ได้
เลือก Edit a connection
┌───────────────────────────┐ │ │ │ ┌─────────────┐ │ │ │ Ethernet ↑ │ <Add> │ │ │ enp0s3 ▒ │ │ │ │ ▒ │ <Edit...> │ │ │ ▒ │ │ │ │ ▒ │ <Delete> │ │ │ ▒ │ │ │ │ ▒ │ │ │ │ ▒ │ │ │ │ ↓ │ <Quit> │ │ └─────────────┘ │ │ │ └───────────────────────────┘
เลือกพอร์ตที่ต้องการแล้วกดแท็บ เพื่อเลือก Edit…
หน้าจอ Edit Connection
┌───────────────────────────┤ Edit Connection ├───────────────────┐ │ ↑│ │ Profile name enp0s3____________________________ ▮│ │ Device enp0s3 (08:00:11:22:33:44)______________ ▒│ │ ▒│ │ ═ ETHERNET <Show> ▒│ │ ▒│ │ ╤ IPv4 CONFIGURATION <Manual> <Hide> ▒│ │ │ Addresses 192.168.1.1/24___________ <Remove> ▒│ │ │ <Add...> ▒│ │ │ Gateway _________________________ ▒│ │ │ DNS servers <Add...> ▒│ │ │ Search domains <Add...> ▒│ │ │ ▒│ │ │ Routing (No custom routes) <Edit...> ▒│ │ │ [ ] Never use this network for default route ▒│ │ │ ▒│ │ │ [ ] Require IPv4 addressing for this connection ▒│ │ └ ▒│ │ ▒│ │ ═ IPv6 CONFIGURATION <Automatic> <Show> ▒│ │ ▒│ │ [X] Automatically connect ▒│ │ [X] Available to all users ▒│ │ ▒│ │ <Cancel> <OK> ▮│ │ ↓│ └─────────────────────────────────────────────────────────────────┘
แก้ไขค่าคอนฟิกที่ต้องการ แล้วแท็บไปที่ <OK> เพื่อยืนยันการแก้ไข แล้วเลือก <Quit> อีกที เพื่อออกจากคำสั่ง nmtui
ตัวอย่างไฟล์ที่เก็บค่าคอนฟิกเน็ตเวิร์กของพอร์ต enp0s3
[root@cent7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes IPADDR=192.168.1.1 PREFIX=24 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_PRIVACY=no
เปิด/ปิด ค่าคอนฟิกของพอร์ต
รันคำสั่ง nm-tui อีกครั้ง เลือกเมนู Activate a connection
เลือกไปที่พอร์ตที่แก้ไขกดปุ่ม [Enter] เพื่อ Deactivate แล้ว [Enter] อีกครั้งเพื่อ Activate ค่าคอนฟิกใหม่
คำเตือน ระวังการแก้ไขค่าคอนฟิก IP Address ของพอร์ตที่คุณใช้ในการเชื่อมต่อเข้าเครื่องอยู่ เพราะการ Deactivate จะเป็นการปิดค่าคอนฟิก ทำให้ไม่สามารถใช้งานเน็ตเวิร์กผ่านพอร์ตนั้นได้ แนะนำให้ทำจากคอนโซลของเครื่อง
┌───────────────────────────────────────┐ │ │ │ ┌──────────────────────┐ │ │ │ Ethernet (enp0s3) ↑ │ <Deactivate> │ │ │ * enp0s3 ▒ │ │ │ │ ▒ │ │ │ │ ▒ │ │ │ │ ↓ │ <Quit> │ │ └──────────────────────┘ │ │ │ └───────────────────────────────────────┘
แก้ไขชื่อ hostname ของเครื่อง
หากต้องการแก้ไขชื่อ hostname ของเครื่อง ก็สามารถใช้คำสั่ง nmtui แก้ไขได้ โดยเข้าเมนู Set system hostname
┌─────────────────┤ Set Hostname ├──────────────────┐ │ │ │ Hostname cent7.example.com_______________________ │ │ │ │ <Cancel> <OK> │ │ │ └───────────────────────────────────────────────────┘
แก้ไขชื่อที่ต้องการ แล้วแท็บไปที่ OK เพื่อยืนยันการแก้ไข
หน้าจอแสดงชื่อที่แก้ไข
┌────────────────────────────────┐ │ │ │ Set hostname to │ │ 'cent7-updated.example.com' │ │ │ │ ┌────┐ │ │ │ OK │ │ │ └────┘ │ │ │ │ │ └────────────────────────────────┘
สามารถใช้คำสั่ง hostname เพื่อดูชื่อ hostname ของเครื่องได้
[root@cent7 ~]# hostname cent7-updated.example.com