Máy khách LAN phớt lờ VPN của router cho đến khi bật định tuyến theo chính sách
Các quy tắc chuyển tiếp cho phép gói tin đi qua, nhưng không bao giờ chọn giao diện. Một bảng chính sách và quy tắc riêng quyết định máy khách LAN nào dùng VPN của router.
Router ra internet qua đường hầm của nó, trong khi laptop phía sau vẫn báo địa chỉ của ISP. Thêm quy tắc chấp nhận không giúp gì, và thất bại đó rất đáng chú ý: lọc trả lời gói tin có được đi qua hay không, chứ không phải nó đi đâu. Việc chọn giao diện đã được thực hiện bởi một tra cứu định tuyến không biết gì về danh sách máy khách của bạn. Sửa lại tra cứu và tường lửa không còn là nghi phạm nữa.
Một quy tắc lọc không thể chọn giao diện
Luồng gói tin trên router Linux chạy quyết định định tuyến trước rồi mới đến móc forward. Khi một quy tắc khớp với thiết bị đường hầm đi ra, nhân đã quyết định rằng đường hầm là lối ra. Nếu bảng chính vẫn ưu tiên tuyến mặc định qua WAN, gói tin đang trên đường tới ISP và quy tắc chấp nhận bạn vừa viết không bao giờ nhìn thấy nó. Riêng sự thật về thứ tự này giải thích vì sao một trang quy tắc tường lửa mới không thay đổi gì.
Ví dụ dưới đây dùng một LAN 192.168.8.0/24 trên br-lan, thiết bị đường hầm tun0 và một set-top box tại 192.168.8.23 mà nên đi qua đường hầm.
Đọc kết quả tra cứu trước khi sửa quy tắc
Yêu cầu nhân phân giải một tuyến thay cho máy khách đó. Câu trả lời gồm thiết bị đi ra và địa chỉ nguồn sẽ được chọn, và đó là tất cả những gì cần để xác nhận chẩn đoán. Nếu câu trả lời nêu thiết bị WAN, gói tin chưa từng có cơ hội tới quy tắc của bạn.
ip -4 route get 198.51.100.7 from 192.168.8.23
Lặp lại truy vấn cho một máy khách nên ở lại đường đi thông thường. Khi cả hai câu trả lời nêu cùng một thiết bị, chưa có chính sách theo nguồn nào và việc sửa thuộc về định tuyến chứ không phải lọc.
Gắn một bảng với những máy khách bạn muốn bao phủ
Định tuyến theo chính sách chèn một tra cứu quy tắc trước bảng chính. Tạo một bảng có tuyến mặc định là đường hầm, rồi gắn bảng đó với một bộ chọn: giao diện vào, địa chỉ nguồn hoặc dấu tường lửa. Độ ưu tiên quyết định thứ tự, và bảng chính nằm rất thấp trong danh sách, ở 32766, nên quy tắc có số nhỏ được xét trước. Bộ chọn giao diện bao phủ mọi máy khách trên cầu; bộ chọn địa chỉ bao phủ một máy.
ip -4 route add default dev tun0 table 200
ip -4 rule add iif br-lan lookup 200 priority 200
Giao diện firmware thường hiển thị cùng các đối tượng như trang định tuyến theo chính sách hoặc chính sách VPN. Danh sách thiết bị ở đó dễ bảo trì hơn quy tắc viết tay và thường sống sót qua các bản nâng cấp thay đổi cú pháp quy tắc.
Chọn bộ chọn một cách có chủ đích. Quy tắc giao diện ngắn gọn và bền vững về sau, nhưng nó cũng bắt lấy lưu lượng quản trị của chính router đến trên cầu đó. Quy tắc nguồn chính xác và cần chỉnh sửa mỗi khi danh sách thiết bị thay đổi. Ghi lại lựa chọn, vì người tiếp theo hỏi vì sao một thiết bị hành xử khác đi sẽ cần đến nó.
Giữ các đích cục bộ ngoài đường hầm
Một bảng mới chỉ biết những tuyến bạn đặt vào đó. Thiếu tiền tố LAN, nên lưu lượng máy in và NAS sẽ đi theo tuyến mặc định của đường hầm và biến mất. Một tuyến throw kết thúc tra cứu trong bảng này và trả quyết định về bảng chính.
ip -4 route add throw 192.168.8.0/24 table 200
Bỏ qua tuyến đó thì chia sẻ cục bộ hỏng, và phiên quản trị của chính router có thể biến mất nếu bộ chọn rộng hơn dự định. Sau đó giải quyết câu hỏi về nguồn: các gói tin đường hầm vẫn mang địa chỉ LAN cần phía xa biết đường quay về, trong khi masquerading trên đường hầm loại bỏ yêu cầu đó và cũng loại bỏ danh tính máy khách mà phía xa sẽ thấy.
Các quy tắc và tuyến thêm lúc chạy sẽ mất sau khi khởi động lại hoặc cập nhật firmware. Thêm chúng vào cơ chế khởi động của router, khởi động lại một lần và kiểm tra lại từ máy khách: địa chỉ công cộng của nó, một máy khách thứ hai nên ở lại WAN, và các bộ đếm đường hầm trong một kết nối mới.