Přesměrování portů na firewallu přes NAT
Když má být služba běžící na privátní adrese dostupná z internetu, řeší se to přesměrováním portu na firewallu přes NAT.
Příklad: port 8080 veřejné IP vede na webový server 192.168.1.10:80.
- Přepsat cíl příchozího spojení v tabulce
nat:
iptables -t nat -A PREROUTING -i $WAN -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80
- Ve
FORWARDpovolit nové spojení jen na přesměrovanou službu a navázaný provoz, ostatní nová příchozí spojení z vnějšího rozhraní zahodit. Pořadí pravidel je důležité – povolení musí stát před zahozením:
iptables -A FORWARD -i $WAN -p tcp -d 192.168.1.10 --dport 80 -m conntrack --ctstate NEW -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $WAN -m conntrack --ctstate NEW -j DROP
Návratový provoz vlastní pravidlo v POSTROUTING nepotřebuje: odpověď přeloží zpět sledování spojení (conntrack). POSTROUTING s MASQUERADE je potřeba jen pro odchozí provoz z vnitřní sítě do internetu.
Z internetu je dostupná jen konkrétní služba na privátní IP; zbytek zůstává za firewallem.
_Původně publikováno v květnu 2010._