HostingViet | Công ty Cổ phần Công nghệ số Thiên Quang

Fix lỗi không connect được IP mặc dù đã cấu hình add_route

Tài liệu | 2024-11-20 09:17:26+07

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 eth1 và eth2 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ỏ eth1 và eth2 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 eth1 và eth2 đã 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 eth1 và eth2 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ỏ eth1 và eth2 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

    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:

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

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:

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.

Mở Crontab của Root:
sudo crontab -e

Thêm Dòng Sau Vào Cuối Tệp:
@reboot /usr/local/bin/add_route.sh

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

Nhấn Ctrl + O, sau đó Enter để lưu.

Nhấn Ctrl + X để thoát.

Trên đây HostingViet đã hướng dẫn bạn cách Fix lỗi không connect được IP mặc dù đã cấu hình add_route. Chúc bạn thành công!


Bài viết khác