Posted by : itemxp วันจันทร์ที่ 11 กรกฎาคม พ.ศ. 2559


บางครั้งเราต้องคอนฟิกหลาย 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 น่าจะเหมือนกัน ไม่งั้นอาจเกิดปัญหาได้ ลองนำไปใช้กันดูครับ

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © เอาไว้เก็บข้อมูลต่างๆ - Blogger Templates - Powered by Blogger - Designed by Johanes Djogan -