1. IP Address คืออะไร?
IP Address คือหมายเลขเฉพาะที่ใช้ระบุอุปกรณ์บนเครือข่าย จำเป็นอย่างยิ่งสำหรับการส่งและรับข้อมูลเมื่อสื่อสารบนอินเทอร์เน็ตหรือเครือข่ายท้องถิ่น IP Address มีหลักๆ 2 ประเภทคือ IPv4 และ IPv6 IPv4 เป็นรูปแบบ Address แบบ 32 บิต เช่น “192.168.0.1” ส่วน IPv6 เป็นรูปแบบ Address แบบ 128 บิต เช่น “2001:0db8:85a3:0000:0000:8a2e:0370:7334” IPv6 ถูกใช้เพื่อเพิ่มความสามารถในการขยายพื้นที่ Address และรองรับอุปกรณ์ได้มากขึ้น
2. คำสั่งพื้นฐานสำหรับตรวจสอบ IP Address ใน Ubuntu
ใน Ubuntu มีคำสั่งหลากหลายสำหรับตรวจสอบ IP Address คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบ IP Address ที่กำหนดให้กับระบบของคุณได้อย่างง่ายดาย
2.1 คำสั่ง ip addr show
ip addr show
เป็นคำสั่งที่ทรงพลังและแนะนำใน Linux distribution รุ่นใหม่ๆ ใช้สำหรับแสดง IPv4 และ IPv6 Address ที่กำหนดให้กับ Network Interface
ตัวอย่างการใช้งาน:
$ sudo ip addr show
ตัวอย่างผลลัพธ์:
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic ens33
valid_lft 86381sec preferred_lft 86381sec
inet6 fe80::250:56ff:fe9a:de91/64 scope link
valid_lft forever preferred_lft forever
- “192.168.1.10/24” ที่อยู่หลัง inet คือ IPv4 Address ส่วน “/24” คือสัญกรณ์ CIDR ซึ่งแสดงความยาวของ Subnet Mask (เทียบเท่ากับ 255.255.255.0) ในสัญกรณ์ CIDR 24 บิตแรกแสดงส่วนของ Network และ 8 บิตที่เหลือแสดงส่วนของ Host
- ส่วนที่อยู่หลัง inet6 คือ IPv6 Address ซึ่งจะแสดงผลในรูปแบบ “fe80::250:56ff:fe9a:de91”
คำอธิบายเพิ่มเติม:
- `brd` แสดง Broadcast Address
- `scope` แสดงขอบเขตของ Address โดยที่ `global` หมายถึง Global Scope (ทั่วทั้งอินเทอร์เน็ต) และ `link` หมายถึง Link-Local Scope (ภายใน Segment เครือข่ายเดียวกัน)
2.2 คำสั่ง hostname -I
คำสั่ง `hostname -I` ใช้สำหรับแสดง IP Address ทั้งหมดที่กำหนดให้กับระบบ โดยคั่นด้วย Space สะดวกและตรงไปตรงมาเมื่อต้องการดูเฉพาะ IP Address
ตัวอย่างการใช้งาน:
$ hostname -I
ตัวอย่างผลลัพธ์:
192.168.1.10 fe80::250:56ff:fe9a:de91
- ค่าแรกคือ IPv4 Address และค่าถัดไปคือ IPv6 Address คำสั่งนี้จะไม่แสดงข้อมูลรายละเอียด แต่จะแสดงรายการ IP Address ที่กำหนดให้กับ Interface เท่านั้น
IP Address ของ Default Interface:
- หากต้องการรับ IP Address ของ Network Interface เริ่มต้น (Default) ให้ใช้คำสั่งต่อไปนี้:
$ ip route get 1.1.1.1
คำสั่งนี้จะแสดงข้อมูล Route ไปยัง Address ที่ระบุ และแสดง Default Interface
2.3 คำสั่ง curl ifconfig.me
คำสั่ง `curl ifconfig.me` ใช้เพื่อเข้าถึงบริการภายนอกเพื่อรับ Public IP Address คำสั่งนี้สะดวกเมื่อคุณต้องการตรวจสอบ IP Address ของคุณที่มองเห็นจากภายนอก ซึ่งต้องมีการเชื่อมต่ออินเทอร์เน็ต อย่างไรก็ตาม ควรคำนึงถึงความเป็นส่วนตัว เนื่องจากคำสั่งนี้สื่อสารกับเซิร์ฟเวอร์ภายนอก
ตัวอย่างการใช้งาน:
$ curl ifconfig.me
ตัวอย่างผลลัพธ์:
203.0.113.50
ผลลัพธ์นี้คือ Global IP Address ของคุณที่มองเห็นจากอินเทอร์เน็ต
ข้อควรระวังเรื่องความเป็นส่วนตัว:
- `curl ifconfig.me` ส่งข้อมูล IP Address ของคุณไปยังเซิร์ฟเวอร์ภายนอก หากคุณกังวลเรื่องความเป็นส่วนตัว โปรดพิจารณาวิธีอื่น เช่น การตรวจสอบโดยตรงจากหน้าจอตั้งค่าของ Router
Public IP Address และ Private IP Address:
- IP Address ที่แสดงด้วย `ip addr show` คือ Private IP Address ซึ่งใช้ภายในเครือข่ายท้องถิ่น ส่วน IP Address ที่ได้จาก `curl ifconfig.me` คือ Global IP Address ที่ใช้เชื่อมต่อกับอินเทอร์เน็ต บ่อยครั้งที่ IP Address ภายในและภายนอกแตกต่างกันเนื่องจาก NAT (Network Address Translation) การใช้ NAT ช่วยให้อุปกรณ์หลายเครื่องสามารถแชร์ Public IP Address เดียวกันเพื่อเข้าถึงอินเทอร์เน็ตได้

3. คำสั่งเก่า ifconfig
และคำสั่งทดแทน
`ifconfig` เคยเป็นคำสั่งจัดการเครือข่ายมาตรฐานที่ใช้ใน Linux มาก่อน แต่ปัจจุบันไม่ได้รับการแนะนำแล้ว และไม่ได้รวมอยู่ใน Linux distribution รุ่นใหม่ๆ โดยค่าเริ่มต้น แทนที่ด้วยคำสั่ง `ip` ที่ทรงพลังกว่า
การติดตั้ง ifconfig
:
$ sudo apt install net-tools
ตัวอย่างการใช้งาน:
$ sudo ifconfig
ตัวอย่างผลลัพธ์:
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
- “192.168.1.10” ที่อยู่หลัง “inet” คือ IPv4 Address
ข้อจำกัดของ ifconfig
:
- `ifconfig` อาจไม่แสดง Network Interface ทั้งหมด โดยเฉพาะอย่างยิ่ง Virtual Interface หรือข้อมูล IPv6 Address คำสั่ง `ip` ให้ข้อมูลเครือข่ายที่ครอบคลุมและเป็นปัจจุบันมากกว่า
4. การใช้งาน NetworkManager
4.1 คำสั่ง nmcli
`nmcli` เป็นเครื่องมือ Command Line สำหรับควบคุม NetworkManager ซึ่งสามารถแสดงข้อมูลรายละเอียดของอุปกรณ์เครือข่าย หากยังไม่ได้ติดตั้ง `nmcli` สามารถติดตั้งได้ด้วยคำสั่งต่อไปนี้:
วิธีการติดตั้ง:
$ sudo apt install network-manager
ตัวอย่างการใช้งาน:
$ nmcli device show
ตัวอย่างผลลัพธ์:
IP4.ADDRESS[1]: 192.168.1.10/24
- “192.168.1.10” ที่อยู่หลัง “IP4.ADDRESS[1]” คือ IPv4 Address
การตรวจสอบสถานะ NetworkManager:
- หากต้องการตรวจสอบว่า NetworkManager กำลังทำงานหรือไม่ ให้ใช้คำสั่งต่อไปนี้:
$ systemctl status NetworkManager
5. การตรวจสอบ IP Address ในสถานการณ์ต่างๆ
การตรวจสอบ IP Address จำเป็นในสถานการณ์ต่างๆ เช่น การแก้ไขปัญหาการเชื่อมต่อเครือข่าย การตั้งค่าเซิร์ฟเวอร์ การเตรียมการเข้าถึงจากระยะไกล (Remote Access) การทราบคำสั่งที่แตกต่างกันจะช่วยให้คุณเลือกวิธีที่เหมาะสมกับสภาพแวดล้อมและสถานการณ์เครือข่ายได้
เคล็ดลับในการแก้ไขปัญหา:
- ปัญหาเครือข่าย: หากไม่ได้ตั้งค่า IP Address อย่างถูกต้อง อาจไม่สามารถเชื่อมต่อกับเครือข่ายได้ ตรวจสอบการตั้งค่าด้วย `ip addr show` และยืนยันว่า IP Address กำหนดให้กับ Interface ที่ถูกต้อง การเปลี่ยนแปลงการตั้งค่าเครือข่ายอาจต้องใช้ `sudo`
- การตั้งค่า Remote Access: เมื่อตั้งค่า Remote Access ไปยังเซิร์ฟเวอร์ คุณจำเป็นต้องทราบ Public IP Address ที่ถูกต้อง ตรวจสอบ Public IP Address ด้วย `curl ifconfig.me` และยืนยันว่า Port Forwarding บน Router ได้รับการตั้งค่าอย่างถูกต้อง
- การตรวจสอบการเชื่อมต่อ: เมื่อต้องการตรวจสอบสถานะการเชื่อมต่อเครือข่าย คุณสามารถใช้คำสั่ง `ping` เพื่อตรวจสอบว่าการเชื่อมต่อไปยัง Host ที่ระบุเป็นปกติหรือไม่ ตัวอย่างเช่น ใช้ `ping google.com` เพื่อทดสอบว่าสามารถเชื่อมต่ออินเทอร์เน็ตได้หรือไม่ นอกจากนี้ยังสามารถใช้คำสั่ง `traceroute` เพื่อแสดงเส้นทางที่ Packet เดินทางผ่านเครือข่าย และระบุว่ามีความล่าช้าหรือปัญหาเกิดขึ้นที่ใด
$ ping google.com
$ traceroute google.com
- ในผลลัพธ์ของ ping ให้ตรวจสอบเวลาตอบสนองและการสูญเสีย Packet หากไม่มีการตอบสนอง แสดงว่าอาจมีปัญหาในการเชื่อมต่อ
- ใน traceroute ให้ตรวจสอบเวลาความล่าช้าสำหรับแต่ละ Hop และระบุว่าเกิดความล่าช้าที่จุดใด
6. สรุป
มีหลายทางเลือกในการตรวจสอบ IP Address ใน Ubuntu แต่ละคำสั่งมีข้อดีเฉพาะตัว และสิ่งสำคัญคือการเลือกวิธีที่เหมาะสมกับสถานการณ์ `ip addr show` ให้ข้อมูลเครือข่ายโดยละเอียด ส่วน `hostname -I` เหมาะสำหรับการรับ IP Address อย่างง่ายๆ `curl ifconfig.me` สะดวกสำหรับการตรวจสอบ Global IP Address แต่ต้องคำนึงถึงความเป็นส่วนตัว นอกจากนี้ `ifconfig` ไม่เป็นที่แนะนำในปัจจุบัน แต่ยังสามารถใช้ได้ในบางกรณี
การเชี่ยวชาญคำสั่งเหล่านี้จะช่วยให้คุณจัดการเครือข่ายบน Ubuntu ได้อย่างมีประสิทธิภาพ โดยเฉพาะอย่างยิ่งในการแก้ไขปัญหาเครือข่าย การแยกแยะคำสั่งที่เหมาะสมเป็นสิ่งสำคัญในการระบุปัญหาและค้นหาวิธีแก้ไขอย่างรวดเร็ว นอกจากนี้ การทำความเข้าใจแนวคิดของ Network Address Translation (NAT) และ IP Address จะช่วยให้คุณเข้าใจการกำหนดค่าเครือข่ายและความปลอดภัยได้ลึกซึ้งยิ่งขึ้น โปรดใช้เอกสารทางการและแหล่งข้อมูลอื่นๆ เพื่อพัฒนาทักษะการจัดการเครือข่ายของคุณ
แหล่งข้อมูลอ้างอิง:
- เอกสารทางการของ Ubuntu
- วิธีตรวจสอบ IP Address ใน Ubuntu Linux
- ภาพรวมของ Network Address Translation (NAT)