การตั้งค่า eth0 บน ubuntu 16.04 server

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 28-04-2560
ดูแลโดย WIBOON


หากติดตั้ง ubuntu 16.04 server แล้วเมื่อตรวจสอบด้วยคำสั่ง ifconfig พบว่าไม่ได้ชื่อ eth0 แต่ได้อย่างอื่น เช่น enp0s3 เป็นต้น
และต้องการเปลี่ยนกลับไปใช้ eth0, eth1, ...

ทำดังนี้

1.แก้ไขไฟล์ /etc/default/grub

sudo vi /etc/default/grub

แก้บรรทัดนี้ อยู่ประมาณบรรทัดที่ 11
เดิม

GRUB_CMDLINE_LINUX_DEFAULT=""

ใหม่

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0"

2.เสร็จแล้วสั่งคำสั่ง

sudo update-grub

3.แล้วแก้ไขไฟล์ /etc/network/interfaces

sudo vi /etc/network/interfaces

แก้บรรทัดนี้
เดิม

auto enp0s3
iface enp0s3 inet dhcp

ใหม่

#auto enp0s3
#iface enp0s3 inet dhcp
auto eth0
iface eth0 inet dhcp

4.แล้วรีบูตเครื่อง จากนั้น login เข้าแล้วตรวจสอบด้วยคำสั่ง ifconfig

การบังคับให้ network interface card อันที่ต้องการให้เป็นชื่อที่ต้องการ เช่น มี NIC 2 อัน ต้องการให้ MAC 00:1c:60:1e:fb:ab เป็นชื่อ eth0
ทำดังนี้ ตรวจสอบด้วยคำสั่ง ifconfig -a
แก้ไขไฟล์ /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:60:1e:fb:ab", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:06:75:fd:a4:9c", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth1"

แล้วรีบูตเครื่อง จากนั้น login เข้าแล้วตรวจสอบด้วยคำสั่ง ifconfig -a