Снова затрону тему ipfw фаервола и опубликую рабочую конфигурацию для сервера на котором висит сайт и dns, в тоже время сервер обслуживает домашний ПК и ноутбук, ограничивая им полосу «Download».

HomeRouter# cat /etc/firewall.conf
#!/bin/sh
###My_firewall: /etc/firewall.conf
ipfw="/sbin/ipfw -q"
Local="fxp0"
Local_ip="10.10.1.1"
Inet="rl0"
Inet_ip="80.115.29.*"
Inet_gw="80.115.29.*"
admins="85.44.13.*,193.106,22,*"
 
${ipfw} flush
${ipfw} pipe flush
${ipfw} queue flush
 
##mrtg_count
${ipfw} add 50 count ip from any to any in via ${Inet}
${ipfw} add 51 count ip from any to any out via ${Inet}
${ipfw} add 52 count ip from any to any in via ${Local}
${ipfw} add 53 count ip from any to any out via ${Local}
###Форвардинг пакетов на шлюз, это правило нужно тогда, когда на сервере более 2х каналов.
#${ipfw} add 101 fwd ${Inet_gw} ip from ${Inet_ip} to any 
###Open_interface-lo0_and_deny_loockup_to_any
${ipfw} add 201 allow ip from any to any via lo0
${ipfw} add 202 deny ip from any to 127.0.0.1
${ipfw} add 203 deny ip from 127.0.0.1 to any
###Deny_mysql_port_on_world
${ipfw} add 301 deny tcp from me 3306 to any not dst-ip 127.0.0.1,${Local_ip}/24
${ipfw} add 302 deny tcp from any 3306 to me not src-ip 127.0.0.1,${Local_ip}/24
###Deny_other_not_using
${ipfw} add 303 deny ip from any to 0.0.0.0/8 in via ${Inet}
${ipfw} add 304 deny ip from any to 169.254.0.0/16 in via ${Inet}
${ipfw} add 305 deny ip from any to 240.0.0.0/4 in via ${Inet}
${ipfw} add 306 deny icmp from any to any frag
${ipfw} add 307 deny log icmp from any to 255.255.255.255 in via ${Inet}
${ipfw} add 308 deny log icmp from any to 255.255.255.255 out via ${Inet}
###Deny_other_any_not_using
${ipfw} add 309 deny ip from 10.2.0.0/16 to any via ${Inet}
${ipfw} add 310 deny ip from 10.195.0.0/16 to any via ${Inet}
${ipfw} add 311 deny ip from any to 10.2.0.0/16 via ${Inet}
${ipfw} add 312 deny ip from any to 10.195.0.0/16 via ${Inet}
###QoS
${ipfw} pipe 1 config bw 512Kbit/s queue 50kbytes
${ipfw} queue 1 config pipe 1 weight 5
${ipfw} queue 2 config pipe 1 weight 10
${ipfw} queue 3 config pipe 1 weight 45
${ipfw} queue 4 config pipe 1 weight 55
${ipfw} queue 5 config pipe 1 weight 95
${ipfw} queue 6 config pipe 1 weight 15
 
${ipfw} add 401 queue 5 tcp from ${Inet_ip} 22 to any via ${Inet}
${ipfw} add 402 queue 5 tcp from ${Inet_ip} 3389,5901 to any via ${Inet}
${ipfw} add 403 queue 4 udp from ${Inet_ip} 53 to any via ${Inet}
${ipfw} add 404 queue 4 udp from ${Inet_ip} 123 to any via ${Inet}
${ipfw} add 405 queue 3 tcp from ${Inet_ip} 25,110,43,143 to any via ${Inet}
${ipfw} add 406 queue 2 tcp from ${Inet_ip} 80 to any via ${Inet}
${ipfw} add 407 queue 1 tcp from ${Inet_ip} 20,21 to any via ${Inet}
${ipfw} add 408 queue 1 tcp from ${Inet_ip} 137-138,445 to any via ${Inet}
${ipfw} add 409 queue 6 icmp from ${Inet_ip} to any icmptypes 0,8,11 via ${Inet}
###
${ipfw} add 501 allow icmp from ${Inet_ip} to any icmptypes 0,8,11
${ipfw} add 502 allow tcp from ${Inet_ip} 53 to any via ${Inet}
${ipfw} add 502 allow udp from ${Inet_ip} 53 to any via ${Inet}
${ipfw} add 504 allow udp from ${Inet_ip} 123 to any via ${Inet}
${ipfw} add 505 allow tcp from ${Inet_ip} 20,21 to any  via ${Inet}
${ipfw} add 506 allow tcp from ${Inet_ip} 80 to any  via ${Inet}
${ipfw} add 507 allow tcp from ${Inet_ip} 25 to any via ${Inet}
${ipfw} add 508 allow tcp from ${Inet_ip} 22,23,3389,5901-5909 to any via ${Inet}
${ipfw} add 509 allow tcp from ${Inet_ip} 143 to any via ${Inet}
${ipfw} add 510 allow tcp from ${Inet_ip} 110 to any via ${Inet}
${ipfw} add 511 allow tcp from ${Inet_ip} 443 to any via ${Inet}
${ipfw} add 512 allow tcp from ${Inet_ip} 43,63 to any via ${Inet}
###admin_IP
${ipfw} add 513 allow ip from ${Inet_ip} to ${admins} 
 
${ipfw} add 601 divert 8668 ip from ${Local_ip}/24 to any out via rl0
${ipfw} add 602 divert 8668 ip from any to me in via ${Inet}
 
${ipfw} add 605 allow ip from any to any via lo0
${ipfw} add 605 deny ip from any to 127.0.0.1
${ipfw} add 605 deny ip from 127.0.0.1 to any
 
${ipfw} pipe 2 config bw 16KByte/s queue 12kbytes
 
${ipfw} add 701 pipe 2 all from any to ${Local_ip}/24  via ${Inet} not src-ip ${Local_ip},${Inet_ip}
${ipfw} add 702 pipe 2 all from ${Local_ip}/24 to any via ${Inet} not dst-ip ${Local_ip},${Inet_ip}
 
${ipfw} add 703 queue 5 tcp from any to ${Inet_ip} 22 via ${Inet}
${ipfw} add 703 queue 5 tcp from any to ${Inet_ip} 3389,5901 via ${Inet}
${ipfw} add 703 queue 4 udp from any to ${Inet_ip} 53 via ${Inet}
${ipfw} add 703 queue 4 udp from any to ${Inet_ip} 123 via ${Inet}
${ipfw} add 703 queue 3 tcp from any to ${Inet_ip} 25,110,43,143 via ${Inet}
${ipfw} add 703 queue 2 tcp from any to ${Inet_ip} 80 via ${Inet}
${ipfw} add 703 queue 1 tcp from any to ${Inet_ip} 20,21 via ${Inet}
${ipfw} add 703 queue 1 tcp from any to ${Inet_ip} 137-138,445 via ${Inet}
${ipfw} add 703 queue 6 icmp from any to ${Inet_ip} icmptypes 0,8,11 via ${Inet}
###
${ipfw} add 705 allow ip from any to ${Inet_ip} via ${Inet}
${ipfw} add 706 pass all from ${Inet_ip} to any via ${Inet}
${ipfw} add 707 pass all from any to ${Local_ip}/24 via ${Inet}
${ipfw} add 708 pass all from ${Local_ip}/24 to any via ${Inet}
${ipfw} add 709 pass all from any to ${Local_ip}/24 via ${Local}
${ipfw} add 710 pass all from ${Local_ip}/24 to any via ${Local}
${ipfw} add 711 allow all from any to any established
${ipfw} add 712 deny all from any to any
${ipfw} add 713 allow tcp from any to me 22 via rl0
${ipfw} add 714 allow tcp from me 22 to any via rl0

Последние строки, на всякий случай — не раз уже спасали по жизни, поэтому и тут на всякий случай 🙂

Данная конфигурация фаервола, спокойно отдает в мир все что находится на открытых портах, при этом ограничивая скорость на 512, и при закачке пользователей в локальной сети (дамашних пк), скорость режется до 128Кбит/сек.

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

http://noted.org.ua/1580


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

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

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

Add your comment now

Please note: JavaScript is required to post comments.