fundal
Am configurat OpenWRT în modul Bridge.
Imping pachetele de la L2 la L3 folosind net.bridge.bridge-nf-call-iptables=1
Scenariul pachetelor neetichetate
În cazul pachetelor neetichetate, această configurare funcționează bine și pot să interceptez toate pachetele și să le redirecționez către portalul captiv folosind o regulă iptable precum:
iptables -A PREROUTING -m physdev --physdev-in ath242113 -j prt_captive_2113
iptables -A PREROUTING -m physdev --physdev-in ath512113 -j prt_captive_2113
iptables -A prt_captive_2113 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -A prt_captive_2113 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
unde ath242113 și ath512113 sunt interfețele mele wifi
Pachete etichetate / Scenariu VLAN
În cazul unei configurații VLAN cu punte, redirecționarea nu a funcționat cu configurațiile obișnuite și cu regula iptables ca cea de mai sus.
Aceasta este configurația mea de pod:
br-vlan80 7fff.587be915a963 nu ath242113
ath512113
eth0.80
unde, ath242113 și ath512113 sunt interfața wireless și eth0.80 este interfața ethernet etichetată.
Deci, am încercat să activez net.bridge.bridge-nf-filter-vlan-tagged=1 și bridge-nf-pass-vlan-input-device=1 conform acestui patch:
https://patchwork.ozlabs.org/project/netfilter-devel/patch/[email protected]/
De asemenea, am schimbat regula iptables la:
iptables -A PREROUTING -i br-vlan80 -j prt_captive_2113
iptables -A prt_captive_2113 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -A prt_captive_2113 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
Dar nici nu pare să funcționeze.