Câu trả lời:
Bạn cần sử dụng định tuyến dựa trên chính sách. Một cái gì đó giống như
ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>
<name>
là tên bảng được chỉ định trong /etc/iproute2/rt_tables
hoặc bạn có thể sử dụng id số ...
Điều này khá nhiều nói rằng, tất cả lưu lượng truy cập từ 1.2.3.4/24
sẽ được định tuyến bằng bảng định tuyến <name>
. IIRC nó không sử dụng bảng mặc định sau khi trải qua điều này, vì vậy nếu bạn cần các tuyến khác (ví dụ: cổng mặc định), bạn cũng cần thêm chúng vào bảng.
http://wiki.wlug.org.nz/SourceBasingRouting
Trang web này có một ví dụ đẹp về định tuyến dựa trên nguồn.
ip route add default dev eth4 table <name>
( lệnhtable
này sẽ đi vào cuối tôi nghĩ, giống như trong lệnh đầu tiên ... cũngdefault
có thể được thay thế bằng mạng con, giống như trong ví dụ của bạn )