เมื่ออาทิตย์ที่แล้วผมต้องติดตั้ง Ubuntu 8.04 Server Edition ลงบนเครื่องเซิร์ฟเวอร์ Dell PowerEdge 200 ที่เพิ่งซื้อมาใหม่ทั้ง 3 เครื่อง สิ่งหนึ่งที่ผมต้องทำระหว่างติดตั้งก็คือการ Configure IP Address และการใช้คำสั่งเกี่ยวกับ Network บน command line...
ผมเห็นว่าวิธีการ Configure IP Address และการใช้ network command บน Linux จริง ๆ แล้วมันก็ไม่ได้น่ากลัวอะไร แต่ผู้ใช้มือใหม่ไม่กล้าใช้กัน ประกอบกับผมไปเจอบทความดี ๆ เข้า ก็เลยผมอยากแปลเพื่อเผยแพร่และรวมรวมคำสั่งเกี่ยวกับ network ต่าง ๆ ที่น่าสนใจ เพื่อที่จะได้เป็นประโยชน์กับผู้อื่นดีกว่า
หมายเหตุ: ระบบที่ผมทดลองคือ Ubuntu ดังนั้นคำสั่งบางคำสั่งอาจจะใช้ได้เฉพาะ Linux ตระกูล Debian เท่านนั้น
วิธีการกำหนด IP Address โดยทั่วไปก็มีอยู่ 2 วิธี ได้แก่:
สมมติว่าคุณต้องการเพิ่ม 203.144.207.49 เป็น Primary DNS Server
ตัวอย่างไฟล์/etc/hosts
รูปแบบของไฟล์ /etc/hosts คือ IP address เป็นฟิลด์แรก และ ฟิลด์ต่อ ๆ ไป คือ hostname ที่จะจับคู่กับ IP ดังกล่าว แต่ละฟิลด์จะคั่นด้วย white-space character ดังนั้น จากไฟล์ตัวอย่าง เราสามารถแทน IP 127.0.0.1 ได้ด้วย 2 hostname คือ localhost และ pegasus ส่วน IP 192.168.1.35 เราสามารถแทนได้ด้วย hostname เพืยงอันเดียวคือ www.mywebsite.com เป็นต้น
ต่อไปนี้เป็นตัวอย่าง ผลลัพธ์ที่ได้จากคำสั่งดังกล่าว
ถ้าหากต้องการให้แสดงสถานะของ network interface ทุกอันในเครื่อง ก็ทำได้ง่ายเพียงแค่สั่งคำสั่ง
สมมติว่าเราต้องการเปลี่ยน IP Address ของ eth0 ให้เป็น 10.10.13.64 และ Netmask เป็น 255.255.0.0 ก็ทำได้ด้วยคำสั่งต่อไปนี้:
คุณสามารถเปิดการใช้งาน network adapter ด้วยคำสั่ง:
หรือ
คุณสามารถปิดการใช้งาน network adapter ด้วยคำสั่ง:
หรือ
หรือ
ตัวอย่างผลลัพธ์ของคำสั่ง route
ถ้าหากเครื่องที่คุณต้องการกำหนด Default Gateway ได้ถูกกำหนด Default Gateway ไว้แล้วคุณต้องลบ route สำหรับ Default Gateway อันเดิมก่อนด้วยคำสั่งต่อไปนี้ก่อนที่จะเรียกคำสั่งด้านบน
หรือ
ที่มา: Howto: Ubuntu Linux convert DHCP network configuration to static IP configuration
ผมเห็นว่าวิธีการ Configure IP Address และการใช้ network command บน Linux จริง ๆ แล้วมันก็ไม่ได้น่ากลัวอะไร แต่ผู้ใช้มือใหม่ไม่กล้าใช้กัน ประกอบกับผมไปเจอบทความดี ๆ เข้า ก็เลยผมอยากแปลเพื่อเผยแพร่และรวมรวมคำสั่งเกี่ยวกับ network ต่าง ๆ ที่น่าสนใจ เพื่อที่จะได้เป็นประโยชน์กับผู้อื่นดีกว่า
หมายเหตุ: ระบบที่ผมทดลองคือ Ubuntu ดังนั้นคำสั่งบางคำสั่งอาจจะใช้ได้เฉพาะ Linux ตระกูล Debian เท่านนั้น
วิธีการกำหนด IP Addressให้ network adapter
Linux มีไฟล์หนึ่งที่ชื่อว่า /etc/network/interfaces ซึ่งใช้เก็บ configuration ของ network interfaces แต่ละอันในเครื่อง ดังนั้นหากเราจะ Configure IP Address ก็จะต้องแก้ไขไฟล์ดังกล่าววิธีการกำหนด IP Address โดยทั่วไปก็มีอยู่ 2 วิธี ได้แก่:
- Static IP Configuration - IP Address จะถูกกำหนดโดยผู้ดูแลระบบ ซึ่งมีวิธีการ configure ดังนี้:
- เปิด network configuration file (/etc/network/interfaces) ด้วย Text Edition ที่คุณถนัด
$ sudo vim /etc/network/interfaces
- เพิ่ม Static IP Configuration สำหรับ network adapter สมมติว่าค่าต่าง ๆ ที่ผมต้องการคือ:
- network adapter คือ eth0
- IP Address คือ 192.168.0.70
- Netmask คือ 255.255.255.0
- Network คือ 192.168.0.0
- Broadcast IP Address คือ 192.168.0.255
- Gateway คือ 192.168.0.1
iface eth0 inet static address 192.168.1.70 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1
- บันทึกไฟล์และปิด Text Editor แล้วจึง restart networking services
$ sudo /etc/init.d/networking restart
- เปิด network configuration file (/etc/network/interfaces) ด้วย Text Edition ที่คุณถนัด
- DHCP network configuration - IP Address จะถูกกำหนดโดย DHCP Server ที่อยู่ใน network ซึ่งมีวิธีการ configure ดังนี้:
- เปิด network configuration file (/etc/network/interfaces) ด้วย Text Edition ที่คุณถนัด
$ sudo vim /etc/network/interfaces
- เพิ่ม DHCP network Configuration สำหรับ network adapter เข้าไปในไฟล์ /etc/network/interfaces
iface eth0 inet dhcp
- บันทึกไฟล์และปิด Text Editor แล้วจึง restart networking services
$ sudo /etc/init.d/networking restart
- เปิด network configuration file (/etc/network/interfaces) ด้วย Text Edition ที่คุณถนัด
วิธีการกำหนด DNS Server
เราสามารถเพิ่มลด DNS Server ที่เราใช้ในการ look-up IP Address ได้โดยการแก้ไขไฟล์ /etc/resolv.confสมมติว่าคุณต้องการเพิ่ม 203.144.207.49 เป็น Primary DNS Server
- เปิดไฟล์ /etc/resolv.conf ด้วย Text Edition ที่คุณถนัด
$ sudo vi /etc/resolv.conf
- เพิ่มบรรทัดต่อไปนี้เข้าไปก่อนหน้าบรรทัดอื่น ๆ ที่ขึ้นต้นด้วยคำว่า nameserver
nameserver 203.144.207.49
วิธีการ Resolve IP address
$ host www.yannarak.net
วิธีการจับคู่ IP Address กับ Hostname ด้วย Hosts file
ในบางกรณี คุณไม่สามารถใช้ DNS Server ในการ resolve IP ได้ ยกตัวอย่างเช่น localhost เป็นต้น ดังนั้นในระบบปฎิบัติการจึงต้องมีวิธีการที่ใช้ในการจับคู่ระหว่าง IP Address กับ Host name แบบ static โดยไม่ใช้ DNS Server ด้วย สำหรับ Linux มีไฟล์ที่ชื่อว่า /etc/hosts ซึ่งใช้ในการทำงานดังกล่าวตัวอย่างไฟล์/etc/hosts
127.0.0.1 localhost pegasus 192.168.1.35 www.mywebsite.com
วิธีการแสดงสถานะของ network adapter
หลังจากที่เราได้ configure IP address ให้กับ network adapter แล้ว หากเราต้องการตรวจสอบสถานะของ network adapter นั้น ๆ ตรงตามที่เราต้องการหรือไม่เราก็สามารถตรวจสอบได้โดยใช้ คำสั่งifconfig
ดังตัวอย่างต่อไปนี้:$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:1e:37:ab:cd:ef inet addr:192.168.0.70 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::21e:37ff:fe8e:7ae1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:353 errors:0 dropped:0 overruns:0 frame:0 TX packets:442 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:191447 (186.9 KB) TX bytes:128793 (125.7 KB) Base address:0x1840 Memory:fe000000-fe020000
ifconfig
เฉย ๆ โดยไม่ต้องส่ง parameter ใด ๆวิธีการเปลี่ยน IP Address และ Netmask
คำสั่งifconfig
นอกจากจะใช้ในการแสดงสถานะของ network adapter แล้ว ยังสามารถใช้ในการเปลี่ยน IP Address และ Netmask ของ network adapter ได้อีกด้วยสมมติว่าเราต้องการเปลี่ยน IP Address ของ eth0 ให้เป็น 10.10.13.64 และ Netmask เป็น 255.255.0.0 ก็ทำได้ด้วยคำสั่งต่อไปนี้:
$ sudo ifconfig eth0 10.10.13.64 netmask 255.255.0.0 up
วิธีการเปิด/ปิด การทำงานของ network adapter
นอกจากนี้ คำสั่งifconfig
ก็ยังเป็นคำสั่งที่ใช้ในการเปิด/ปิด network adapter อีกด้วยคุณสามารถเปิดการใช้งาน network adapter ด้วยคำสั่ง:
$ sudo ifconfig eth0 up
$ sudo ifup eth0
$ sudo ifconfig eth0 down
$ sudo ifdown eth0
วิธีการแสดง routing table
คุณสามารถใช้คำสั่งต่อไปนี้ในการแสดง routing table ได้$ /sbin/route
$ /sbin/route -n
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
วิธีการกำหนด Default Gateway
$ sudo route add default gw 172.16.236.0
$ sudo route del default
วิธีการแสดงรายการ Active Internet Connections (ทั้ง server และ connection ที่เชื่อมต่อเรียบร้อยแล้ว)
$ netstat -nat
วิธีการแสดงว่า Port อะไรกำลังเปิดอยู่บ้าง
$ sudo netstat -tulp
$sudo netstat -tulpn
วิธีการแสดงข้อมูลสถิติของแต่ละ network adapter
$sudo netstat -i
0 comments:
Post a Comment