Lỗi Open vSwitch khi Add route Ubuntu22

Lỗi Liên Quan Open Vswitch Khi Add Route

Open vSwitch (OVS) đang quản lý các giao diện mạng eth1eth2, gây cản trở việc cấu hình chúng với địa chỉ IP tĩnh và gateway riêng biệt giống như eth0. Bạn muốn đơn giản hóa cấu hình bằng cách:

  1. Loại bỏ eth1eth2 khỏi Open vSwitch.
  2. Cấu hình các giao diện mạng với địa chỉ IP tĩnh và gateway riêng biệt.
  3. Sử dụng một script (add_route.sh) để thiết lập các định tuyến cần thiết.

Dưới đây là hướng dẫn đơn giản để bạn có thể thực hiện các bước trên một cách hiệu quả.

1. Loại Bỏ eth1eth2 khỏi Open vSwitch

Đầu tiên, bạn cần đảm bảo rằng các giao diện eth1eth2 không còn thuộc về bridge br0 của Open vSwitch. Điều này sẽ cho phép Netplan quản lý trực tiếp các giao diện này.

1.1. Kiểm Tra Các Bridge và Port Hiện Tại của Open vSwitch

Chạy lệnh sau để xem cấu hình hiện tại của Open vSwitch:

sudo ovs-vsctl show

Ví dụ Kết Quả:

842bd4dc-d326-47de-ad4f-d0c1484e241f
    Manager "tcp:127.0.0.1"
    Bridge br0
        Controller "tcp:127.0.0.1"
        fail_mode: secure
        Port br0
            Interface br0
                type: internal
        Port vxlan1
            Interface vxlan1
                type: vxlan
                options: {ether_addr="02:01:00:1d:7e:e6", key="100", remote_ip="100.80.2.1"}
        Port eth2
            Interface eth2
        Port eth1
            Interface eth1
    ovs_version: "2.17.9"

1.2. Loại Bỏ eth1eth2 khỏi Bridge br0

Sử dụng các lệnh sau để loại bỏ eth1eth2 khỏi bridge br0:

sudo ovs-vsctl del-port br0 eth1
sudo ovs-vsctl del-port br0 eth2

1.3. Kiểm Tra Lại Cấu Hình Open vSwitch

Sau khi loại bỏ, kiểm tra lại cấu hình để đảm bảo rằng eth1eth2 đã bị loại bỏ khỏi bridge:

sudo ovs-vsctl show

Kết Quả Mong Đợi:

842bd4dc-d326-47de-ad4f-d0c1484e241f
    Manager "tcp:127.0.0.1"
    Bridge br0
        Controller "tcp:127.0.0.1"
        fail_mode: secure
        Port br0
            Interface br0
                type: internal
        Port vxlan1
            Interface vxlan1
                type: vxlan
                options: {ether_addr="02:01:00:1d:7e:e6", key="100", remote_ip="100.80.2.1"}

Nếu eth1eth2 không còn xuất hiện dưới bridge br0, bạn đã thành công trong việc loại bỏ chúng khỏi Open vSwitch.


2. Cấu Hình Netplan cho eth0, eth1, và eth2 với Địa Chỉ IP Tĩnh và Gateway Riêng Biệt

Sau khi loại bỏ eth1eth2 khỏi Open vSwitch, bạn cần cấu hình Netplan để quản lý chúng với địa chỉ IP tĩnh và gateway riêng biệt.

2.1. Sao Lưu Tệp Cấu Hình Netplan Hiện Tại

Trước khi chỉnh sửa, hãy sao lưu tệp cấu hình hiện tại:

sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak

2.2. Chỉnh Sửa Tệp Cấu Hình Netplan

Mở tệp cấu hình Netplan:

sudo nano /etc/netplan/50-cloud-init.yaml

Ví Dụ Cấu Hình:

network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
            dhcp4: no
            addresses:
                - 103.12.76.67/24
            gateway4: 103.12.76.1
            nameservers:
                addresses:
                    - 8.8.8.8
                    - 8.8.4.4
            mtu: 1500

        eth1:
            dhcp4: no
            addresses:
                - 103.81.84.209/24
            gateway4: 103.81.84.1
            nameservers:
                addresses:
                    - 8.8.8.8
                    - 8.8.4.4
            mtu: 1500

        eth2:
            dhcp4: no
            addresses:
                - 103.173.255.24/24
            gateway4: 103.173.255.1
            nameservers:
                addresses:
                    - 8.8.8.8
                    - 8.8.4.4
            mtu: 1500

        eth3:
            dhcp6: yes
            match:
                macaddress: fa:16:3e:fd:30:d4
            mtu: 1500

        eth4:
            dhcp6: yes
            match:
                macaddress: fa:16:3e:7a:1a:ec
            mtu: 1500

Lưu và Đóng Tệp Cấu Hình:

  • Nhấn Ctrl + O, sau đó Enter để lưu.
  • Nhấn Ctrl + X để thoát.

2.3. Áp Dụng Cấu Hình Netplan

Trước khi áp dụng, hãy kiểm tra cấu hình:

sudo netplan try
  • Lệnh này sẽ thử áp dụng cấu hình và hỏi bạn có muốn giữ lại thay đổi không. Chọn Yes nếu không có lỗi.

Sau đó, áp dụng cấu hình:

sudo netplan apply

3. Tạo Script add_route.sh để Thiết Lập Định Tuyến

Vì bạn muốn sử dụng script để quản lý định tuyến thay vì cấu hình trong Netplan, chúng ta sẽ tạo một script add_route.sh để thiết lập các route cần thiết.

3.1. Tạo và Mở Tệp add_route.sh

Tạo và mở tệp script:

sudo nano /usr/local/bin/add_route.sh

3.2. Thêm Nội Dung Vào Tệp

Thêm các dòng sau vào tệp:

#!/bin/bash

# Thiết lập định tuyến cho eth0
ip route add default via 103.12.76.1 dev eth0

# Thiết lập định tuyến cho eth1
ip route add default via 103.81.84.1 dev eth1

# Thiết lập định tuyến cho eth2
ip route add default via 103.173.255.1 dev eth2

Lưu và Đóng Tệp:

  • Nhấn Ctrl + O, sau đó Enter để lưu.
  • Nhấn Ctrl + X để thoát.

3.3. Cấp Quyền Thực Thi Cho Script

Chạy lệnh sau để cấp quyền thực thi cho script:

sudo chmod +x /usr/local/bin/add_route.sh

3.4. Thêm Script Vào Startup để Tự Động Chạy Sau Khởi Động

Bạn có thể sử dụng cron với @reboot để tự động chạy script sau mỗi lần khởi động.

  1. Mở Crontab của Root:
    sudo crontab -e
    
  2. Thêm Dòng Sau Vào Cuối Tệp:
    @reboot /usr/local/bin/add_route.sh
    
  3. Lưu và Đóng Tệp:
    • Nhấn Ctrl + O, sau đó Enter để lưu.
    • Nhấn Ctrl + X để thoát.

Hy vọng rằng hướng dẫn này sẽ giúp bạn khắc phục lỗi do Open vSwitch gây ra và cấu hình lại các giao diện mạng eth1eth2 với địa chỉ IP tĩnh và gateway riêng biệt một cách hiệu quả! Nếu bạn vẫn gặp vấn đề hoặc cần thêm hỗ trợ, vui lòng cung cấp thêm thông tin chi tiết về cấu hình Netplan hiện tại, bảng định tuyến (ip route), và các quy tắc định tuyến (ip rule) để tôi có thể hỗ trợ bạn tốt hơn.

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

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *