Archive for กรกฎาคม 2016
คอนฟิกหลาย IP Address centos
บางครั้งเราต้องคอนฟิกหลาย IP Address ในพอร์ตแลนเดียวกัน (หรือเรียกว่าสร้าง Virtual IP เพิ่มเติม หรือคอนฟิก Secondary IP ในอุปกรณ์ Cisco)
ใบบทความนี้ จะอธิบายวิธีคอนฟิกทั้งการเพิ่ม และลบ IP บนลีนุกซ์
สมมติว่าต้องการคอนฟิกหลาย IP เพิ่มเติมบนพอร์ต eth0 ที่มี IP เดิมอยู่แล้วคือ 192.168.1.1
[root@cent6 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1160 errors:0 dropped:0 overruns:0 frame:0 TX packets:411 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:107256 (104.7 KiB) TX bytes:57832 (56.4 KiB) ...
หากต้องการคอนฟิกเพิ่ม IP Address บนพอร์ต สามารถทำได้โดย ใช้คำสั่ง ifconfig ระบุชื่อพอร์ต ตามด้วยเครื่องหมาย : ตามด้วยตัวเลขใดๆ ก็ได้ เช่น 0,1,2,3… โดยพิมพ์ชื่อพอร์ต : และตัวเลขติดกันเลยไม่มีเว้นวรรค
คำเตือน ระมัดระวังอย่าลืมระบุเครื่องหมาย : ติดกับชื่อพอร์ต ทั้งตอนที่เพิ่ม IP และลบ IP ออก ไม่เช่นนั้น จะเป็นการแก้ไขคอนฟิกของพอร์ตหลักเลย
เพิ่ม IP ADDRESS เข้าพอร์ต
ตัวอย่างเช่นต้องการเพิ่ม IP 192.168.1.2 สามารถทำได้โดยใช้คำสั่ง
[root@cent6 ~]# ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0
IP ที่เพิ่มสามารถใช้งานได้เลย อาจลองทดสอบด้วย ping จากเครื่องอื่น
[root@cent6 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2545 errors:0 dropped:0 overruns:0 frame:0 TX packets:1304 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:235956 (230.4 KiB) TX bytes:163294 (159.4 KiB) eth0:0 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ...
เราอาจเรียกพอร์ตที่เราคอนฟิกเพิ่มใหม่ eth0:0 ว่า Virtual Port เรียกพอร์ตหลัก eth0 ว่า Physical Port
หากต้องการเพิ่มอีก IP ก็ทำได้โดยใส่ตัวเลขอื่น เช่น
[root@cent6 ~]# ifconfig eth0:1 192.168.1.3 netmask 255.255.255.0 [root@cent6 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2639 errors:0 dropped:0 overruns:0 frame:0 TX packets:1377 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:244978 (239.2 KiB) TX bytes:172136 (168.1 KiB) eth0:0 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 eth0:1 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ...
สังเกตว่าพอร์ตที่เราคอนฟิกเพิ่มใหม่ หรือ Virtual Port ใช้ HWaddr หรือ MAC Address เดียวกันกับพอร์ตหลัก
ลบ IP ADDRESS ออกจากพอร์ต
หากต้องการเอา IP Address ที่เพิ่มออก ก็ใช้คำสั่ง ifconfig ตามด้วยชื่อพอร์ตที่เพิ่ม ระบุคำว่า down ต่อท้าย
[root@cent6 ~]# ifconfig eth0:1 down [root@cent6 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2730 errors:0 dropped:0 overruns:0 frame:0 TX packets:1445 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:253274 (247.3 KiB) TX bytes:181816 (177.5 KiB) eth0:0 Link encap:Ethernet HWaddr 08:00:22:33:44:55 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
แก้ไขคอนฟิกไฟล์ ตอนบู๊ตของ REDHAT/CENTOS
เมื่อได้คอนฟิก IP ที่ต้องการแล้ว หากต้องการใส่ไว้ในคอนฟิกตอนบู๊ตเครื่อง ให้มีการคอนฟิก IP เพิ่มเลย อาจทำได้ง่ายๆ โดยใส่เป็นคำสั่งไว้ในไฟล์ /etc/rc.d/rc.local แต่แนะนำให้สร้างไฟล์คอนฟิกในรูปแบบ ifcfg-eth ในไดเร็คทอรี /etc/sysconfig/network-scripts/ เพื่อให้คำสั่งประเภทช่วยคอนฟิก เช่น system-config-network สามารถใช้งานได้ด้วย
ตัวอย่างเช่นคอนฟิกไฟล์ IP ของพอร์ต eth0:0
[root@cent6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0 DEVICE=eth0:0 TYPE=Ethernet BOOTPROTO=none IPADDR=192.168.1.2 NETMASK=255.255.255.0 IPV6INIT=no USERCTL=no
IP Address ที่เพิ่ม ไม่จำเป็นต้องอยู่ใน Subnet เดียวกันกับ IP หลัก แต่ถ้าอยู่ใน Subnet เดียวกัน Netmask น่าจะเหมือนกัน ไม่งั้นอาจเกิดปัญหาได้ ลองนำไปใช้กันดูครับ