Cấu hình mạng OpenWrt bằng UCI: từ device đến interface
Bài này hướng dẫn cách đọc và thay đổi cấu hình mạng OpenWrt trong /etc/config/network. UCI phân biệt device vật lý, bridge, interface logic, địa chỉ IP và route. Hiểu sai các lớp này là nguyên nhân phổ biến làm mất LAN hoặc SSH.
1. Chuẩn bị và backup
- Dùng cáp LAN hoặc console khi sửa WAN/bridge từ xa.
- Ghi lại model, release, IP hiện tại và cách truy cập recovery.
- Tạo backup cấu hình:
sysupgrade -b /tmp/config-backup.tar.gzcp /etc/config/network /tmp/network.before
- Kiểm tra board và loại interface:
ubus call system boardip -br linkip -br addr
2. Đọc cấu hình hiện tại
cat /etc/config/networkuci show networkip addrip route
Một config device mô tả thiết bị/bridge lớp thấp; config interface mô tả mạng logic như lan, wan. Tên lan không nhất thiết là tên card Ethernet. Với Wi‑Fi, thường gắn wireless interface vào network bằng tùy chọn network trong /etc/config/wireless, không đặt tên Wi‑Fi động vào device.
3. Các kiểu interface thường gặp
DHCP client
config interface 'wan' option device 'eth0.2' option proto 'dhcp'
IPv6 DHCP client
config interface 'wan6' option device 'eth0.2' option proto 'dhcpv6'
Static LAN
config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0'
Tên device phải khớp với layout thật của target. Không chép eth0.2, br-lan hoặc VLAN ID từ model khác.
4. Sửa bằng UCI
- Xem giá trị trước khi sửa:
uci get network.lan.deviceuci get network.lan.protouci get network.lan.ipaddruci get network.lan.netmask
- Đặt địa chỉ LAN mẫu:
uci set network.lan.ipaddr='192.168.1.1'uci set network.lan.netmask='255.255.255.0'
- Nếu cần tạo interface logic mới, trước hết xác định device/VLAN thật rồi mới dùng:
uci set network.guest='interface'uci set network.guest.device='br-guest'uci set network.guest.proto='static'uci set network.guest.ipaddr='192.168.20.1'uci set network.guest.netmask='255.255.255.0'
- Xem thay đổi chưa commit:
uci changes networkuci show network
- Nếu sai, xóa thay đổi chưa commit:
uci revert network
- Chỉ khi đã kiểm tra đúng mới ghi vào UCI:
uci commit network
5. Áp dụng cấu hình
- Reload cấu hình mạng:
/etc/init.d/network reload
- Có thể đưa một interface lên/xuống riêng:
ifdown lanifup lan
- Nếu thay đổi bridge/VLAN, phiên SSH có thể mất ngay. Không reboot cho đến khi xác nhận route và IP mới.
6. Kiểm tra sau thay đổi
ip -br addrip routeubus call network.interface.lan statusubus call network.interface.wan statuslogread -e netifdping -c 3 192.168.1.1
Từ máy client kiểm tra DHCP, gateway, DNS và truy cập LuCI. Với WAN DHCP, kiểm tra lease và default route; với static WAN, kiểm tra gateway và DNS riêng.
7. Khôi phục khi mất kết nối
- Thử địa chỉ mới nếu vừa đổi LAN.
- Dùng console UART hoặc cắm trực tiếp vào port LAN đúng.
- Nếu cấu hình chưa commit, reboot có thể quay về file cũ; nếu đã commit, dùng bản sao:
cp /tmp/network.before /etc/config/networkuci commit network/etc/init.d/network restart
- Nếu không vào được hệ thống, dùng failsafe theo tài liệu đúng target; không xóa toàn bộ
/etc/configmột cách mù quáng.
Nguồn
Nguồn: OpenWrt Network configuration.
Bình Luận & Thảo Luận
Góp ý, hỏi đáp và chia sẻ suy nghĩ của bạn