Tôi đang cố thiết lập định tuyến có chọn lọc của lưu lượng được lọc theo địa chỉ IP qua OpenVPN trên bộ định tuyến OpenWRT của mình
Tôi đã thiết lập hồ sơ OpenVPN và đang làm việc với tùy chọn route-nopull để tắt cài đặt cổng mặc định.
Các lệnh sau có nghĩa là các gói được nhắm mục tiêu đến một tập hợp các địa chỉ IP và được đánh dấu bằng dấu 0x1 trong phần định tuyến trước mangle:
nft add set inet fw4 marker { type ipv4_addr \;}
nft thêm phần tử đánh dấu inet fw4 {40.81.94.43}
nft chèn quy tắc inet fw4 mangle_prerouting ip Daddr @marker truy cập dấu meta được đặt 0x1
Sau đó, tôi có một thiết lập bảng định tuyến ip để định tuyến các gói được đánh dấu thông qua cổng VPN:
quy tắc ip thêm fwmark 1 bảng vpn
tuyến ip thêm mặc định qua 10.211.1.118 bảng dev tun_vpn vpn
Thiết lập này không hoạt động vì một số lý do: lưu lượng truy cập chỉ đi qua một cổng wan mặc định, mặc dù bộ đếm nft hiển thị các gói đi đến quy tắc đánh dấu.
Tuy nhiên, nếu tôi đặt rõ ràng bảng định tuyến sẽ được sử dụng cho địa chỉ IP thì nó sẽ hoạt động như mong đợi:
quy tắc ip thêm vào bảng 40.81.94.43 vpn
hướng lưu lượng truy cập đến 40.81.94.43 thông qua cổng vpn như dự định
Có vẻ như nft không đánh dấu các gói có dấu 0x1 hoặc quy tắc ip thêm fwmark 1 không bắt được nó vì một số lý do.
Tôi đang thiếu gì?