Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw rules

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9

Открыть новую тему     Написать ответ в эту тему

Pukite



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет, коллеги!
 
Имеем сервер с ип адресом a.b.c.сервер и компьютер-клиент с ип адресом a.b.c.клиент - необходимо, чтобы к 21-му порту мог подключаться только компьютер клиент.
 
ipfw add 400 reset tcp from any to a.b.c.сервер 21 in via rl0
ipfw add 410 allow tcp from a.b.c.клиент to a.b.c.сервер 21 in via rl0
 
К сожалению, не работает - что делаю не так?
 
 


 
ipfw - файервол FreeBSD
(постим полезную информацию)

Сравнение 3 Пакетных фильтров FreeBSD 5.3 (IPFW, PF, IPFILTER)
Настройка FireWall (ipfw) в FreeBSD
Пара готовых примеров
Подробный пример с коментами
http://www.bsdportal.ru/kb.php?mode=article&k=76 - Настройка ipfw для шлюза под управлением FreeBSD
http://www.asmodeus.com.ua/library/os/freebsd/ipfw.htm man ipfw на русском
 
 
Отдельно обсуждается:
FreeBSD + ipfw + port mapping
IPFW + Squid + перенаправление трафика
ipfw rules не сохраняются после reboot-a
PING - как корректно запретить (FreeBSD+ipfw)
FreeBSD 4.8 + DNS + ipfw + named.conf = режем  
трафик

FreeBSD + bridge + pppoe + ipfw

Всего записей: 1731 | Зарегистр. 21-09-2002 | Отправлено: 16:25 30-06-2003 | Исправлено: allein, 16:40 21-01-2009
jills

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wInuX
Все таки надеюсь, что не rc.conf, а rc.firewall ?

Всего записей: 37 | Зарегистр. 03-11-2003 | Отправлено: 14:10 25-11-2005
wInuX

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
да. уже поправил

Всего записей: 155 | Зарегистр. 19-05-2005 | Отправлено: 14:12 25-11-2005
Pukite



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
...

Всего записей: 1731 | Зарегистр. 21-09-2002 | Отправлено: 14:17 25-11-2005 | Исправлено: Pukite, 14:18 25-11-2005
jills

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 wInuX
 
А в эти параметры чего забивать?
iif="?"   # типа интерфейс? xl1 например?
inet="?" # а здесь чего писать?
imask="?" # маска сети что ли?
iip="?" # тут видимо ip адрес интерфейса?
 
 

Всего записей: 37 | Зарегистр. 03-11-2003 | Отправлено: 14:35 25-11-2005
wInuX

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

iif="?"  - это интерфейс. (например rl0)
inet="?"  - это номер сети (например 192.168.0.0)
imask="?" -это маска сети (например 255.255.255.0)
iip="?" это адрес интерфейса (например 192.168.0.1)

Всего записей: 155 | Зарегистр. 19-05-2005 | Отправлено: 14:46 25-11-2005
jills

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wInuX
Спасибо.
Дефолтовые правила действительно помогли.
Снаружи теперь ничего лишнего не видно.
Но вот кое-что не работает, а именно NAT, ICQ и почта на внешних серверах.
xl0 - LAN interface
xl1 - Internet interface
111.222.333.444 - real IP address
Мои правила по ipfw show такие:
00100    deny ip from 192.168.0.0/24 to any in recv xl1
00200    deny ip from 195.133.227.0/30 to any in recv xl0
00300    deny ip from any to 10.0.0.0/8 via xl1
00400    deny ip from any to 172.16.0.0/12 via xl1
00500    deny ip from any to 192.168.0.0/16 via xl1
00600    deny ip from any to 0.0.0.0/8 via xl1
00700    deny ip from any to 169.254.0.0/16 via xl1
00800    deny ip from any to 192.0.2.0/24 via xl1
00900    deny ip from any to 224.0.0.0/4 via xl1
01000    deny ip from any to 240.0.0.0/4 via xl1
01100    divert 8668 ip from any to any via xl1
01200    allow tcp from any to any established
01300    allow ip from any to any frag
01400    allow tcp from any to 111.222.333.444 25 setup
01500    allow tcp from any to 111.222.333.444 53 setup
01600    allow udp from any to 111.222.333.444 53
01700    allow udp from 111.222.333.444 53 to any
01800    allow tcp from any to 111.222.333.444 80 setup
01900    deny log tcp from any to any in recv xl1 setup
02000    allow tcp from any to any setup
02100    allow udp from 111.222.333.444 to any 53 keep-state
02200    allow udp from 111.222.333.444 to any 123 keep-state
65535    deny ip from any to any

Всего записей: 37 | Зарегистр. 03-11-2003 | Отправлено: 11:41 28-11-2005
wInuX

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Но вот кое-что не работает, а именно NAT, ICQ и почта на внешних серверах.  

а что тогда работает? :)
 
 
вроде все правильно.  
у тебя natd запущен?.  
а с самого сервера можешь зайти на аську или на почту?  
DNS на локальных компьютерах работает?
 
Добавлено:
и еще добавь в начала три правила для localhost
 
ipfw allow all from any to any via lo0
ipfw deny all from 127.0.0.0/8 to any  
ipfw deny all from any to 127.0.0.0/8

Всего записей: 155 | Зарегистр. 19-05-2005 | Отправлено: 11:55 28-11-2005
jills

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wInuX
Добавил правила для lo.
На локальной машине был прописан только внутренний адрес рутера.
В результате ресолвинг не работал.  
После добавления внешнего адреса, в качестве secondary ресолвинг запахал.
Сейчас вроде бы все заработало.
Большое спасибо!
 
 

Всего записей: 37 | Зарегистр. 03-11-2003 | Отправлено: 12:30 28-11-2005
Androon

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброй ночи. Трабла такая стоит фря на ней Но дени. Со стандартными правилами от Но дени авторизация не работает.

Всего записей: 1 | Зарегистр. 14-02-2006 | Отправлено: 00:19 15-02-2006
YuroN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
тякая проблема
Есть VPN сеть 10.10.10.0/24 в которую надо отдавать интернет через NAT.
Вроде сделал все прекрасно пингует, DNS, ася пашет, а вот HTTP не работает
прчем соединеие с портом устанавлевает и зависает на загрузке.
 
OS FreeBSD 4.9
конфиги
 
/etc/natd.conf

Код:
 
use_sockets yes
same_ports yes
unregistered_only yes
interface rl1
 

 
/etc/rc.conf

Код:
 
gateway_enable="YES"
firewall_enable="YES"
firewall_quiet="YES"
firewall_type="OPEN"
natd_enable="YES"
..............
...............
 

 
firewall.sh

Код:
 
 
# Internet
ETHER0=rl1
 
# local
ETHER1=rl0
LOOP=lo0
 
# Network addressing
SEG_LAN="192.168.1.0/24"
SEG_LOOP="127.0.0.1/24"
SEG_VPN="10.10.10.0/24"
INET_IP="интернет ап"
LOCAL_IP="192.168.1.112"
 
PRIV=1-1024
UNPRIV=1025-65535
 
ipfw add allow ip from any to any
ipfw add divert 8668 ip from any to ${INET_IP} via ${ETHER0} in
ipfw add divert 8668 ip from ${SEG_VPN} to any via ${ETHER0}
 
# HTTP & SSL  
ipfw add allow tcp from any to ${SEG_VPN} 80 via ${ETHER1}
ipfw add allow tcp from any to ${SEG_VPN} 443 in via ${ETHER1}
 
# DNS  
ipfw add allow tcp from any to ${SEG_VPN} 53
ipfw add allow udp from any to ${SEG_VPN} 53
 
# FTP  
ipfw add allow tcp from any to any 20-21 in via ${ETHER1}
 
# Dial-in VPN
ipfw add allow tcp from any to any 1723 in via ${ETHER1}
 
# SSH
ipfw add allow tcp from any to ${SEG_LAN} 22 in via ${ETHER1}
 
# pop3
ipfw add allow tcp from any to any 110 in via ${ETHER1}
ipfw add allow tcp from any to any 25  
 
# Deny and drop
ipfw add deny tcp from any to any ${PRIV} in via ${ETHER0}
ipfw add deny udp from any to any in via ${ETHER0}
ipfw add unreach port tcp from any to ${INET_IP} ${UNPRIV} in setup
 
 

 
что может быть не так?

Всего записей: 114 | Зарегистр. 13-05-2003 | Отправлено: 01:58 08-05-2006
X_Factor

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuroN

Цитата:
# HTTP & SSL  
ipfw add allow tcp from any to ${SEG_VPN} 80 via ${ETHER1}

 
попробуй так...
ipfw add allow tcp from any to ${SEG_VPN} 80
ipfw add allow tcp from any 80 to ${SEG_VPN}

Всего записей: 247 | Зарегистр. 23-01-2002 | Отправлено: 04:22 08-05-2006 | Исправлено: X_Factor, 04:23 08-05-2006
YuroN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
 
попробуй так...  
ipfw add allow tcp from any to ${SEG_VPN} 80  
ipfw add allow tcp from any 80 to ${SEG_VPN}
 

 
боюсь не помогло
даже все запреты поуберал всеровно не пашет
 
раньше все работало с такм правилом  
ipfw add divert 8668 all from any to any via ${ETHER0}
 
как только поменял на это - и тут начались проблемы с HTTP
ipfw add divert 8668 ip from any to ${INET_IP} via ${ETHER0} in  
ipfw add divert 8668 ip from ${SEG_VPN} to any via ${ETHER0}
 
У провайдера несколько каналов, что некоторые сайты работают с одного канала, а сдругого нет
и еще у его походу настроен у его прозрачный прокси сквид

Всего записей: 114 | Зарегистр. 13-05-2003 | Отправлено: 14:39 08-05-2006
X_Factor

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuroN
добавь правило для ведения записи в LOG-файл...  
 
1. удали эти правила
     ipfw add allow tcp from any to ${SEG_VPN} 80
     ipfw add allow tcp from any 80 to ${SEG_VPN}
 
2. добавь эти правила(тут просто стоит опция ведение лога)
     ipfw add allow log logamount 10000 tcp from any to ${SEG_VPN} 80
     ipfw add allow log logamount 10000 tcp from any 80 to ${SEG_VPN}
 
3. далее смотри LOG...# tail -Ff /var/log/security
    где пакеты на 80 или с 80 порта "затыкаются" и не проходят...
 
*** logamount 10000 - эта опция даст возможность вносить в LOG-файл больше записей,  
       чем было указано при компиляции ядра с опцией options       IPFIREWALL_VERBOSE_LIMIT=100
 

Всего записей: 247 | Зарегистр. 23-01-2002 | Отправлено: 04:44 09-05-2006 | Исправлено: X_Factor, 04:48 09-05-2006
YuroN



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
1. удали эти правила  
ipfw add allow tcp from any to ${SEG_VPN} 80  
ipfw add allow tcp from any 80 to ${SEG_VPN}  
 
2. добавь эти правила(тут просто стоит опция ведение лога)  
ipfw add allow log logamount 10000 tcp from any to ${SEG_VPN} 80  
ipfw add allow log logamount 10000 tcp from any 80 to ${SEG_VPN}  
 
3. далее смотри LOG...# tail -Ff /var/log/security  
где пакеты на 80 или с 80 порта "затыкаются" и не проходят.

 
Все сделал, запускаю бароузер ya.ru или что-то еще. и смотрю в логи
 

Код:
 
May  9 18:02:18 kckba /kernel: ipfw: 600 Accept TCP 72.232.29.238:80 10.10.10.2:2311 in via tun0
May  9 18:02:18 kckba /kernel: ipfw: 600 Accept TCP 72.232.29.238:80 10.10.10.2:2311 out via ng1
May  9 18:02:32 kckba /kernel: ipfw: 600 Accept TCP 212.42.64.8:80 10.10.10.2:2312 in via tun0
May  9 18:02:32 kckba /kernel: ipfw: 600 Accept TCP 212.42.64.8:80 10.10.10.2:2312 out via ng1
May  9 18:03:22 kckba /kernel: ipfw: 600 Accept TCP 72.232.29.238:80 10.10.10.2:2311 in via tun0
May  9 18:03:22 kckba /kernel: ipfw: 600 Accept TCP 72.232.29.238:80 10.10.10.2:2311 out via ng1
May  9 18:03:36 kckba /kernel: ipfw: 600 Accept TCP 212.42.64.8:80 10.10.10.2:2312 in via tun0
May  9 18:03:36 kckba /kernel: ipfw: 600 Accept TCP 212.42.64.8:80 10.10.10.2:2312 out via ng1
 

Непойму почему не работает с HTTP как надо
 
Сейчас настроил прозрачный прокси работает вроде. Или это не выход?

Всего записей: 114 | Зарегистр. 13-05-2003 | Отправлено: 19:10 09-05-2006
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите пожалуйста хватит ли для нормального функционирования DNS этих правил:
 

echo -n "Starting firewall..."
ipfw="/sbin/ipfw -q"
int_if="xl0"
ext_if="ed0"
int_ip="192.168.0.250"
ext_ip="192.168.1.253"
gate_ip="192.168.1.254"
int_net="192.168.0.0/24"
adm_ip="192.168.0.1,192.168.0.31"
dns_serv="xx.xx.xx.xx"

##### DNS
${ipfw} add 500 allow udp from ${ext_ip} to ${dns_serv} 53 out via ${ext_if} keep-state
${ipfw} add 510 allow udp from ${dns_serv} to ${ext_ip} 53 in via ${ext_if}
 
без keep-state не работает.
 
кто подскажет почему ? это только для UDP соединений ?

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 14:36 29-11-2006 | Исправлено: slech, 19:03 30-11-2006
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ксати подскажите как происходит вступление в силу изменений ?
т.е. я изменил файл конф фаервола и  он уже по ним смотрит ?

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 11:20 30-11-2006
squid



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
slech
нет, только изменить не достаточно
надо запустить этот файлык где прописаны правила

Всего записей: 185 | Зарегистр. 18-07-2004 | Отправлено: 09:51 01-12-2006
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
squid
понял спасибо.

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 16:48 01-12-2006
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ помогите
 
блин есть сететь и микротик смотрящий в инет  
 
Mikrotik
ext xx.xx.xx.xx
int 192.168.0.254/24   192.168.1.254/30
 
FreeBSD
ext 192.168.1.253/30
int 192.168.0.250
щас все с микротика получают нет, и фрюха то же с него, и все друг друга видят.
 
на фре поставил NeTAMS
пытаюсь настроить фаервол:
уже неделю парюсь и нивкакую

echo -n "Starting firewall..."
ipfw="/sbin/ipfw -q"
int_if="xl0"
ext_if="ed0"
int_ip="192.168.0.250"
ext_ip="192.168.1.253"
gate_ip="192.168.1.254"
int_net="192.168.0.0/24"
int_pref="192.168.0."
adm_ip="192.168.0.1,192.168.0.31"
dns_serv="217.26.150.5,217.26.150.4"
 
######################################################################
${ipfw} -f flush
${ipfw} add 100 allow all from any to any via lo0
${ipfw} add 200 deny all from any to 127.0.0.0/8
 
${ipfw} add 900 divert natd all from ${int_net} to any out via ${ext_if}
${ipfw} add 910 divert natd all from any to ${ext_ip} in via ${ext_if}
${ipfw} add 1000 allow all from any to any
${ipfw} add 1100 allow udp from any to any
 
Блин уже неделю парюсь. Рещил идти от простого.
Пытаюсь собрать минимально закрытую но работоспособную конфигу.
Домены не резолвятся. Почему ?
 
 
[s]Добавлено:

или DNS не перебрасывается и для того что бы работало надо поднять DNS на фре ?

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 18:37 05-12-2006 | Исправлено: slech, 18:59 05-12-2006
slech



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
родскажите пожалуйста
в каком порадке распологать правила ?
тут написано что:

Тут есть одно и очень простое правило: располагать правила для
 
IPFW в следующем порядке:
 
сначала идут инструкции deny и reject (если есть)  
потом divert  
потом allow на внутреннюю сетку(и)  
потом allow все остальное  
потом deny все, что осталось.  

 
И как быть с дивертами ?
2-а или один ?

01900    8    456 divert 8668 ip from 192.168.0.0/24 to any out via ed0
01910    2    168 divert 8668 ip from any to 192.168.1.253 in via ed0

пинги  не ходят с фрюхи наружу. резолвятся, но не ходят.
наружу пускает, т.е на порты цепляюсь, а пингов нету.
Если ставлю ipfw add 1899 allow icmp from any to any - то работает, как  только переношу за divert отключается.
 
Если ставлю между 2-мя дивертами, то у фри пинг есть, у машин настроенных на неё нету.
Если удаляю второй диверт то у фри есть у машин нету.

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 18:48 06-12-2006 | Исправлено: slech, 19:13 06-12-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw rules


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru