Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: Vietnamka 28. 03. 2023, 21:17:21

Název: Pakety tečou neNATované do veřejného rozhraní
Přispěvatel: Vietnamka 28. 03. 2023, 21:17:21
Zjistil jsem, že mi z nějakého důvodu na WAN rozhraní odchází  pakety, které neprojdou NATováním. tj odejdou 192.168.0.N -> domena.com . Ty paket jsou bezezměny forwardované z interní sítě (Jde o odpověď na SYN pakety přicházejícího z jiného rozhraní) Když už je packet filter nenasměruje do rozhraní odkud přišlo spojení, tak nechápu proč  jim není změněna src adresa pravidlem MASQUERADE

Mám podezření na pravidlo zvýrazněné tučně:


FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -d 192.168.1.0/24 -i wan -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
[FORWARD -s 192.168.1.0/24 -i eth0 -o wan -j ACCEPT




Jsou v pořadí odshora dolů první. Nemělo by mít více parametrů --ctstate  který by omezily ACCEPT?

Přitom jde o (v případě policy forward drop) esenciální pravidlo, aby interní síť vůbec mohla iniciovat spojení do internetu.

Pomohlo by pravidlo  -tnat  POSTROUTING -i eth0 -o wan -s 192.168.1:6 -j REJECT ... Jenže REJECT nejde na -tnat

Ale klíčové je odhalit příčinu, proč paket odejde ne-z-MASQUERADEován?


přestože v iptables mám:
*nat
-A POSTROUTING -s 192.168.0.0/24 -o wan -j MASQUERADE



(ip rule s příbuzného dotazu jsem promazal a je ve výchozím stavu )

ip route:
default via 192.168.0.222 dev wlan0
10.0.0.2 dev tun8 proto kernel scope link src 10.0.0.1
192.168.0.222 dev wlan0 scope link
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100

Název: Re:pakety tečou neNATované do public interface
Přispěvatel: Filip Jirsák 28. 03. 2023, 23:25:30
Firewall iptables bere v úvahu spojení, tj. u TCP provádí maškarádu u odchozích paketů odchozího spojení, u příchozích paketů stejného spojení provádí inverzní úpravu vůči nakonfigurované maškarádě, takže příchozí pakety po té přijdou tak, jak mají být. Na příchozí spojení se maškaráda neuplatňuje. U iptables v tabulce nat platí, že pro spojení píšete pravidla pro paket navazující spojení, a u ostatních paketů už se iptables samy postarají, aby byly správně (v souladu s prvním paketem).

iptables naopak vůbec nerozhodují o směrování přes konkrétní rozhraní. O tom rozhodují routovací pravidla a routovací tabulky. Aby pakety odcházely přes správné rozhraní musíte zařídit tam.
Název: Re:Pakety tečou neNATované do veřejného rozhraní
Přispěvatel: Milan Cagap 29. 03. 2023, 14:29:59
Pre lepsiu predstavu ako idu pakety cez router si porzite tento obrazok - je to sice k mikrotiku, ale funguje to rovnako u kazdeho routra. Pri prechode paketu z alebo do siete idu pakety nasledovne:

(http://vanham-franck.be/pics/MikroTik_PacketFlow_Routing24.jpg)

Najskor sa spracuje PRE-routing -> routing -> Forward -> POST-routing. Co znamena, ze aj pakety sa natuju/maskuju az na post-routingu. Ako uz bolo spomenute, pojde najkor o daky problem v routingu. Alebo je zle nastavene maskarada. Osobne, ked robim maskaradu, tak v nej uvadzam aj ip rozsahy, ktore sa maju maskovat. Tym padom, aj ked nastane problem v routingu, pri odchode paketu cez wan inteface by sa mal zamaskovat cez nat na ip wan rozhrania.

napr.
Kód: [Vybrat]
iptables -t nat -A POSTROUTING -o wan -s 192.168.1.0/24  -j MASQUERADE

Název: Re:Pakety tečou neNATované do veřejného rozhraní
Přispěvatel: Filip Jirsák 29. 03. 2023, 16:30:31
je to sice k mikrotiku, ale funguje to rovnako u kazdeho routra
Jenom drobnost – funguje to tak u každého routeru založeného na linuxu. Jiné systémy to mohou mít pojmenované jinak nebo dokonce mohou mít jiné schéma zpracování paketů.

Každopádně to grafické znázornění pomáhá představit si, jak se ten paket zpracovává. A je důležité si uvědomit, že u spojení (třeba TCP/IP) tohle schéma platí jen pro první paket (ten, který navazuje spojení). Pro další pakety to dorazí jen do bodu „connection tracking“ a jakmile se v něm paket zařadí do spojení, další manipulace s ním už odpovídá tomu, co se provádělo s prvním paketem (případně zrcadlově obrácené operace u odpovědních paketů).