1. Tổng quan
Trong một hệ thống có nhiều interface hoặc nhiều VLAN trên cùng một máy chủ, mỗi interface thường được cấu hình IP và gateway tương ứng. Tuy nhiên, có nhiều tình huống quản trị mạng lựa chọn không cấu hình gateway cho một số interface. Việc này có thể dẫn đến nhiều kịch bản khác nhau trong định tuyến. Bài viết sẽ phân tích các trường hợp cụ thể, minh họa bằng ví dụ và đưa ra lời khuyên.
2. Các trường hợp có thể xảy ra
2.1 Mô hình tham chiếu
Giả sử một server có hai interface:
eth0.100
: IP192.168.100.161/24
, gateway192.168.100.254
eth0.101
: IP192.168.101.161/24
, gateway192.168.101.254
Nếu chỉ giữ gateway ở eth0.100
và bỏ gateway ở eth0.101
, bảng route sẽ như sau:
default via 192.168.100.254 dev eth0.100
192.168.100.0/24 dev eth0.100 scope link src 192.168.100.161
192.168.101.0/24 dev eth0.101 scope link src 192.168.101.161
2.2 Giao tiếp trong cùng subnet (trường hợp bình thường)
- Ví dụ: Client
192.168.101.50
muốn ping192.168.101.161
. - Gói tin đi trực tiếp trong cùng subnet
192.168.101.0/24
. - Server trả lời mà không cần tới gateway.
- Kết quả: hoạt động bình thường.
2.3 Server truy cập ra ngoài Internet bằng IP không có gateway
- Ví dụ: Server dùng IP
192.168.101.161
gửi gói đến8.8.8.8
. - Vì
eth0.101
không có gateway, kernel sẽ chọn default route qua192.168.100.254
. - Gói đi ra ngoài với source
192.168.101.161
nhưng quaeth0.100
. - Router
192.168.100.254
có thể coi đây là gói bất thường vì source không thuộc subnet 192.168.100.0/24. - Trường hợp mạng thuần L3 (không NAT, không filter) vẫn có thể thông, nhưng rất dễ gặp asymmetric routing.
2.4 Client ngoài subnet truy cập server bằng IP không có gateway
- Ví dụ: Client
10.10.10.50
gửi gói đến server192.168.101.161
. - Gói vào server qua router
192.168.101.254
. - Khi trả lời, kernel lookup route → không có default qua
192.168.101.254
, chỉ có default qua192.168.100.254
. - Gói trả lời đi ra qua
eth0.100
→ bất đối xứng đường đi. - Nếu không có firewall/NAT, gói vẫn đến nơi. Nếu có, nhiều khả năng bị drop.
2.5 Giải pháp với Policy Routing
Để tránh asymmetric routing, có thể dùng policy routing:
ip rule add from 192.168.101.0/24 table 101
ip route add 192.168.101.0/24 dev eth0.101 table 101
ip route add default via 192.168.101.254 dev eth0.101 table 101
Nhờ vậy, gói có source thuộc 192.168.101.0/24
sẽ luôn đi đúng gateway 192.168.101.254
.
2.6 Lợi ích khi gắn gateway cho interface phụ
Ngoài việc khai báo default route với metric cao để làm dự phòng, cũng có thể cấu hình route nội bộ cho interface phụ, ví dụ:
routes:
- to: 192.168.101.0/24
via: 192.168.101.254
Lợi ích:
- Giảm ARP broadcast: thay vì ARP trực tiếp từng host trong subnet, server chỉ ARP gateway.
- Tuân thủ chính sách mạng: trong một số môi trường, mọi lưu lượng (kể cả nội bộ subnet) phải đi qua router/firewall để kiểm soát.
- Rõ ràng về đường đi: đảm bảo tất cả traffic của subnet đó luôn qua gateway, không lẫn host-to-host trực tiếp.
Lưu ý: trong môi trường L2 thuần, route này không cần thiết và có thể làm tăng độ trễ do phải đi thêm một hop.
Bạn có muốn mình chỉnh lại toàn bộ bài viết với phần bổ sung này để bạn có bản hoàn chỉnh luôn không?
3. Ví dụ minh họa
3.1 Sơ đồ logic bất đối xứng khi bỏ gateway ở eth0.101
Client 10.10.10.50
|
v
Router 192.168.101.254
|
v
Server 192.168.101.161 (gói vào eth0.101)
|
v (default route chọn gateway khác)
Router 192.168.100.254
|
v
Client 10.10.10.50
3.2 Sơ đồ khi áp dụng policy routing
Client 10.10.10.50
|
v
Router 192.168.101.254
|
v
Server 192.168.101.161 (policy chọn table 101)
|
v
Router 192.168.101.254
|
v
Client 10.10.10.50
4. Lời khuyên
- Nếu server chỉ phục vụ trong cùng subnet thì có thể bỏ gateway ở interface phụ.
- Nếu server cần truy cập ra ngoài bằng nhiều subnet, hãy cấu hình policy routing để đảm bảo gói tin đi ra đúng gateway.
- Tránh để asymmetric routing trong môi trường production có NAT hoặc firewall stateful, vì dễ dẫn đến mất kết nối.
- Trong lab hoặc môi trường thuần L3 không filter, có thể bỏ gateway mà kết nối vẫn hoạt động, nhưng không nên áp dụng cho hệ thống thật.
5. Kết luận
Bỏ gateway ở một interface không làm mất kết nối trong cùng subnet, nhưng dễ gây bất đối xứng khi giao tiếp liên subnet hoặc Internet. Trong môi trường thực tế, nên sử dụng policy routing để đảm bảo đường đi–đường về nhất quán. Đây là cách tránh rủi ro asymmetric routing và đảm bảo kết nối ổn định.