Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

การเพิ่มอินเทอร์เฟซ VLAN ใน CentOS/Fedora/RHEL

ในบทความนี้เราจะแสดงวิธีกำหนดค่าอินเทอร์เฟซ VLAN ที่ติดแท็กโดยใช้เครื่องมือ Linux ดั้งเดิมบน CentOS/Fedora/RedHat เราจะศึกษาการกำหนดค่าโดยใช้อินเทอร์เฟซย่อย , vlanX . แยกต่างหาก ไฟล์และเครื่องมือต่างๆ เช่น NetworkManager และ vconfig .

ใน CentOS/Fedora/RedHat มีตัวเลือกการกำหนดค่า VLAN สองตัวเลือก:

  • การใช้ อินเทอร์เฟซย่อย (เช่น eth12.7 )
  • ใช้ vlanXX แยกต่างหาก (vlan7 ) ไฟล์

VLAN (Virtual Local Area Network) อนุญาตให้แบ่งเครือข่ายของคุณออกเป็นโดเมนกระจายเสียงหลายโดเมนในระดับ OSI ของดาต้าลิงค์ เมื่อใช้ VLAN คุณสามารถกำหนดค่าเครือข่ายบางส่วนได้บนอินเทอร์เฟซทางกายภาพเดียวกันของเซิร์ฟเวอร์ของคุณ เมื่อใช้ 802.1Q VLAN เราเตอร์ สวิตช์ และเซิร์ฟเวอร์ควรกำหนดแท็กพิเศษ (การรับส่งข้อมูลที่แท็ก) ด้วยหมายเลข VLAN (VLAN ID:ตั้งแต่ 0 ถึง 4095) ให้กับแพ็กเก็ตเครือข่าย

จะสร้าง VLAN โดยใช้ Subinterface ได้อย่างไร

ในการกำหนดค่าอินเทอร์เฟซที่ติดแท็ก โมดูล 8021q ของเคอร์เนล Linux ต้องเปิดใช้งานบนเซิร์ฟเวอร์ของคุณ ในการโหลดโมดูล ให้ใช้คำสั่ง:

# modprobe 8021q

หากโหลดโมดูลแล้ว ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น: modprobe:ข้อผิดพลาด:ไม่สามารถแทรก '8021q':โมดูลอยู่ในเคอร์เนลแล้ว .

ตรวจสอบให้แน่ใจว่าได้โหลดโมดูลแล้ว:

# lsmod | grep 8021q

8021q 33080 0garp 14384 1 8021qmrp 18542 1 8021q

ไม่เป็นไร มีโมดูล 8021q อยู่ในระบบ

คุณต้องเพิ่มโมดูลนี้ในการเริ่มต้นระบบ Linux:

# echo 8021q >> /etc/modules-load.d/8021q.conf

สร้าง VLAN ด้วย ID 7 สำหรับ eth0 อินเตอร์เฟซ. เพิ่มไฟล์กำหนดค่า ifcfg-eth0.7 (7 หลังจุดคือหมายเลข VLAN) ไฟล์นี้มีคำอธิบายของอินเทอร์เฟซย่อย VLAN

# nano /etc/sysconfig/network-scripts/ifcfg-eth0.7

เพิ่มการกำหนดค่าต่อไปนี้:

ONBOOT=yesTYPE=EthernetVLAN=yesDEVICE=eth0.7BOOTPROTO=staticIPADDR=10.61.20.10NETMASK=255.255.255.0

ไฟล์คอนฟิกูเรชันนี้ผูกอินเตอร์เฟสเสมือน eth0.7 เข้ากับฟิสิคัลอินเตอร์เฟส eth0 หลังจากสร้างไฟล์กำหนดค่าแล้ว ให้เริ่มบริการเครือข่ายใหม่:

# systemctl restart network

ตรวจสอบการตั้งค่าเครือข่าย:

# ip a

การเพิ่มอินเทอร์เฟซ VLAN ใน CentOS/Fedora/RHEL

อย่างที่คุณเห็น อินเทอร์เฟซย่อยที่มี VLAN 7 ได้รับการเพิ่ม

คุณสามารถแสดงอินเทอร์เฟซปัจจุบันและการเชื่อมโยง VLAN ได้ดังนี้:

# cat /proc/net/vlan/config

ในการรับสถิติอินเทอร์เฟซ (โดยใช้ตัวนับแพ็คเก็ต คุณสามารถตรวจสอบให้แน่ใจว่าอินเทอร์เฟซ VLAN ได้รับการติดแท็กปริมาณการใช้งาน):

# cat /proc/net/vlan/eth0.7

ในการ ping จากอินเทอร์เฟซ VLAN เฉพาะ ให้ใช้คำสั่งนี้:

# ping -I eth0.7 192.168.1.22

การกำหนดค่า VLAN โดยใช้ไฟล์ vlanXX แยก

ตอนนี้เรามาลองสร้าง VLAN ด้วย ID 8 โดยใช้ไฟล์กำหนดค่าแยกกัน:

# nano /etc/sysconfig/network-scripts/ifcfg-vlan8

เพิ่มบรรทัดเหล่านี้:

ONBOOT=yesTYPE=EthernetVLAN=yesVLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PADDEVICE=vlan8PHYSDEV=eth0.8VLAN_ID=8BOOTPROTO=staticIPADDR=10.6.120.10NETMASK=255.255.255.0

โปรดทราบว่าไฟล์ปรับแต่งจะแตกต่างจากไฟล์ก่อนหน้าเล็กน้อย ในการตั้งค่านี้ คุณระบุบรรทัด 'PHYSDEV ’ ที่ส่งต่อไฟล์การกำหนดค่าไปยังอินเทอร์เฟซเครือข่ายจริง

การเพิ่มอินเทอร์เฟซ VLAN ใน CentOS/Fedora/RHEL

หลังจากที่คุณกำหนดค่าเสร็จเรียบร้อยแล้ว ให้เริ่มบริการเครือข่ายของคุณใหม่:

# systemctl restart network

หากคุณเห็น ไม่พบอุปกรณ์ที่เหมาะสมสำหรับการเชื่อมต่อนี้ ในระหว่างการรีสตาร์ทบริการเครือข่าย ตรวจสอบให้แน่ใจว่าคุณได้ระบุค่าที่ถูกต้องสำหรับตัวเลือก VLAN_ID ใน ifcfg-vlan8

ตรวจสอบ:

ip l ls

2:eth0: mtu 1500 qdisc pfifo_fast state UP mode ค่าเริ่มต้นของกลุ่ม qlen 1000link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff:ff:ff6:vlan8@eth0: mtu 1500 qdisc noqueue state UP mode ค่าเริ่มต้นของกลุ่ม qlen 1000link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff :ff:ff

VLAN8 อินเทอร์เฟซเครือข่ายก็มีให้เช่นกัน

การใช้ NetworkManager เพื่อกำหนดค่าอินเทอร์เฟซ VLAN

ตั้งแต่ Centos 8 (RHEL 8) NetworkManager ใช้สำหรับจัดการการเชื่อมต่อเครือข่าย เครื่องมือนี้ยังมีให้ใช้งานก่อนหน้านี้ แต่ผู้ดูแลระบบส่วนใหญ่ใช้เครือข่าย พวกเขาคุ้นเคย

มาดูวิธีกำหนดค่า VLAN โดยใช้ NM กัน สร้างอินเทอร์เฟซเสมือน ens3.7 สำหรับ VLAN 7 บนอินเทอร์เฟซทางกายภาพ ens3 และตั้งค่าที่อยู่ IP:

# nmcli con add type vlan con-name ens3.7 ifname VLAN7 id 7 dev ens3 ip4 10.1.10.11/24 gw4 10.1.10.1

ในการตรวจสอบอินเทอร์เฟซเครือข่ายบนเซิร์ฟเวอร์ของคุณ ให้รันคำสั่งนี้:

# nmcli con show

NAME UUID TYPE DEVICEens3 8bd5cfbc-5ffc-4554-8ae1-9e02e4b57ceb ethernet ens3virbr0 e64e63a5-76ae-4661-91ae-009f566c5e66 บริดจ์ virbr0ens3.7 e5e91557-49a8-433989-bd97 VLAN 

รีสตาร์ท NetworkManager หลังจากกำหนดค่า:

# systemctl restart NetworkManager

หลังจากเริ่มบริการ NM ใหม่ อินเทอร์เฟซยังคงอยู่ที่นั่น:

การเพิ่มอินเทอร์เฟซ VLAN ใน CentOS/Fedora/RHEL

คุณสามารถแสดงการตั้งค่า VLAN ปัจจุบันได้ดังนี้:

# nmcli connection show ens3.7

จะกำหนดค่า VLAN ชั่วคราวโดยใช้ vconfig ได้อย่างไร

สำหรับการทดสอบการตั้งค่าเครือข่าย/VLAN ควรใช้ vconfig เครื่องมือ. Vconfig เป็นเครื่องมือที่มีประโยชน์มากในระหว่างการทดสอบหรือการศึกษา เนื่องจากหากคุณสูญเสียการเข้าถึงเซิร์ฟเวอร์ของคุณเนื่องจากการตั้งค่าเครือข่ายที่ไม่ถูกต้อง คุณสามารถกลับไปใช้การกำหนดค่าเดิมได้ด้วยการรีบูตอย่างง่าย เครื่องมือนี้มีอยู่ในที่เก็บ EPEL มาติดตั้งโดยใช้ yum (หรือ dnf):

# yum install epel-release-y && yum install vconfig

สร้างอินเทอร์เฟซด้วย VLAN9 :

# vconfig add eth0 9

เพิ่ม VLAN ด้วย VID ==9 เป็น IF -:eth0:-

จากนั้นกำหนดที่อยู่ IP ให้กับอินเทอร์เฟซเครือข่ายที่สร้างขึ้น:

# ifconfig eth0.9 10.1.0.15 netmask 255.255.255.0 up

สร้างอินเทอร์เฟซ VLAN ชั่วคราวแล้ว

การเพิ่มอินเทอร์เฟซ VLAN ใน CentOS/Fedora/RHEL

อย่าลืมกำหนดค่า VLAN ที่สอดคล้องกันบนฮาร์ดแวร์เครือข่ายของคุณควบคู่ไปกับการกำหนดค่า VLAN บนเซิร์ฟเวอร์เพื่อให้มีการเชื่อมต่อเครือข่าย