1. Loại Bỏ eth1 và eth2 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ỏ eth1 và eth2 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:
- 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.
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!