#!/bin/sh cmd="/sbin/ipfw -q" lif="rl0" lif_ng="ng*" pif="fxp0" #ab500="85.121.64.129/25,85.121.65.1/24,85.121.66.1/23" #ab350="85.121.68.1/22" #net="85.121.64.1/21" ab500="192.168.2.4" ab350="192.168.2.2,192.168.2.3,192.168.2.1" net="192.168.0.0/16" #flush rules $cmd flush $cmd pipe flush $cmd table 1 flush # pipe 1 --> pipe mare (35M) # pipe 2 --> pipe download ab500 - mask 0x0000ffff 4096K # pipe 3 --> pipe download ab350 - mask 0x0000ffff 1024K # pipe 4 --> pipe upload ab500 - mask 0x0000ffff 512K # pipe 5 --> pipe upload ab350 - mask 0x0000ffff 256K # queue 1 --> down trafic prioritizat - mask 0x0000ffff weight 15 # queue 2 --> down trafic neprioritizat - mask 0x0000ffff weight 10 # configurare pipe si cozi $cmd pipe 1 config bw 35000Kbit/s #queues download $cmd queue 1 config weight 15 pipe 1 queue 100 mask dst-ip 0xffffffff $cmd queue 2 config weight 10 pipe 1 queue 50 mask dst-ip 0xffffffff # pipe pentru download ab500 $cmd pipe 2 config bw 4096kbits/s mask dst-ip 0xffffffff #upload ab500 $cmd pipe 4 config bw 512kbit/s mask src-ip 0xffffffff # pipe pentru download ab350 $cmd pipe 3 config bw 256kbits/s mask dst-ip 0xffffffff #upload ab350 $cmd pipe 5 config bw 128kbit/s mask src-ip 0xffffffff #se definesc table cu ip-uri permise $cmd table 1 add 10.0.0.8 $cmd table 1 add 85.121.64.2 #natd # static nat pentru camera de comert #$cmd add 1 divert 8668 ip from any to 88.158.148.251 dst-ip 88.158.148.251 via $pif #$cmd add 2 divert 8668 ip from any to any src-ip 10.0.0.0/16 via $pif #$cmd add 3 divert 8668 ip from any to me in recv $pif #blocare macuri #$cmd add 4 deny ip from any to any MAC any 00:0d:87:29:69:26 #permit localhost $cmd add 7 allow ip from any to me $cmd add 8 allow ip from me to any $cmd add 10 allow ip from any to any via lo0 $cmd add 20 deny ip from any to 127.0.0.1 # permit ssh si pagina locala $cmd add 30 allow ip from any to me 222 $cmd add 40 allow ip from me 222 to any # antispoof $cmd add 50 deny ip from any to any not verrevpath in # fixed ips allow $cmd add 100 queue 1 ip from any to "table(1)" out xmit $lif $cmd add 110 pipe 2 ip from "table(1)" to any in recv $lif $cmd add 120 skipto 60000 ip from "table(1)" to any in recv $lif # se lasa intervalul 1000-3000 pentru deny-uri per client # blocare MAC-uri #$cmd add 3620 deny ip from any to any MAC any 00:a0:d2:a4:30:61 #redirectatre useri neconectati cu pppoe #$cmd add 3630 allow ip from 10.1.1.180 to any in recv $lif #$cmd add 3630 fwd 10.1.1.1,80 tcp from any to any 80 in recv $lif # permite trafic din retea catre server si invers $cmd add 3500 allow ip from me to any out xmit $lif # antivirus $cmd add 3600 deny ip from any 135-139,445,1080,2283,2745,2745,3127-3198,5554,8866,10080,65506 to any in # bloc mirc $cmd add 3700 deny ip from any to any dst-port 6666, 6667, 6668, 6669, 7000, 9000 $cmd add 3800 deny ip from any to any in recv $lif # download clienti ab500 # trafic prioritizat $cmd add 4100 queue 1 ip from any 80,443,53 to $ab500 out xmit $lif_ng $cmd add 4200 pipe 2 ip from any 80,443,53 to $ab500 out xmit $lif_ng $cmd add 4300 skipto 60000 ip from any 80,443,53 to $ab500 out xmit $lif_ng # trafic default $cmd add 4400 queue 2 ip from any to $ab500 out xmit $lif_ng $cmd add 4400 pipe 3 ip from any to $ab500 out xmit $lif_ng # upload clienti ab500 # trafic prioritizat $cmd add 5200 pipe 4 ip from $ab500 to any in recv $lif_ng #download clienti ab350 $cmd add 6000 queue 1 ip from any 80,443,53 to $ab350 out xmit $lif_ng $cmd add 6100 pipe 3 ip from any 80,443,53 to $ab350 out xmit $lif_ng $cmd add 6200 skipto 60000 ip from any 80,443,53 to $ab350 out xmit $lif_ng #trafic default $cmd add 6300 queue 2 ip from any to $ab350 out xmit $lif_ng $cmd add 6400 pipe 3 ip from any to $ab350 out xmit $lif_ng #upload clienti ab350 $cmd add 6500 pipe 5 ip from $ab350 to any in recv $lif_ng #$cmd add 60000 allow ip from any to any $cmd add 60000 allow ip from any to $ab350 out xmit $lif_ng $cmd add 60100 allow ip from $ab350 to any in recv $lif_ng $cmd add 60200 allow ip from any to $net in recv $pif $cmd add 60300 allow ip from $net to any out xmit $pif