[ Mile-Lile @ 29.06.2013. 21:14 ] @
Imam jedan problem pa bih molio ljude dobre volje i one koji poznaju ovu tematiku da pomognu.
Da napomenem da ceo život koristim MS tako da sam baš "newb" što se tiče Linux-a...
Naime, imam ruter u koji je "upucan" ddwrt i to revizija koja trenutno koriti iptables v1.3.7.
Imam dve wi-fi mreže. Jedna, koja je zaštićena i njen interfejs ima oznaku ath0, i druga (virtuelna - VAP) koja je nezaštićena tj. otvorena i koja služi za goste. Ima oznaku interfejsa ath0.1.
Na tu drugu se povezuju gosti koji dolaze kod nas a i komšije po potrebi. Uglavnom su to androidi i po neki laptop kad neko dođe.
ath0 je u opsegu 192.168.2.0/24
ath0.1 je u opsegu 192.168.88.0/24
QoS je podešen tako da 192.168.2.0/24 ima Exemp prioritet a 192.168.88.0/24 Bulk.

Bridging table izgelda ovako:
Bridge Name STP enabled Interfaces
br0 no vlan0 ath0
br1 yes ath0.1

Sve je funkcionisalo savršeno do pre neki dan:)
U iptables sam uradio sledeće:

#dozvolio br1 (wifi za goste) pristup DNS i DHCP
iptables -I INPUT -i br1 -m state --state NEW -j DROP
iptables -I INPUT -i br1 -p udp --dport 67 -j ACCEPT
iptables -I INPUT -i br1 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i br1 -p tcp --dport 53 -j ACCEPT

#ograničio broj tcp kao i svih ne tcp konekcija (ovo može i sa PREROUTING ali onda prvo povezivanje nekog klijenta na mrežu traje 20-ak sekundi?)
iptables -I INPUT -i br1 -p tcp --syn -m limit --limit-burst 150 -j DROP
iptables -I INPUT -i br1 -p ! tcp -m limit --limit-burst 100 -j DROP
iptables -I OUTPUT -o br1 -p tcp --syn -m limit --limit-burst 150 -j DROP
iptables -I OUTPUT -o br1 -p ! tcp -m limit --limit-burst 100 -j DROP
iptables -I FORWARD -i br1 -p tcp --syn -m limit --limit-burst 150 -j DROP
iptables -I FORWARD -i br1 -p ! tcp -m limit --limit-burst 100 -j DROP

#zabranio gostima da pristupaju mojoj mreži
iptables -I FORWARD -i br1 -o br0 -m state --state NEW -j DROP

#zabranio gostima da pristupaju WAN subnetu
iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP

#zabranio gostima da pristupaju mom ADSL modemu koji je na adresi 192.168.1.1
iptables -I FORWARD -i br1 -d 192.168.1.1 -j DROP

#Zamaskirao da ima više mašina povezanih na ruter, već da izgleda da je win mašina direktno povezana na modem
iptables -t mangle -I POSTROUTING -o `get_wanface` -j TTL --ttl-set 128

link je 6/1 i sve je ferceralo besprekorno.
Problem je nastao kada je jedan komšija počeo da prži po torentima. Kako je moj kućni subnet Exemp nije bilo problema za mene, ali kada ja nisam na mreži zauzeo je celokupan link
pa su drugi počeli da se slikaju. Za početak sam blokirao njegovu MAC dok ne nađem rešenje. Rešenje sam vrlo brzo našao. ddwrt koristi ipp2p modul za presretanje p2p saobraćaja kao i l7. Testirao sam
ga i radi savršeno. Čak radi i kada se uključi enkripcija. VPN passtrough sam blokirao.
Moj problem je što želim da blokiram p2p saobraćaj samo za gostinsku mrežu ath0.1
Za blokdau celokupnog p2p saobraćaja, komanda u iptables bi trebalo da izgleda ovako:
iptables -I FORWARD -m ipp2p --ipp2p -j DROP

Dakle moje pitanje je kako da blokiram p2p samo za br1?
probao sam sa:
iptables -I FORWARD -i br1 -m ipp2p --ipp2p -j DROP
ali onda blokira celokupan saobraćaj
probao sam i sa:
iptables -I FORWARD -m iprange --src-range 192.168.88.100-192.168.88.150 -m ipp2p --ipp2p -j DROP
ali opet isto...
ako neko ima predlog samo nek izvoli....
[ agvozden @ 18.07.2013. 10:19 ] @
imam i ja neku slicnu konfiguraciju, samo sto je malo restriktivnija.

pitanje glasi: da li si direktivu za zabranu ipp2p ubacio pri vrhu, ili ti je posle postrutiranja za wanface?
[ Mile-Lile @ 18.07.2013. 11:30 ] @
Prvo, da ti se zahvalim na pitanju jer dugo niko ništa nije prokomentariosao ovu temu.
Odgovor je da sam probao i jedno i drugo tj. Bila mi je pre POSTROUTING u filter tabeli FORWARD chain-a ali sad sam probao i posle... ista priča. Nego sam počeo da sumnjam da li uopšte ima ipp2p modul.
Ne znam kako se to proverava. Sa komandom "lsmod" mi izbaci sledeće:
Citat:
Module Size Used by
xt_IMQ 640 2
imq 3776 0
nf_nat_pptp 1344 0
nf_conntrack_pptp 3088 1 nf_nat_pptp
nf_nat_proto_gre 784 1 nf_nat_pptp
nf_conntrack_proto_gre 2320 1 nf_conntrack_pptp
ath9k 96592 0
ath9k_common 1152 1 ath9k
ath9k_hw 346880 2 ath9k,ath9k_common
ath 12272 3 ath9k,ath9k_common,ath9k_hw
mac80211 222512 1 ath9k
cfg80211 161680 2 ath9k,mac80211
compat 8656 5 ath9k,ath9k_common,ath9k_hw,mac80211,cfg80211
ag7100_mod 10064 0
[ agvozden @ 19.07.2013. 08:48 ] @
probaj sa insmod da ubacis taj modul, mada ima i drugih modula koji se mogu dodati, ali nemam iskustva sa modulima na ddwrt

da li si pokusao sa QoS da postavis limitiranje?
[ Mile-Lile @ 19.07.2013. 11:06 ] @
Citat:
agvozden: probaj sa insmod da ubacis taj modul, mada ima i drugih modula koji se mogu dodati, ali nemam iskustva sa modulima na ddwrt

da li si pokusao sa QoS da postavis limitiranje?


Nisam siguran da li smem da dodajem module jer je memorija na ruteru ograničena pa da ne bih brick-ovao ruter...
Sa QoS lepo radi limitiranje, ali meni je bilo bitno da skroz ubijem P2P na toj mreži za goste... Ne zbog toga što imam nešto protiv P2P. Meni naime ne bi ništa smetalo (paket mi je flate rate) a moj interfejs Premium dok je interfejs za goste Bulk, ali se svašta može skinuti putem P2P (dečija pronografija itd.). Zamislio sam da ta otvorena mreža služi najviše za Androide... Rešio sam tako što sam blokirao VPN passtrough, i postavio da za taj interfejs se koriste OpenDNS serveri pa onda na tamo filtriram šta želim. Ograničio sam broj konekcija, blokirao teredo i za sad radi kako želim... Do sad nisu uspeli da zaobiđu te restrikcije, videćemo ubuduće...
Ovako mi izgleda sad firewall:
Citat:
iptables -I FORWARD -s 192.168.88.0/24 -p tcp --syn -m connlimit --connlimit-above 120 -j DROP
iptables -I FORWARD -s 192.168.88.0/24 -p ! tcp -m connlimit --connlimit-above 100 -j DROP
iptables -I FORWARD -s 192.168.2.0/24 -p tcp --syn -m connlimit --connlimit-above 350 -j DROP
iptables -I FORWARD -s 192.168.2.0/24 -p ! tcp -m connlimit --connlimit-above 150 -j DROP
iptables -I FORWARD -i br1 -o br0 -m state --state NEW -j DROP
iptables -I FORWARD -i br0 -o br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP
iptables -I FORWARD -i br1 -d 192.168.1.1 -j DROP
iptables -I FORWARD -j DROP -i `nvram get wan_ifname` -p ipv6
iptables -I FORWARD -j DROP -i `nvram get wan_ifname` -p udp --sport 3544 --dport 3544
iptables -I INPUT -m pkttype --pkt-type multicast -j DROP
iptables -I INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -I INPUT -p icmp --icmp-type echo-request -j DROP
iptables -I INPUT -d 127.0.0.0/8 -j REJECT
iptables -I INPUT -i br1 -m state --state NEW -j DROP
iptables -I INPUT -i br1 -p udp --dport 67 -j ACCEPT
iptables -I INPUT -i br1 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i br1 -p tcp --dport 53 -j ACCEPT
iptables -t nat -I PREROUTING -i br1 -p udp --dport 53 -j DNAT --to 208.67.222.222
iptables -t nat -I PREROUTING -i br1 -p tcp --dport 53 -j DNAT --to 208.67.222.222
iptables -t nat -I POSTROUTING -o `nvram get wan_ifname` -j MASQUERADE
iptables -t nat -I POSTROUTING -o `get_wanface` -j SNAT --to `nvram get wan_ipaddr`
iptables -t mangle -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu