Iptables - monitor prietoku dat

Sekcia: Hardware a Drivery 10.12.2008 | 20:48
Juraj   Návštevník
Zdravim.
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/24 -j segment-A
iptables -A FORWARD -s 10.0.0.0/24 -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.
    • Re: Iptables - monitor prietoku dat 10.12.2008 | 20:49
      Juraj   Návštevník
      Aaaaaaaaa, ospravedlnujem sa za zlu sekciu :-(
    • Re: Iptables - monitor prietoku dat 11.12.2008 | 00:13
      kipikasa   Návštevník
      hmm dost divny fw.

      skor by som urobil nieco take:
      .
      .
      .
      iptables -N data-download
      iptables -A data-download -j RETURN
      
      iptables -N data-upload 
      iptables -A data-upload -j RETURN
      .
      .
      .
      iptables -A FORWARD -s 0.0.0.0/0 -d 10.0.0.3 -o $lan_if -j data-download
      .
      .
      .
      iptables -A FORWARD -s 10.0.0.3 -d 0.0.0.0/0 -o $ext_if -j data-upload
      .
      .
      .

      cize vytvorit cisto chainy sa pocitanie dat. a tiez nie je odveci definovat target v chaine (iptables -A segment-A -d 10.0.0.3 -j RETURN). ale pri takej sieti by to uz chcelo urobit urcite lepsi fw. za premenne si dosadte vnutorny a vonkajsi interface.

      ps: v internete sa vam na nejake "upozornenia" kazdy z vysoka vykasle...