ข้ามไปที่เนื้อหาหลัก

Predictable Network Interface Names #2

Predictable Network Interface Names


มาต่อกันจากประเด็นตอนที่แล้วทำให้ผู้เขียนต้องหาวิธีให้ระบบปฏิบัติการที่ผู้เขียนใช้เปลี่ยนกลับเป็นแบบเดิม เช่น eno1 เป็น eth0 ฯลฯ  และเหตุผลหลักที่ผมต้องการเปลี่ยนเป็นแบบเดิม ผมทำอุปกรณ์ network appliance ของ lanner ลิงค์รุ่น FW-7525 ตามรูปด้านล่าง ซึ่งจริงดูเหมือนว่าจะเป็น onboard ทั้งหมดนิ ไม่ยากอะไร แต่จริงแล้วตัวอุปกรณ์มี chipset การ์ดแลนคนละแบบกัน 

ตัวอย่างชื่ออินเตอร์เฟส
ens3, ens4, eno1, eno2, eno3, eno4


ปัญหาที่เกิดขึ้น คือ มันจะแสดงแบบด้านบน แล้วผมจะเขียนโปรแกรมยังไงว่าพอร์ตซ้าย คือ พอร์ต manage พอเปลี่ยน hardware อีกชื่อก็เปลี่ยนอีก ผู้เขียนเลยต้องการเปลี่ยนให้เขียนโปรแกรมง่าย และเรียงลำดับพอร์ตเองได้อย่างถูกต้อง ไม่ต้องเหนื่อยคนเขียนโปรแกรม

ขั้นตอนแก้ไขเปลี่ยนกลับแบบเดิม

OS: Debian 9.0 - 9.4 (Stretch)

  • nano /etc/default/grub
  • หาบรรทัด GRUB_CMDLINE_LINUX
  • ทำการเพิ่ม net.ifnames=0 biosdevname=0
  • บันทึกไฟล์ และทำการ update-grub

OS: Ubuntu 14.04.X
  • แก้เป็น net.ifnames=1 biosdevname=0

OS: Ubuntu 16.04.X , 18.04.X
  • แก้เป็น net.ifnames=0 biosdevname=0

ปล. การแก้ไขด้านบนต้องใช้สิทธิ์ root หรือใช้คำสั่ง sudo ด้วยนะครับ การแก้ไขด้านบนถ้ายังไม่ได้แนะนำให้ค้นหาในเน็ตเพิ่มเติมให้ตรงกับเวอร์ชั่นโอเอสที่ใช้งาน

ปิดท้าย เรื่องนี้ยังไม่จบนะครับ ยังมีการเรียงพอร์ตอินเตอร์เฟสอีก ค่อยไปต่อกันภาค 3 ครับ

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Dynamic Kernel Module Support (DKMS) ภาค 3

Dynamic Kernel Module Support เกริ่นมา 2 บทความแล้ว หวังว่าผู้อ่านจะเข้าใจนะครับ สรุปง่ายๆ คือ เจ้าพระเอกของเรา DKMS คำสั่งนี้จะช่วยให้เราจะทำการไฟล์ติดตั้งไดว์เวอร์ให้เราอัตโนมัติ เมื่อมีการอัพเดต kernel ให้เรา ทำให้เราไม่เจอปัญหาเวลาอัพเดตระบบปฏิบัติการแล้วใช้งานไดว์เวอร์การ์ดแลนได้ ปล. มันไม่ใช้แค่ช่วยเรื่องไดว์เวอร์ ยังช่วยทำให้เราเพิ่มความสามารถให้กับ kernel อีกด้วย ขั้นตอนการทำดังนี้ ก่อนทำ เราจะเช็คดูก่อนเพื่อสำรองไฟล์เดิมหรือทำการเช็คเวอร์ชั่นที่ใช้อยู่ได้ เช่น modinfo e1000e (เช็คตำแหน่งที่เก็บไฟล์ไดว์เวอร์) ethtool eth0 (ดูเวอร์ชั่นของไดว์เวอร์) ฯลฯ สามารถใช้ผู้ใช้งาน root ในการทำได้  และก่อนทำบนเครื่องต้องมีคำสั่งและ kernel header ด้วยในที่นี้ผู้เขียนทำตัวอย่างบนระบบปฏิบัติการ Debian ก็ได้ทำการติดตั้งดังนี้  apt-get install dkms deb-helper build-essential linux-headers-$(uname -r) make  cd /usr/src/ sudo wget https://downloadmirror.intel.com/15817/eng/e1000e-3.4.0.2.tar.gz sudo tar xvfz e1000e-3.4.0.2.tar.gz cd e1000e-3.4.0.2 sudo ...

Predictable Network Interface Names #3

Predictable Network Interface Names ภาคสุดท้ายปิดตำนานยาจกซูกับไม้ตีสุนัข ไม่ใช่ละ อันนี้มันเกี่ยวกับระบบปฏิบัติการ จิงต้องบอกว่ามันไม่เกี่ยวกับหัวข้อเลยที่กล่าวถึง แต่ขอมัดรวมเป็นเรื่องเดียวกันหน่อยครับ เพราะมันมีบางส่วนที่ทำต่อเนื่องกัน โดยในบทความนี้ จะกล่าวถึงการตั้งชื่อ อินเตอร์เฟสแลนการ์ด โดยแมฟกับ MAC Address จากตอนที่แล้วจะเห็นว่าอินเตอร์เฟสมันไม่เรียงเลย ถึงแม้เราจะเปลี่ยนชื่อเป็นแบบเก่า ก็จะยังเป็นแบบตามรูปด้านล่างที่ยังมีปัญหาอยู่ขึ้นอยู่ ทำให้ตอนใช้งานก็จะยังลำบากเหมือนเดิม ปัญหาที่ตามมาคงไม่ต้องบอกกันนะ คนเขียนโปรแกรมถึงกลับร้องไห้ ผมจะเขียนยังไงอะพี่ โดยในลีนุกส์จะใช้การเรียงลำดับจากเลข MAC Address พอ chip คนละตัว และเลขน้อยกว่า ทำให้มันไปพอร์ตที่ 5 เป็น eth0 ตามด้านบน  วิธีแก้ไขจะมีอยู่ 2 แบบ ขึ้นกับว่าโอเอสที่ใช้ แบบเก่า UDEV (Dynamic Device Management)     ขั้นตอน      - export INTERFACE=eth0      - export MATCHADDR=xx:xx:xx:xx:xx:xx      - /lib/udev/write_net_rules ...

โคตรโบราณกับการพัฒนาระบบด้วย Waterfall Model

ไหนว่าจะพูดถึงเรื่อง  Software Development Life Cycle (SDLC) ต่อ แล้วไหนถึงกลายเป็น Waterfall Model ละมันคืออะไร แล้วทำไมถึงโบราณ แล้วยังมีใครพัฒนาในรูปแบบนี้กันอยู่เปล่านะ มาเข้าเรื่องกันดีกว่า Waterfall Model จะเป็นการพัฒนาซอฟต์แวร์ในรูปแบบโมเดลน้ำตก คือ ทำที่ละขั้นตอนลงมาเรื่อยๆ จนพัฒนาซอฟต์แวร์เสร็จ พูดถึงข้อเสียกันเลย ผู้ใช้ซอฟต์แวร์หรือระบบจะเห็นระบบเมื่อผ่านขั้นตอนการพัฒนาไปแล้ว ทำให้กลับมาแก้ไขได้ลำบากหรือเสียเวลา ถ้าเกิดไม่ตรงตามความต้องการ การพัฒนาในรูปแบบนี้ไม่รองรับความต้องการของลูกค้าที่เปลี่ยนแปลงอย่างรวดเร็วได้ อ้าวมีข้อเสียแถมเป็นการพัฒนาซอฟต์แวร์โบราณจะไปสนใจทำไมกันละ แล้วทุกวันนี้ยังมีใช้กันอยู่รึเปล่า ผมสรุปให้เลยว่ามีและประสบความสำเร็จด้วย แต่กับระบบที่ไม่ใหญ่มากและไม่มีความซับซ้อนจนเกิดไป และก็ต้องวางแผนดีๆ ด้วยละ เอาละมาดูกันเลยดีกว่าจากรูปด้านบนจะเห็นว่ามีการทำทีละขั้นตอนลงมาเรื่อยๆ จนติดตั้งใช้งานระบบจริงๆ มาเริ่มกันเลยดีกว่า ขั้นตอนการพัฒนาตามรูปแบบ Waterfall Model ขั้นตอนการวางแผนการทำงาน ขั้นตอนเก็บรวบรวมความต้องการระบบ ข...