Încerc să configurez rutarea selectivă a unui trafic filtrat după adresa IP prin OpenVPN pe routerul meu OpenWRT
Am un profil OpenVPN activat și lucrez cu opțiunea route-nopull pentru a dezactiva setarea gateway-ului implicit.
Următoarele comenzi sunt menite să aibă pachete direcționate către un set de adrese IP și marcate cu semnul 0x1 în secțiunea de preroutare a manglei:
nft add set inet fw4 marker { tip ipv4_addr \;}
nft adăugați element inet fw4 marker {40.81.94.43}
nft insert rule inet fw4 mangle_prerouting ip daddr @marker counter meta mark set 0x1
Apoi am configurat un tabel de rută IP pentru a ruta pachetele marcate prin gateway-ul VPN:
regulă ip adăugați fwmark 1 table vpn
IP route add default prin 10.211.1.118 dev tun_vpn table vpn
Această configurare nu funcționează dintr-un motiv oarecare: traficul trece doar printr-un gateway wan implicit, deși contorul nft arată că pachetele ajung la regula de marcare.
Cu toate acestea, dacă am setat în mod explicit tabelul de rutare pentru a fi utilizat pentru adresa IP, funcționează așa cum era de așteptat:
regulă ip se adaugă la 40.81.94.43 vpn de masă
direcționează traficul către 40.81.94.43 prin gateway-ul vpn, așa cum este prevăzut
Se pare că fie nft nu marchează pachetele cu marcajul 0x1, fie regulă ip adăugați fwmark 1
nu-l prinde dintr-un motiv oarecare.
Ce îmi lipsește?