Không biết hiện thời cấu hình của bác đang thế nào. Nếu có thể thì export bảng route với cấu hình tường lửa cho mọi người xem mới gợi ý sửa đổi được?
Chắc hiện thời bác đang dùng một lô rules mangle, với chắc mọi người cũng gợi ý giải pháp với mangle. Nhưng nếu giả sử bác chưa cấu hình gì cả, mới có 2 cái interface pppoe-out1 và pppoe-out2, với default route nó tự tạo trong bảng main, và bác mới chỉ có rule masquerade trong bảng NAT với 2 interface này thôi, và không có gì trong bảng mangle cả, thì em là bác em sẽ làm thế này để được điều bác yêu cầu:
Tạo hai bảng route mới:
Code:
/routing table
add disabled=no fib name=wan1
add disabled=no fib name=wan2
Tạo default route trong 2 bảng dùng gateway pppoe-outX tương ứng:
Code:
/ip route
add disabled=no dst-address=0.0.0.0/0 gateway=pppoe-out1 routing-table=wan1 \
suppress-hw-offload=no
add disabled=no dst-address=0.0.0.0/0 gateway=pppoe-out2 routing-table=wan2 \
suppress-hw-offload=no
Tạo routing rules với only-lookup-in-table (giả sử vlan100 và vlan200 là 2 LAN của bác)
Code:
/routing rule
add action=lookup-only-in-table disabled=no interface=vlan100 table=wan1
add action=lookup-only-in-table disabled=no interface=vlan200 table=wan2
Xong. Với routing rules này thì từ vlan100 cũng không sang được vlan200 và ngược lại cũng vậy. Bác muốn giữa các vlan vẫn liên lạc được với nhau thì thêm rule kiểu này và
kéo nó lên trên cùng của bảng routing rules, trên 2 rules kia:
Code:
/routing rule
add action=lookup-only-in-table disabled=no dst-address=10.0.0.0/8 \
src-address=10.0.0.0/8 table=main
Đây là thí dụ các LAN của bác dùng địa chỉ trong dải 10.0.0.0/8, bác có thể sửa 192.168.0.0/16 hay 172.16.0.0/12 hoặc các dải cụ thể nếu muốn. Đại khái là đặt ngoại lệ khi routing giữa các dải này thì dùng bảng main và đưa nó lên cùng.
EDIT: cái này tương tự như bác
@wuhoatu post ở trên, nhưng bác chú ý Action phải là
lookup-only-in-table như em viết, nếu để
lookup nó sẽ fallback xuống bảng main nếu bảng bên dưới không chạy, tức là lại dùng wan kia và không như bác muốn.