Stránka 1 z 1

Firewall filter po SRC-NAT

Napsal: 04 Jan 2017 13:42
od eKrajnak
Ahojte,

podľa Mikrotik Packet Flow diagramu nastáva SRC-NAT ako jedno z posledných spracovaní paketu v routry. Je teda nejaká možnosť, aby som filtroval pakety po SRC-NAT?

Moja situácia: potrebujem filtrovať, aby von zo siete (cez WAN) odtekal iba môj rozsah pridelených verejných IP adries, všetko ostatné chcem dropovať. Na tomto hraničnom routry sa však robia zároveň aj všetk NATy.



Vďaka za každú radu!
Blažej

Re: Firewall filter po SRC-NAT

Napsal: 04 Jan 2017 14:38
od ludvik
Od nějaké verze netfilteru je filtrování v nat tabulce zakázáno. Takže si to vymysli jinak :-)

Ty děláš NAT a stejně to chceš filtrovat? Proč? Nemluvě o tom, že obdobný filtr by měl mít i ten, kam je tvoje WAN připojená.

Re: Firewall filter po SRC-NAT

Napsal: 05 Jan 2017 10:25
od Majklik
Bohužel, ROS nikdy nedovoloval filtrovat v mangle output. Linux kernel to obecně podporuje(podporoval), ale ROS ne. Takže jen ROS prostředky v /ip firewall v rámci jedné bedny, kde se má filtrovat i NATovat naráz, tak se dá případně zastavit až druhý paket, pokud se na první neuplatní z nějakého důvodu SRCNAT. Způsobů je několik, dneska asi nejjendodušeji (pokud mám jen jeden uplink a provádí se jen srcnaty na moje veřejky, jakmile je linek ven na různé rozsahy víc a srcnat s provádí na různé IP, je třeba složitěji si vypomoci s manglováním):

Kód: Vybrat vše

/ip firewall filter
add action=reject chain=forward connection-nat-state=!srcnat connection-state=!new out-interface=ether-uplink reject-with=icmp-network-unreachable

Takže pro jistotu jediné, co můžeš, tak k tomuto ještě přidat pravidlo, co dovolí new forward ven jen pro tvoje veřejné IP adresy akivní uvnitř sítě a pro src adresy na které se má uplatnit SRCNAT, ostatí drop. Ale i tak občas uteče něco bez NATu nebo se špatným NATem (což někdy dělá problém, pokud uplink shodí linku na první nekorektní paket).
Kde to jde, tak to řeším na prvku před ROS boxem směrem ven, třeba přímo na switchi, kde access pravidly stopnu pakety jdoucí z ROS boxu a nemající správné zdrojové IP adresy (a stejně tak rovnou dropuji i příchozí pakety, kde src adresa je moje nebo dstadresa je něco jiného, než moje veřejky).
A ten switch může být i softwarový, takže pokud si na uplink port pověsíš bridge v kterém bude jen tne jedne uplink ethernet port, tak pak můžeš použít bridge firewall pro stopnutí paketů, co mají blbou zdrojovou ip pod /interface bridge filter.