Nevím, proč se neuložil příspěvek, který jsem odesílal, ale pokusím zrychleně popsat znova.
Zjednodušeně, v návodech pro zprovoznění brány do internetu s funkcí nat na železe s linuxuem nebo openwrt stěžejní kroky jsou sysctl net.ipv4.ip_forward=1 a iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE.
Samozřejmě v kompletním návodu je i zprovoznění DHCP, DNS (jak pro vnitřní síťku za NATem tak i pro WAN rozhraní). a v neposlední řadě nastavení pravidel firewallu. To je kvůli čemu se ptám.
Pravidlo pro povolení provozu ven jsou:
iptables -A FORWARD -i eth0 -o wlan0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Nicméně nejsou potřeba, když je default policy ACCEPT (pro forward ). Zároveň se ale radí dát iptables -P FORWARD DROP
. A to proč?
Z jakých dobrých důvodů se tohle dělá? Co hrozí, když zustane accept? (INPUT a output -t filter samotného stroje neřeším nyní)
Namátkou:
- hrozí že se do vnitřní sítě za natem "může dostat" někdo nepovolaný (čímž myslím 2 případy: třeba kohokoli z globálního internetu, a nebo někoho kdo by uhodl IP rozsah sítě za NATem a vydávával se za zařízení z tého sítě na WAN portu), buď že vůbec se podaří poslat konkrétnímu zařízení za NATem a nebo i dokonce že toto zařízení na něj odpoví a odpověď se k "útočníkovi dostane"
- opačná situace, že zařízení za NATem mohou komunikovat(tedy ony iniciují komunikaci, v odstavci výše to byl někdo zvenčí) se zařízeními v jiné lokální síti v WAN (tímto laickým popisem myslím, že za NATem není "ještě internet", ale další jiná síť, ve které až leží brána do internetu, ) a povídat si zařízeními v této síti. Když už jsem to napsal tak bych chtěl bych aby tato síť pro ně neexistovala (což sí myslím že by mělo jít pomocí příkazu route del-net 192.168.10.0/24, příkaz proběhne korektně ale nic se nezmění, jako kdyby se vzápětí routa vytvořila)
a nevím jestli se tím nedotýkám i volby net.ipv4.conf.all.rp_filter, ale tuto volbu jsem nikdy neřešil