Fórum Root.cz

Hlavní témata => Sítě => Téma založeno: SHIUNG 17. 09. 2019, 13:44:46

Název: IPtables blokace komunikace mezi eth0 a eth4
Přispěvatel: SHIUNG 17. 09. 2019, 13:44:46
Ahoj,
mám linuxovou gateway postavenou na Debian 10 s iptables.
Brána má 5 rozhraní. Mám síť LAN eht0 s IP: 192.168.1.10 s VOIP eth4 s IP: 192.168.12.1.

Úplně na začátku firewallu mám pravidlo:
Kód: [Vybrat]
iptables -I FORWARD -i eth0 -o eth4 -j DROP
iptables -I FORWARD -o eth4 -i eth0 -j DROP

Pak mám počítač v síti eth0 s IP: 192.168.1.12 a telefon v síti eth4 s IP: 192.168.12.102
Ping s počítače neprojde na telefon to je v pořádku.
Ping s počítače na rozraní eth4 s IP 192.168.12.1 projde. Proč?

Vůbec to nechodí přes firewall.

Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: kmarty 17. 09. 2019, 14:14:19
Protoze neni zadny pravidlo ktery by to blokovalo?
Oba uvedeny radky maji stejny vyznam (vstupni iface je eth0, vystupni je eth4).
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: smoofy 17. 09. 2019, 14:16:22
Protoze to co tece na interface na gatewayi neni FORWARD ale INPUT presto ze je to jiny interface nez na kterem to pritejka.
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: kmarty 17. 09. 2019, 14:20:20
Ok, pisu si za domaci ukol: Lepe cist dotaz a vsimat si ze se komunikuje i primo z GW :-)
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: SHIUNG 17. 09. 2019, 14:20:26
Protoze neni zadny pravidlo ktery by to blokovalo?
Oba uvedeny radky maji stejny vyznam (vstupni iface je eth0, vystupni je eth4).
Omlouvám se, upravil jsem, ale výsledek je stejný
Kód: [Vybrat]
iptables -I FORWARD -i eth0 -o eth4 -j DROP
iptables -I FORWARD -i eth4 -o eth0 -j DROP
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: SHIUNG 17. 09. 2019, 14:21:32
Protoze to co tece na interface na gatewayi neni FORWARD ale INPUT presto ze je to jiny interface nez na kterem to pritejka.
Zkusil jsem:
Kód: [Vybrat]
iptables -t filter -A INPUT -i eth4 -j DROP
Výsledek je stejný.
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: kmarty 17. 09. 2019, 14:26:10
Ale ping na GW prijde z eth0 (pres INPUT).
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: SHIUNG 17. 09. 2019, 14:31:23
Ano, ping z 192.168.1.12 na 192.168.12.1
tcpdump -i eth0 host 192.168.1.12
14:29:05.662313 IP 192.168.1.12 > 192.168.12.1: ICMP echo request, id 1, seq 20, length 40
14:29:05.662431 IP 192.168.12.1 > IP 192.168.1.12: ICMP echo reply, id 1, seq 20, length 40

Ještě bych doplnil, že ten PC má default GW 192.168.1.10 tj eth0
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: McFly 17. 09. 2019, 14:31:52
Kód: [Vybrat]
iptables -t filter -A INPUT -s 192.168.1.0/24 -d 192.168.12.1 -j DROP
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: smoofy 17. 09. 2019, 14:32:42
Takhle z hlavy:
"iptables -I INPUT -i eth0 -d 192.168.12.1 -j DROP"

"iptables -t filter -A INPUT -i eth4 -j DROP"
Tohle blokuje prichozi traffic z eth4, ping pritece z eth0 jak pise kmarty
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: SHIUNG 17. 09. 2019, 14:36:11
Kód: [Vybrat]
iptables -t filter -A INPUT -s 192.168.1.0/24 -d 192.168.12.1 -j DROP
Tohle funguje, nerozumím proč to nefunguje s těma rozhraními eth0 a eth4 ?
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: SHIUNG 17. 09. 2019, 14:39:27
Už asi rozumím, ono to přichází i odchází eth0 a ne že to přijde eth0 a odejde eth4
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: robac 17. 09. 2019, 16:10:29
Už asi rozumím, ono to přichází i odchází eth0 a ne že to přijde eth0 a odejde eth4
Nerozumíte.
Nikam to neodchází.
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: František Ryšánek 17. 09. 2019, 16:43:42
Už asi rozumím, ono to přichází i odchází eth0 a ne že to přijde eth0 a odejde eth4

Ping request přijde skrz eth0 a nevstoupí do chainu FORWARD, protože cílem je lokální IP adresa. Tzn. ten dotaz má snahu projít z eth0 chainem INPUT do lokálního IP stacku. Rozhraní eth4 se ten ping request v rovině IPtables nijak netýká, přestože ho adresujete lokální IP adrese, která je na toto rozhraní přiřazena...

Znáte KPTD (https://www.docum.org/docum.org/kptd/) ? Ještě si zkušte odmyslet bloky, označené "ipchains" = předchozí generace netfilteru, která skončila s kernelem 2.2, tj. málem v předchozím tisíciletí. Se divím, že ten užitečný diagram někdo neaktualizoval, aby mluvil jenom o IPtables a EBtables. Případně o nftables (https://wiki.nftables.org/wiki-nftables/index.php/What_is_nftables%3F) nebo BPF (https://cilium.io/blog/2018/04/17/why-is-the-kernel-community-replacing-iptables/)... pořád kroutím hlavou, kdo asi vyhraje (https://forum.openwrt.org/t/what-is-the-difference-between-nftables-and-bpfilter/24602/6)...

Tohle mě na Linuxu vždycky bavilo. Na první pohled je jedno ustálené rozhraní/implementace. Při bližším pohledu najdete dvě další implementace téhož, povětšinou si můžete zvolit jednu či druhou, konkurence spokojeně vzkvétá a výsledek ani termín poslední bitvy obvykle dlouho není předem jasný. Viz též různé implementace iSCSI, ovladačů zvukových karet, trasovacích frameworků, hluboce bezpečnostních frameworků, RAIDových vrstev, init démonů, shellů... Nebo třeba utilita ifconfig. Kolik desítek let už je označována za deprecated? :-)
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: SHIUNG 18. 09. 2019, 07:46:13
Už asi rozumím, ono to přichází i odchází eth0 a ne že to přijde eth0 a odejde eth4
Nerozumíte.
Nikam to neodchází.
Tak echo reply musí někudy odcházet?
Název: Re:Iptables blokace komunikace mezi eth0 a eth4
Přispěvatel: František Ryšánek 18. 09. 2019, 21:14:55
Už asi rozumím, ono to přichází i odchází eth0 a ne že to přijde eth0 a odejde eth4
Nerozumíte.
Nikam to neodchází.
Tak echo reply musí někudy odcházet?
Myslím, že už rozumíte správně. Echo reply vznikne v lokálním IP stacku a chainem OUTPUT směřuje do eth0 a ven do světa. Opět se o eth4 vlastně ani neotře a chain FORWARD se jí taky netýká. Viz KPTD.
Název: Re:IPtables blokace komunikace mezi eth0 a eth4
Přispěvatel: Michal Kubeček 18. 09. 2019, 22:05:54
Už to bylo vysvětleno, ale zkusím to napsat trochu jednodušeji. O tom, jestli bude příchozí paket filtrován řetězcem INPUT nebo FORWARD, rozhduje jen to, jestli je to paket "pro mne" (INPUT) nebo "pro někoho jiného" (FORWARD). Když si odmyslíme různé neobvyklé konfigurace, tak obvykle jde jen o to, jestli je cílová adresa "moje" nebo ne, přičemž není vůbec důležité, jestli ji mám nastavenou právě na tom rozhraní, kam paket přišel, nebo na kterémkoli jiném (viz též termín "weak host model").

Lokálně generovaný paket (v tomto případě echo reply) pak půjde za normálních okolností přes OUTPUT, ne FORWARD.