Portál AbcLinuxu, 10. května 2025 04:42

Dotaz: Iptables - monitor prietoku dat

10.12.2008 19:56 Juraj
Iptables - monitor prietoku dat
Přečteno: 376×
Odpovědět | Admin
Zdravim, hlavne linux komunitu.
Obraciam sa na vas s prosbou o pomoc pri rieseni hlavolamu zvaneho IPTABLES.
Ja sam som z iptables-u dost mimo. Uz par krat som sa ho pokusal pochopit
no nikdy som nepresiel za ciaru zaciatocnika-amatera.

Bohuzial to co chcem vyriesit bude vyzadovat viac nez som sa kedy mohol
naucit a teda popis problemu:
------------------------------------------------------------------------
Predstavte si T-Com Cisco router pripojeny k eth1 na Linux-Debian serveri.
Predstavte si obrovsku skolsku siet zo (cca) 70 PC, preswitchovanu k
jednemu kabliku, ktory je pripojeny do toho isteho servera, do sietovej
karty eth0.

Na premostenie tychto dvoch sieti (sieti z Cisca a skolskej sieti)
pouzivam nasledovny skript:

iptables --flush # Flush all the rules in filter and nat tables
iptables --table nat --flush
iptables --delete-chain # Delete all chains that are not in default filter
and nat table
iptables --table nat --delete-chain
# Set up IP FORWARDing and Masquerading
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables --append FORWARD --in-interface eth0 -j ACCEPT
echo "1" >/proc/sys/net/ipv4/ip_forward

Tato cast skriptiku funguje dokonale. K tomu nie je co dodat.
Dnes, som pripojil do nasej lokalnej siete (t.j. za serverom) skolsky
internat. Po dlho-tyzdnovych prosbach sme obyvatelom skolskeho internatu
umoznili zakupit WiFi router na ktory sa par z nich pripaja laptopom a
pouzivaju net vo svojom volnom case priamo zo svojej izby. Wifi router ma
IP adresu 10.0.0.3 a okrem mnozstva upozorneni chcem spravit monitoring
prietoku dat na IP adresu 10.0.0.3.  Znova som siahol po IPTABLESe a
skript som doplnil:
-----------------------------------------------------------------
iptables -N segment-A
iptables -A FORWARD -d 10.0.0.0/26 -j segment-A
iptables -A FORWARD -s 10.0.0.0/26 -j segment-A

iptables -A segment-A -d 10.0.0.3
iptables -A segment-A -s 10.0.0.3
------------------------------------------------------------------

Uspech je ale len polovicny. Po napisani prikazu:
# iptables -L -v -n

Chain FORWARD (policy ACCEPT 10M packets, 12G bytes)
 pkts bytes target     prot opt in     out     source              
destination
17977 2236K ACCEPT     0    --  eth0   *       0.0.0.0/0            0.0.0.0/0
23186   22M segment-A  0    --  *      *       0.0.0.0/0           
10.0.0.0/26
    0     0 segment-A  0    --  *      *       10.0.0.0/26          0.0.0.0/0

Chain segment-A (2 references)
 pkts bytes target     prot opt in     out     source              
destination
20194   18M            0    --  *      *       0.0.0.0/0            10.0.0.3
    0     0            0    --  *      *       10.0.0.3             0.0.0.0/0
-----------------------------------------------------------------

Ako vidite z vypisu, dobre sa pocitaju DOWNLOADnute data.
Ale VOBEC sa nepocitaju tie UPLOADNUTE.
Uz nad tym sedim 4 hodiny a neviem na nic prist. Mozno mi nieco
uniklo/unika, mozno som len nieco zle pochopil/napisal/spravil/nespravil.

Mohol by mi niekto skusenejsi poradit kde robim chybu?

Dakujem za kazdu radu.
J.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.12.2008 22:22 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Iptables - monitor prietoku dat
Odpovědět | | Sbalit | Link | Blokovat | Admin

Máte to trochu pomotané.

iptables --append FORWARD --in-interface eth0 -j ACCEPT

Řetězec FORWARD má policy (implicitní závěrečné pravidlo) ACCEPT. Takže znovu povolovat vstup packetů z eth0 je zbytečné.

S tím souvisí váš problém. Jak je vidět zpořadí pravidel ve FORWARD

# iptables -L -v -n

Chain FORWARD (policy ACCEPT 10M packets, 12G bytes)
 pkts bytes target     prot opt in     out     source              
destination
17977 2236K ACCEPT     0    --  eth0   *       0.0.0.0/0            0.0.0.0/0
23186   22M segment-A  0    --  *      *       0.0.0.0/0           
10.0.0.0/26
    0     0 segment-A  0    --  *      *       10.0.0.0/26          0.0.0.0/0

veškerý provoz z eth0, ve kterém jsou i packety se zdrojovou adresou 10.0.0.0/26, se zpravuje hned prvním pravidlem a tudíž se takové packety k dalším pravidlům už nedostanou.

Doporučuji smazat první pravidlo z FORWARD.

Dále doporučuji si nastudovat, které cíle ukončují procházení tabulek (prakticky všechny) a které nikoliv (přesměrování do jiného řetězce, LOG, NFLOG, ULOG, RETURN).

11.12.2008 05:38 Juraj
Rozbalit Rozbalit vše Re: Iptables - monitor prietoku dat
Odpovědět | | Sbalit | Link | Blokovat | Admin

Dakujem, vyskusam.

11.12.2008 06:46 Juraj
Rozbalit Rozbalit vše Re: Iptables - monitor prietoku dat

Chcem sa este raz podakovat. Vasa poznamka bola spravna a bol to ten problem co som mal.

Neuvedomil som si, ze na "poradi pravidiel zalezi".

 

11.12.2008 08:28 koleckovnicek
Rozbalit Rozbalit vše Re: Iptables - monitor prietoku dat

Tohle je jeste celkem trivialni nastaveni. Pockejte, az tam budete mit nekolik set ruznorodych pravidel na vice zarizenich, to je teprve poradnej bordel ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.