The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"ipfw очень нужна помощь"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [ Отслеживать ]

"ipfw очень нужна помощь"  
Сообщение от rb26dett (ok) on 28-Янв-09, 12:22 
Добрый день всем! не могу понять, где я не прав в настройке ipfw в freebsd 6.0
Ситуация такая - стоит ADSL модем, внутренний адрес- 192.168.1.1 (роутером), машина с фрей - 2 сетевые, одна - на модем ( адрес - 192.168.1.2), другая вовнутрь - 192.168.0.10, соответственно внутренняя сеть 192.168.0.0/24. Дальше стоит тестовая машина, которая должна в идеале начать выходить в нет через фрю. Адрес ее - пусть 192.168.0.20, шлюзом - 192.168.0.10, ДНС - ДНС провайдера, пусть xxx.xxx.xxx.xxx
ядро собрал с поддержкой ipfirewall и ipdivert

rc.conf:

defaultrouter="192.168.1.1"
gateway_enable="YES"
hostname="bla.bla"
ifconfig_rl0="inet 192.168.0.10 netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.1.2 netmask 255.255.255.0"
inetd_enable="YES"
natd_enable="YES"
natd_interface="rl1"
firewall_enable="YES"
firewall_script="/etc/firewall.sh"
firewall_logging="YES"
trafd_enable="YES"

firewall.sh:

#!/bin/sh

/sbin/ipfw -f flush
/sbin/ipfw add 50 allow all from any to any via lo
/sbin/ipfw add 100 divert natd all from 192.168.0.0/24 to any via rl1
/sbin/ipfw add 150 divert natd all from any to me via rl1
/sbin/ipfw add 200 allow all from me to any
/sbin/ipfw add 250 allow all from any to me
# понимаю, что вышеуказанное правило мягко говоря небезопасно, но тестовая машина даже
# так в инет не выходит, потом уже добавлять буду tcp 80,53, udp 53 и остальное по
# необходимости для машины с фрей, когда данную проблему решу
/sbin/ipfw add 300 allow all from any to any via rl0
# насколько я понимаю, это правило должно пускать внутренних юзеров куда угодно и по
# чему угодно

resolv.conf:

domain   bla
nameserver  xxx.xxx.xxx.xxx

И при всех этих настройках тестовая машина в интернет не выходит...и не пингует даже ничего внешнего. Все работает только при следующем содержании firewall.sh - (ну это и понятно)

#!/bin/sh

/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via rl1
/sbin/ipfw add allow all from any to any

Очень прошу помощи - что я не так сделал, и почему, если не сложно, заранее спасибо!

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

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


1. "ipfw очень нужна помощь"  
Сообщение от Andrew (??) on 28-Янв-09, 17:35 
Сдается мне, ошибка в этом правиле
"/sbin/ipfw add 100 divert natd all from 192.168.0.0/24 to any via rl1"

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

2. "ipfw очень нужна помощь"  
Сообщение от rb26dett (ok) on 29-Янв-09, 09:36 
упс, да, промахнулся... - будет ли правильно следущее - (одно правило вместо двух)
/sbin/ipfw add divert natd all from any to any via rl1   ?

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

3. "ipfw очень нужна помощь"  
Сообщение от mazzay on 29-Янв-09, 09:49 
>#!/bin/sh
>
>/sbin/ipfw -f flush
>/sbin/ipfw add 50 allow all from any to any via lo
>/sbin/ipfw add 100 divert natd all from 192.168.0.0/24 to any via rl1
>
>/sbin/ipfw add 150 divert natd all from any to me via rl1
>
>/sbin/ipfw add 200 allow all from me to any
>/sbin/ipfw add 250 allow all from any to me

приходящий пакет от внешнего ресурса натится, то есть меняется адрес получателя с внешнего адреса твоего интерфейса на адрес из внутренней подсети (правилом 150)
У нас получился пакет идущий с внешнего адреса на внутреннюю подсеть и он не соответствует ни одному правилу, поскольку пропускаются пакеты только с адресами получателя me (это 192.168.0.10 и 192.168.1.2)
если я не ошибся то нужно правило типа
add allow all from any to 192.168.0.0/24 (для теста пойдет)
плюс посмотрите куда упирается трафик командой ipfw show и почитайте вот эту статью
http://www.lissyara.su/?id=1536
особо обратив внимание на рисунок и зеленый текст на черном фоне

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

4. "ipfw очень нужна помощь"  
Сообщение от rb26dett (??) on 09-Апр-09, 09:46 
Доброго дня всем!!! К сожалению, не было возможности заниматься фрей почти все это время.
Что получилось на днях - почитал вышеуказанные ссылки - спасибо огромное, что имеем -


#!/bin/sh

/sbin/ipfw/ -q -f flush
/sbin/ipfw add allow all from any to any via lo
/sbin/ipfw add allow ip from 192.168.0.0/24 to 192.168.0.0/24 via rl0
/sbin/ipfw add divert natd ip from 192.168.0.0/24 to any out via rl1
/sbin/ipfw add divert natd ip from any to 192.168.1.2 in via rl1
/sbin/ipfw add allow ip from 192.168.1.2 to any out via rl1
/sbin/ipfw add allow ip from any to 192.168.1.2 in via rl1
/sbin/ipfw add allow udp from 192.168.0.0/24 to any 53 in via rl0
/sbin/ipfw add allow udp from 192.168.0.0/24 to any 53 out via rl1
/sbin/ipfw add allow udp from any 53 to 192.168.0.0/24 in via rl1
/sbin/ipfw add allow udp from any 53 to 192.168.0.0/24 out via rl0
/sbin/ipfw add allow tcp from 192.168.0.0/24 to any 80,53 in via rl0
/sbin/ipfw add allow tcp from 192.168.0.0/24 to any 80,53 out via rl1
/sbin/ipfw add allow tcp from any 80,53 to 192.168.0.0/24 in via rl1
/sbin/ipfw add allow tcp from any 80,53 to 192.168.0.0/24 out via rl0

# для начала здесь и ниже разрешил только dns и http ну и ниже - почту
или, немного сократив, насколько я это понял -


#!/bin/sh

/sbin/ipfw/ -q -f flush
/sbin/ipfw add 100 allow all from any to any via lo
/sbin/ipfw add 200 allow ip from any to any via rl0
/sbin/ipfw add 300 divert natd ip from 192.168.0.0/24 to any out via rl1
/sbin/ipfw add 350 divert natd ip from any to 192.168.1.2 in via rl1
/sbin/ipfw add 400 allow ip from 192.168.1.2 to any out via rl1
/sbin/ipfw add 450 allow udp from any to 192.168.1.2 in via rl1
/sbin/ipfw add 500 allow udp from 192.168.0.0./24 to any 53 out via rl1
/sbin/ipfw add 550 allow udp from any 53 to 192.168.0.0/24 in via rl1
/sbin/ipfw add 600 allow tcp from 192.168.0.0/24 to any 80,53,25,110 out via rl1
/sbin/ipfw add 650 allow tcp from any 80,53,25,110 to 192.168.0.0/24 in via rl1
/sbin/ipfw add 700 allow icmp from any to any

Все работает, наконец-то. Большая просьба - оцените, кому не трудно, конфиг. С точки зрения безопасности, в первую очередь. Правильно ли, если нет, то куда примерно копать.
Меня как-то настораживают правила типа 550, 650 - вроде выглядит как открытие портов снаружи вовнутрь, а не разрешение прохождения ответных пакетов.
И как в такой схеме будет выглядеть проброс порта,  - 4899, пусть, извне к любой машине из внутренней сети, пусть 192.168.0.3
Заранее благодарен, с нетерпением жду ответов.


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

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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