No menu items!
No menu items!
More

    [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

    Bài viết gần đây

    spot_img

    Related Stories

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    Đăng ký nhận thông tin bài viết qua email