Sunday, January 19, 2025

[Virtuozzo] Creating VLAN interfaces

-

Cũng như các nền tảng ảo hoá khác, Virtuozzo cũng cho phép chúng ta tạo các vlan trên interface để phục vụ cho nhu cầu sử dụng nhiều subnet. Để thực hiện việc này trên Virtuozzo, bạn hãy làm theo trình tự sau.

Ở ví dụ này mình sẽ demo ở interface bond1, khi dùng lệnh brctl show | grep bond1 bạn thấy bond1 của mình chỉ có 1 vlan duy nhất là 204.

$ brctl show | grep bond1
br1		8000.ac1f6bacd34a	no		bond1
br2		8000.ac1f6bacd34a	no		bond1.204

Lệnh virsh net-list sẽ list cho bạn các subnet đã tồn tại, hiện tại mình chưa có subnet nào được tạo (Bridged và Host-Only) là 2 subnet mặc định của Virtuozzo.

$ virsh net-list
 Name        State    Autostart   Persistent
----------------------------------------------
 Bridged     active   yes         yes
 Host-Only   active   yes         yes

Khi lên PVA Magament Node bạn cũng thấy card bond1 của mình chỉ có mỗi vlan 201, vlan 892 mà bạn thấy là của interface bond2.

Giờ mình sẽ tạo 1 script đơn giản như dưới, việc của bạn chỉ cần thay thế ifwan bằng interface name của bạn (trường hợp của mình là bond1).

Hãy thay thế thông tin ở mảng array, mảng này chứa 1 list nhiều subnet và vlanid của subnet đó. Ví dụ như Private_192.168.20.0|32 thì Private_192.168.20.0 là subnet name và 32 là vlanid.

Mình dùng vi tạo 1 file có tên ./create_network.sh

$ vi ./create_network.sh

Hãy dán nội dung dưới vào file ./create_network.sh

ifwan=bond1
array=('Private_192.168.20.0|32' 'Private_192.168.88.0|201' 'Private_192.168.88.128|202' 'Private_192.168.89.0|203')
# array=('Public_103.138.88.0|881' 'Public_103.138.88.128|882' 'Public_103.138.89.0|891')

for i in ${array[@]}
do
IFS='|' read subnet vlan <<< "$i"

prlsrvctl net add $subnet
vconfig add $ifwan $vlan

cat > /etc/sysconfig/network-scripts/ifcfg-$ifwan.$vlan << EOF
VLAN=yes
TYPE=Vlan
DEVICE=$ifwan.$vlan
PHYSDEV=$ifwan
VLAN_ID=$vlan
REORDER_HDR=yes
GVRP=no
MVRP=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=$ifwan.$vlan
ONBOOT=yes
BRIDGE=br-$ifwan.$vlan
EOF

brctl addbr br-$ifwan.$vlan
brctl addif br-$ifwan.$vlan $ifwan.$vlan

cat > /etc/sysconfig/network-scripts/ifcfg-br-$ifwan.$vlan << EOF
DEVICE=br-$ifwan.$vlan
STP=no
TYPE=Bridge
BOOTPROTO=autoip
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br-$ifwan.$vlan
ONBOOT=yes
EOF

ifup br-$ifwan.$vlan
ifdown br-$ifwan.$vlan
ifup $ifwan.$vlan
ifup br-$ifwan.$vlan
prlsrvctl net set $subnet -t bridged -i $ifwan.$vlan
done

Sau khi tạo file xong, bạn hãy chạy nó như sau . create_network.sh. Theo logs ở dưới thì có 4 vlan được thêm vào.

$ . create_network.sh
Added VLAN with VID == 32 to IF -:bond1:-
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)
Added VLAN with VID == 201 to IF -:bond1:-
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/27)
Added VLAN with VID == 202 to IF -:bond1:-
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/32)
Added VLAN with VID == 203 to IF -:bond1:-
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/37)

Hãy dùng lệnh brctl để show thông tin bond1, bạn đã thấy các interface và vlan đã được tạo

$ brctl show | grep bond1
br-bond1.201		8000.ac1f6bacd34a	no		bond1.201
br-bond1.202		8000.ac1f6bacd34a	no		bond1.202
br-bond1.203		8000.ac1f6bacd34a	no		bond1.203
br-bond1.204		8000.ac1f6bacd34a	no		bond1.204
br-bond1.32		8000.ac1f6bacd34a	no		bond1.32
br1		8000.ac1f6bacd34a	no		bond1

Sử dụng lệnh virsh net-list bạn sẽ thấy các subnet đã được thêm vào và đang ở trạng thái sẵn sàng để sử dụng

$ virsh net-list
setlocale: No such file or directory
 Name                     State    Autostart   Persistent
-----------------------------------------------------------
 Host-Only                active   yes         yes
 Private_192.168.20.0     active   yes         yes
 Private_192.168.88.0     active   yes         yes
 Private_192.168.88.128   active   yes         yes
 Private_192.168.89.0     active   yes         yes
 Private_192.168.89.128   active   yes         yes

Kết quả trên trang PVA Magament Node

Chúc các bạn thành công

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories