Код: Выделить всё
# Проверка статуса для лимитов
ipfw add 1 check-state
# Локалхост
ipfw add 5 allow ip from any to any via lo0
# Запрет обращения к 127/8
ipfw add 6 deny ip from any to 127.0.0.0/8
ipfw add 7 deny ip from 127.0.0.0/8 to any
# Запрет через первую емку ко 2ой и наоборот
ipfw add 8 deny ip from any to ${cl}, ${proxy1} in via em0
ipfw add 9 deny ip from any to ${me}, ${proxy1} in via em2
# Блок по первой таблице
ipfw add 10 deny ip from table\(1\) to any
# Разрешение всего по второй таблице
ipfw add 11 allow ip from table\(2\) to any
# Блок мультикаста
ipfw add 101 deny ip from any to 240.0.0.0/4 in via em0
# Разрешение траффика от системы
ipfw add 102 allow ip from me to any
# Разрешение любого траффика на внутренней сети
ipfw add 1003 allow ip from any to any via em1
# Запрет фрагментированного ICMP
ipfw add 103 deny icmp from any to any frag in via em0
# Разрешение определенного icmp
ipfw add 104 allow icmp from any to any icmptypes 0,8,11 in via em0
# Запрет оставшегося icmp
ipfw add 105 deny icmp from any to any in via em0
# Правила для 80 порта
ipfw add 300 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags syn,!fin,!ack,!psh,!rst,!urg
ipfw add 301 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,!fin,ack,!psh,!rst,!urg
ipfw add 302 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,!fin,ack,psh,!rst,!urg
ipfw add 303 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,fin,ack,!psh,!rst,!urg
ipfw add 304 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags syn,!fin,ack,!psh,!rst,!urg
ipfw add 305 skipto 900 tcp from any to ${me} dst-port 80 in via em0 tcpflags !syn,!fin,!ack,!psh,rst,!urg
ipfw add 899 deny tcp from any to ${me} dst-port 80 in via em0
# Лимит кол-ва IP
ipfw add 900 skipto 950 tcp from any to ${me} dst-port 80 in via em0 limit src-addr 5
ipfw nat 10 config if em0 redirect_port tcp ${proxy1}:80 80
ipfw add 950 nat 10 tcp from ${me} 80 to any
ipfw add 960 nat 10 tcp from any to any
# Разрешение 22 порта
ipfw add 1000 allow ip from any to me dst-port 22
#Запрет оставшегося
ipfw add 65534 deny ip from any to any