The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Тематический каталог: Настройка FireWall (ipfw) в FreeBSD (freebsd ipfw firewall), auto_topic (?), 26-Сен-03, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


12. "Настройка FireWall (ipfw) в FreeBSD (freebsd ipfw firewall)"  +/
Сообщение от Bananemail (?), 02-Июн-05, 17:53 
Гы :) Тема еще актуальна. Я как раз почти доделал свою переделку - ибо такая схема фиревола крайне гибкая, а мне дома подфартила локалка с интернетом через VPN, и вот таким способом очень удобна кидать запросы на разные natd, рулить трубы и делать гадости пользователям :) Помню как мучался с этой схемой и ничего не выходило. А тут жизнь заставила.. Собсно вот оно. Рабочее. ep0 - внешний интерфейс, rl0 - внутренний. Дабы пользователи имеющие адресок принадлежащий внутренней сети, могли печатать через принтспулер на самбе добавленно соответствующее правило ДО правил индивидуального допуска. Повторяю - это недоделка, но недоделка не самая небезопасная. В днс и сквиде свои допуски.


#!/bin/sh
ournet="192.168.0.0/24"
ourprefix="192.168.0"
ipnet="xxx.xxx.xxx.xxx/24"
ipout="xxx.xxx.xxx.xxx"
ifout="ep0"
ifuser="rl0"
# CLEAR RULES
ipfw -q flush
# BEGIN FIREWALLING
ipfw add 10 check-state
# START DENYING
ipfw add 11 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
ipfw add 17 reject ip from ${ournet} to any in via ${ifout}
ipfw add 19 deny tcp from any to any 137,138,139,445 via ${ifout}
ipfw add 20 deny udp from any to any 137,138,139,445 via ${ifout}
ipfw add 21 deny ip from 69.134.205.181 to any
ipfw add 22 deny ip from any to 69.134.205.181
# THIS MUST BE
ipfw add 70 allow all from any to any via lo
# NETBIOS
ipfw add 71 allow udp from me to any 137,138 out via ${ifuser}
ipfw add 72 allow udp from any 137,138 to any out via ${ifuser}
ipfw add 73 allow tcp from me to ${ournet} 139,445 out via ${ifuser}
ipfw add 74 allow tcp from me 139,445 to ${ournet} out via ${ifuser}
ipfw add 75 allow udp from me to any 137,138 in via ${ifuser}
ipfw add 76 allow udp from any 137,138 to any in via ${ifuser}
ipfw add 77 allow tcp from ${ournet} to me 139,445 in via ${ifuser}
ipfw add 78 allow tcp from ${ournet} 139,445 to me in via ${ifuser}
# ALLOW DNS
ipfw add 80 allow udp from me to any 53 keep-state
ipfw add 81 allow udp from any to me 53 keep-state
# ALLOW NTP
ipfw add 85 allow ip from 195.2.64.5 to me via ${ifout}
ipfw add 86 allow ip from me to 195.2.64.5 via ${ifout}
# SQUID
ipfw add 250 fwd 127.0.0.1,3128 tcp from ${ournet} to any 80,443 out via ${ifout}
# FROX
ipfw add 251 fwd 127.0.0.1,2121 tcp from ${ournet} to any 21 out via ${ifout}
# NATD INTERNET
ipfw add 300 divert natd ip from ${ournet} to any out via ${ifout}
ipfw add 400 divert natd ip from any to ${ipout} in via ${ifout}
#------------------ USER SECTION ----------------------------
# USER 1
ipfw add 1002 allow ip from ${ourprefix}.4 to any in via ${ifuser}
ipfw add 1003 allow ip from any to ${ourprefix}.4
# USER 2
ipfw add 1004 allow ip from ${ourprefix}.123 to any in via ${ifuser}
ipfw add 1005 allow ip from any to ${ourprefix}.123
#------------------ OUT SECTION -----------------------------
ipfw add 1410 allow ip from ${ipout} to any out via ${ifout}
ipfw add 1400 allow ip from any to ${ipout} in keep-state via ${ifout}
# DENY BROADCASTS WITHOUT LOGGING
ipfw add 2999 deny all from any to 255.255.255.255 via ${ifout}
# DENY ANYTHING ELSE WITH LOGGING
ipfw add 3000 deny log ip from any to any

Ответить | Правка | Наверх | Cообщить модератору

14. "Настройка FireWall (ipfw) в FreeBSD (freebsd ipfw firewall)"  +/
Сообщение от Bananemail (?), 13-Сен-05, 22:23 
Мучался тут... если долго.
Почитал оригинал статьи еще. У автора пара недочетов в скрипте. Выкладываю рабочий вариант. У меня на роутере стоит ntp сервер, dns сервер (кэширующий всего лишь), squid на порту 3129, mathopd (small http sever) ради банерорезки со статистикой на порту 8000, vsftpd на порту 2121 смотрящий и внутрь и в наружу. Natd запущен с ключами -s -u, в сквиде разрешены запросы от 192.168.0.0/24 То же самое в DNS сервере. Если не будет правила 1500, пакеты из natd пойдут прямиком на правило 3000, но сквид работать будет без вопросов. Вроде пояснил.

#!/bin/sh
ournet="192.168.0.0/24"
ourprefix="192.168.0"
ipout="xx.x.xx.xx"
ifout="ep0"
ifuser="rl0"
# CLEAR RULES
ipfw -q flush
# BEGIN FIREWALLING
ipfw add 10 check-state
# DENY PART I
ipfw add 11 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
ipfw add 12 reject ip from ${ournet} to any in via ${ifout}
ipfw add 13 deny all from any to 255.255.255.255 via ${ifout}
ipfw add 14 deny all from any to 255.255.255.255 via ${ifuser}
ipfw add 16 deny udp from any to any 137,138 via ${ifout}
# THIS MUST BE
ipfw add 100 allow all from any to any via lo
ipfw add 101 allow ip from me to any keep-state via ${ifout}
#----------------- FOREIGN IN --------------------------------
# OUTSIDE DNS
ipfw add 121 allow udp from xx.x.x.x to me 53 in via ${ifout}
# OUTSIDE FTP
ipfw add 122 fwd 127.0.0.1,2121 tcp from any to me 20,21 in via ${ifout}
#----------------- LOCAL SECTION ----------------------------
# LOCAL DNS
ipfw add 150 allow udp from ${ournet} to me 53 in via ${ifuser}
# LOCAL NTP
ipfw add 151 allow udp from ${ournet} to me 123 in via ${ifuser}
# LOCAL FTP
ipfw add 152 fwd 127.0.0.1,2121 tcp from ${ournet} to me 20,21 in via ${ifuser}
# LOCAL HTTP
ipfw add 153 fwd 192.168.0.3,8000 tcp from ${ournet} to me 80 via ${ifuser}
#----------------- FORWARD SECTION -------------------------
# SQUID
ipfw add 299 fwd 127.0.0.1,3129 tcp from ${ournet} to any 80,443 out via ${ifout}
# NATD
ipfw add 300 divert natd all from any to any via ${ifout}
#------------------ USER SECTION ----------------------------
#ipfw add 1000 allow ip from any to ${ournet}
# MIROSLAV
ipfw add 1002 allow ip from ${ourprefix}.5 to any in via ${ifuser}
ipfw add 1003 allow ip from any to ${ourprefix}.5
# BANANMAC
ipfw add 1004 allow ip from ${ourprefix}.11 to any in via ${ifuser}
ipfw add 1005 allow ip from any to ${ourprefix}.11
# NOTEBOOK
ipfw add 1006 allow ip from ${ourprefix}.84 to any in via ${ifuser}
ipfw add 1007 allow ip from any to ${ourprefix}.84
# TEST PC
ipfw add 1008 allow ip from ${ourprefix}.10 to any in via ${ifuser}
ipfw add 1009 allow ip from any to ${ourprefix}.10
#--------------------------------------------------------------
# NATD OUT
ipfw add 1500 allow ip from ${ipout} to any out via ${ifout}
# DENY ANYTHING ELSE
ipfw add 3000 deny ip from any to any

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру