Вот еще один пример Firewall на домашнем роутере. Он слегка подправлен от предыдущего, для более удобного обслуживания.

#!/bin/sh
####rc.firewall
ipfw=»/sbin/ipfw -q»
ADSL=»tun0″
Lan=»rl0″
In=»re0″
IpLAN=»192.168.1.254″
NetLAN=»192.168.1.0″
NetMask=»24″
proxy=»127.0.0.1″
user_prefix=’192.168.1′
tor_soc=’15’

#Вот сколько «жизненноважных» портов много насобиралось
PrPORT=»20-23,25,53,80,110,443,777,1080,1111,1313,1360,1377,2106,2352,2593,3128,3389,3504,
3521,3773,5190,5191,5192,5193,8080,8081,8786,21116,25360″

${ipfw} -f flush
${ipfw} -f pipe flush
${ipfw} -f queue flush

……………Опущены правила count
###Настраиваем локальный интерфейс (localhost)
……………..
Добавлен такой пункт, для приоритезации трафика:

${ipfw} pipe 2 config bw 3Mbit/s
${ipfw} queue 1 config pipe 1 weight 15 mask dst-ip 0x00000000
${ipfw} queue 2 config pipe 1 weight 50 mask dst-ip 0x00000000
${ipfw} queue 3 config pipe 1 weight 75 mask dst-ip 0x00000000
${ipfw} queue 4 config pipe 1 weight 85
${ipfw} queue 5 config pipe 1 weight 95

${ipfw} add queue 4 icmp from ${NetLAN} to any
${ipfw} add queue 4 icmp from any to ${NetLAN}

${ipfw} add queue 5 ip from any 22,23,53,25,110,143,3389,5901,pptp,17 to any
${ipfw} add queue 5 ip from any to any 22,23,53,25,110,143,3389,5901,pptp,17

${ipfw} add queue 1 ip from ${NetLAN} to any 1000-65535 not dst-port ${PrPORT}
${ipfw} add queue 2 ip from ${NetLAN} to any not dst-port 1000-65535,${PrPORT} not
dst-ip ${NetLAN}
${ipfw} add queue 3 ip from ${NetLAN} to any ${PrPORT} not dst-ip ${NetLAN}

…………… Все по аналогии с предыдущим до 7го пункта.
###7.Доступ конкретному пользователю
#${ipfw} add 2001 allow ip from ${user_prefix}.2 to any via ${Lan}
#${ipfw} add 2002 allow ip from ${user_prefix}.2 to any via ${ADSL}
#${ipfw} add 2003 allow ip from any to ${user_prefix}.2
#####Режем скорость юзерам
##Komp_osnovnoy_s_IP_192.168.1.2
${ipfw} pipe 11 config bw 1Mbit/s queue 128kbit/s #ot usera dlya tor
${ipfw} pipe 12 config bw 1Mbit/s queue 256kbit/s #kanal s ineta useru
${ipfw} add 2201 pipe 11 all from ${user_prefix}.11 to any src-port 1000-999999 limit src-addr ${tor_soc} not dst-port ${PrPORT} not dst-ip me
${ipfw} add 2202 pipe 12 all from any to ${user_prefix}.11 not src-ip me
${ipfw} add 2203 allow ip from ${user_prefix}.11 to any via ${Lan}
##Komp_Soseda
${ipfw} pipe 13 config bw 512Kbit/s queue 64kbit/s #ot usera dlya tor
${ipfw} pipe 14 config bw 1Mbit/s queue 64kbit/s #kanal s ineta useru
${ipfw} add 2205 pipe 13 all from ${user_prefix}.12 to any src-port 1000-999999 limit src-addr ${tor_soc} not dst-port ${PrPORT} not dst-ip me
${ipfw} add 2206 pipe 14 all from any to ${user_prefix}.12 not src-ip me
${ipfw} add 2207 allow ip from ${user_prefix}.12 to any via ${Lan}

######################
${ipfw} add 4998 allow tcp from any to any established
${ipfw} add 4999 deny ip from any to any
###End.
echo ‘ipfw restarted..’;

Вот с таким примером очень шустренько все у всех бегает, даже не глядя на то — что кто-то запустит торент.

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/?p=120


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

You must be logged in to post a comment.