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

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

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки

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

zeliboba



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
С free работать начал недавно, успешно функционирует файл-сервер на samba, запущен IPFW, НО пока с одни правилом 100 allow ip from any to any.
Проблема, в том, что я не до конца понимаю назначения портов, т.е. какие для чего нужны, какие открыть, какие закрыть. Если открыть только 80 порт, типа для браузера, часть страниц открывается, часть нет, некоторые проги в локалке тоже начинают тупить.
Посоветуйте ссылочку (ки) для чайников, так что бы по русски и как в 5 классе : "для того что работала аська открывает порт 443" (или 433, не помню), хотя в qip стоит 5190. и т.д.
К примеру что бы принимать и отправлять почту, я так понимаю, не достаточно открыть 25 и 110, ведь еще нужно и 80 что бы на mail.ru зайти или я ошибаюсь. Может есть перечень, что часто используется и для чего и т.д. В общем нужно почитать, а вот инфы для начинающих я что то не нашел.

Всего записей: 319 | Зарегистр. 16-09-2004 | Отправлено: 15:25 04-08-2008
iltmpz

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кстати поддерживаю, тоже интересно бы почитать простую и понятную доку (что-то я таких не находил).
 
С портами есть некоторая тонкость: в отличие от винды, где файлволл обычно всегда пропускает исходящие соединения, в ipfw надо прописывать направление пакетов.
например, ipfw add allow tcp from any to any 80 не сработает, потому что есть запрос и ответ. Так вот запрос пройдет, а ответ отклонится.

Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 16:21 04-08-2008
AnDySs1

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
http://www.lissyara.su/?id=1536
http://www.opennet.ru/base/net/ipfw_guide.txt.html
http://www.unixdoc.ru/index.php?mode=2&podmode=1&arcicle_id=32

Всего записей: 1426 | Зарегистр. 04-11-2004 | Отправлено: 18:27 04-08-2008
strmaks

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zeliboba
а фряха работает как гейт или нет ?

Всего записей: 29 | Зарегистр. 09-08-2003 | Отправлено: 11:33 05-08-2008
zeliboba



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
в общем нужно что бы НАТ работал нормально и в будущем (как разберусь) узеров ущерблять - порносайты, некоторым только почта нужна будет, другим только аська и т.д.

Всего записей: 319 | Зарегистр. 16-09-2004 | Отправлено: 12:25 05-08-2008
ZaqwrKos

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

Цитата:
в общем нужно что бы НАТ работал нормально и в будущем (как разберусь) узеров ущерблять - порносайты, некоторым только почта нужна будет, другим только аська и т.д.

эо вам тогда скорее squid нужен а не ipfw

Всего записей: 611 | Зарегистр. 26-02-2007 | Отправлено: 13:41 05-08-2008
zeliboba



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

Всего записей: 319 | Зарегистр. 16-09-2004 | Отправлено: 15:03 05-08-2008
Ambal



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

Цитата:
почему, чем лучше?

Порносайты ущерблять удобнее.

----------
Виртуальный выделенный сервер на FreeBSD от 149р.

Всего записей: 229 | Зарегистр. 01-06-2004 | Отправлено: 11:10 07-08-2008 | Исправлено: Ambal, 11:11 07-08-2008
zeliboba



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Возможно, не спорю, не видел. Но я только начал с фрюхой разбираться и сказали с IPFW проще для начала.

Всего записей: 319 | Зарегистр. 16-09-2004 | Отправлено: 09:34 14-08-2008
ZaqwrKos

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zeliboba
ipfw работает по ip, а на одном IP может находиться куча доменов, как вариант может быть так, к примеру у вас активно пользуются почтой mail.ru и вы хотите закрыть доступ к my.mail.ru (предположим что ip у этих сайтов одинаковые, что получится с ipfw вы закроете одступ к my.mail.ru закрыв при это доступ и к mail.ru... в случае squid этого можно избежать + получить много всяких "вкусных плюшек" коих нет в ipfw.

Всего записей: 611 | Зарегистр. 26-02-2007 | Отправлено: 10:44 14-08-2008
zeliboba



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
т.е. вы хотите сказать, что нужно забыть про IPFW и начинать разбираться с squid? Может быть, опять не спорю, но получиться так, что мне на каждой клиентской машине придется прописывать ИП сервака в браузере, аське, БАТе и т.д.? Я же правильно понимаю, что squid это прокся или мне все таки нужно быдет оставить NATD?
 
Добавлено:
Я тут почитал и получается, что squid это просто прокся,что удобнее по сравнению с НАТ, это то что можно антивирь прикрутить, что бы все трафик через него шел, а IPFW все равно нужен. Просьба-скинте кто нибудь на pl-18@mail.ru или в асю файлик конфига для ipfw а я на его основе уже попытаюсь разобраться и свой слепить. Нужна конфига для обыденного случая- фри в роли шлюза на НАТ и у него 3 клиента: 1-почта(БАТ), аська, 2-http,аська, 3-все (админ). Все это пока тестовый режим для разбора полетов, а то в манах так написано,запутался уже.

Всего записей: 319 | Зарегистр. 16-09-2004 | Отправлено: 14:43 14-08-2008
ZaqwrKos

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в /etc/rc.comf
firewall_enable="YES"
firewall_type="SYMPLE"
natd_enable="YES"
natd_interface="rl0" (или как там он называется смотрящий в инет .... см ifconfig)
почитайте сслыки которые вам показали в начале, там вся информация есть, писать за вас. просто так никто не будет

Всего записей: 611 | Зарегистр. 26-02-2007 | Отправлено: 16:13 14-08-2008
Scare421

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ПОМОГИТЕ У меня ошибку выбивает  system.exe что делать ПОМОГИТЕ ПРОШУ ВАС !!!!!!!!!!!!!!!!!!!!!!!!!!! Помогите




оффтопик. /ShriEkeR/

Всего записей: 1 | Зарегистр. 23-03-2009 | Отправлено: 12:27 23-03-2009 | Исправлено: ShriEkeR, 13:02 14-07-2011
SysCommander

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

Цитата:
вы хотите сказать, что нужно забыть про IPFW и начинать разбираться с squid

 
Нужно забыть и про ipfw и про squid и почитать матчасть про стэк протоколов Tcp/Ip. Без этого нет смысла настраивать что-то конкретное.
 

Цитата:
Может быть, опять не спорю, но получиться так, что мне на каждой клиентской машине придется прописывать ИП сервака в браузере, аське, БАТе и т.д.?

 
Что только подтверждает мое предположение. Проблема настройки каждого клиента обходится прозрачным проксированием.
БАТ имеет мало отношения к HTTP.

Всего записей: 421 | Зарегистр. 20-07-2007 | Отправлено: 18:21 23-03-2009
slatim



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

Всего записей: 63 | Зарегистр. 29-11-2008 | Отправлено: 20:31 12-11-2009
zeliboba



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как сделать!
Нужно раздавать NAT только некоторым IP
Ну вот, к примеру кусок:
NetIn="192.168.0.0" #внутренняя сеть
GoodNat="192.168.0.22,192.168.0.15,192.168.0.69,192.168.0.6,192.168.0.223 и т.д.
ниже идет:
${FwCMD} add 110 divert natd all from ${GoodNat} to any out via em1
и НАТ получают только ИП перечисленные в ГудНат
но проблема в том, что (наверное) длина команды ограничена, т.к. при дописывании очередного нужного ИП фаер виснет напроч и инет кончается всем ))
Вижу 2 варианта:
1 - может есть какая то комбинация клавиш для ПЕРЕНОСА куска строки на следующую???
2 - написать что то типа вот этого:
GoodNat="/usr/local/etc/squid/111/GoodNat"
ну и в этот вайлик писать нужные ИП через энтер.
Но ни 1  ни 2 не получается.

Всего записей: 319 | Зарегистр. 16-09-2004 | Отправлено: 15:18 22-06-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zeliboba
Вы конечно молодец, что нашли старую тему по IPFW, а не создали новую, но тем не менее - Firewall *nix: iptables, ipfw, pf etc...
 
Добавлено:
Зачем ушли из темы по FreeBSD, если уже там задали вопрос???

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 16:27 22-06-2011
SpicS



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую! Вообщем на http://www.lissyara.su/articles/freebsd/tuning/ipfw_nat/ есть интересная статья.... ПО ней я собрал конфиг  для ipfw но так и не могу догнать...У меня есть интернет на сервере (пингует) правила загружаются без ошибок...но вот беда у клиентов нет интернета.... Очень хочется понять в чем я напутал?  

Код:
#!/bin/sh
 
# для начала вводим переменные - для нашего же удобства, чтобы не  
# вводить по сотне раз одно и то же, а потом искать почему не работает,
# и в итоге выяснять, что ошибся IP адресом в одном из правил
 
FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="alc0"            # внешний интерфейс
LanIn="ste0"            # внутренний интерфейс
IpOut="94.251.99.112" # внешний IP адрес машины
IpIn="192.168.1.199"   # внутренний IP машины
NetMask="24"            # маска сети (если она разная для внешней  
                        # и внутренней сети - придётся вводить ещё  
                        # одну переменную, но самое забавное, что  
                        # можно и забить - оставить 24 - всё будет  
                        # работать, по крайней мере я пробовал -  
                        # работаало на 4-х машинах, в разных сетях,  
                        # с разными масками - настоящими разными! но -  
                        # это неправильно.)
NetIn="192.168.1.0"    # Внутренняя сеть
 
# Сбрасываем все правила:
${FwCMD} -f flush
 
# Проверяем - соответствует ли пакет динамическим правилам:
${FwCMD} add check-state
 
# Разрешаем весь траффик по внутреннему интерфейсу (петле)
${FwCMD} add allow ip from any to any via lo0
# рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0  
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
 
# Вводим запреты:
# режем частные сети на внешнем интерфейсе - по легенде он у нас  
# смотрит в интернет, а значит пакетам этим браться неоткуда на нём.
# рубим частные сeти
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# рубим фрагментированные icmp
${FwCMD} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}
 
# разрешаем все установленные соединения (если они установились -  
# значит по каким-то правилам они проходили.)
${FwCMD} add allow tcp from any to any established
# разрешаем весь исходящий траффик (серверу-то в инет можно? )
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}
 
# разрешаем DNS снаружи (нам же надо узнавать IP по именам машин?)
${FwCMD} add allow udp from any 53 to any via ${LanOut}
 
${FwCMD} add allow udp from any to any 53 via ${LanOut}
# разрешаем UDP (для синхронизации времени - 123 порт)
${FwCMD} add allow udp from any to any 123 via ${LanOut}
# разрешаем ftp снаружи (оба правила - для пасивного режима)
# для узнавания портранджа по которому будет работать, лезем в  
#/usr/home/lissyara/>sysctl net.inet.ip.portrange.first
# net.inet.ip.portrange.first: 49152
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.last
# net.inet.ip.portrange.last: 65535
${FwCMD} add allow tcp from any to ${IpOut} 21 via ${LanOut}
 
#Можно изгалиться примерно так, если есть желание, но я предпочитаю руками
#${FwCMD} add allow tcp from any to ${IpOut} \
#`sysctl net.inet.ip.portrange.first | awk '{print $2}'`-\
#`sysctl net.inet.ip.portrange.last | awk '{print $2}'` via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
# разрешаем некоторые типы ICMP траффика - эхо-запрос,  
# эхо-ответ и время жизни пакета истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
# открываем снаружи 22 порт - если надо будет ходить на машину по ssh
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}
# разрешаем весь tcp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanIn}
# разрешаем весь udp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanIn}
# разрешаем весь icmp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanIn}
 
 
# а тут собственно файрволл и начался:
 
# настройка ната.
${FwCMD} nat 1 config log if ${LanIn} reset same_ports  redirect_port tcp 94.251.99.112:6881 6881 redirect_port udp 94.251.99.112:4444 4444 redirect_port tcp 94.251.99.112:25 25
 
# заварачиваем все что проходит через внешний интерфейс в нат
${FwCMD} add 10130 nat 1 ip from any to any via ${LanOut}
 
${FwCMD} add pipe 1 ip from ${IpOut} to ${NetIn}/${NetMask}
${FwCMD} pipe 1 config bw 100Mbit/s
 
${FwCMD} add pipe 2 ip from ${IpIn} to ${NetIn}/${NetMask}
${FwCMD} pipe 2 config bw 100Mbit/s
 
# `спецтруба` для мелкиз пакетов типа ack - ибо если они теряются
# то повторные пакеты будут большего размера
${FwCMD} add pipe 3 ip from any to any tcpflags ack iplen 0-128
${FwCMD} pipe 3 config bw 100Mbit/s
 
# Пропускаем следующие трубы - чтобы мелкие пакеты не лимитировались
# пропускать надо до первого нормального (после труб) правила.
# я ему присвоил жёсткий номер - файрволл раздаёт номера с последнего правила
# (если номер жёстко не задан) с интервалом определяемым переменной sysctl
# net.inet.ip.fw.autoinc_step - по дефолту - 100
${FwCMD} add skipto 39999 ip from any to any tcpflags ack iplen 0-128
 
# запускаем счётчик
i=4
# цикл по $i
while [ $i != 252 ]
do
# добавляем трубу для IP адреса
${FwCMD} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.1.${i}
# проверяем - часом не мой ли это IP
if [ $i -eq 13 -o $i -eq 222 ]
then
# мой инет ))
${FwCMD} pipe $i config bw 100Mbit/s
else
# не мой IP - режем скорость
${FwCMD} pipe $i config bw 64000bit/s
fi
# увеличиваем $i на единичку
i=$(($i+1))
done
 
# проверяем временные правила (перед этим правилом возврщаются мелкие
# пакеты в файрволл) :
${FwCMD} add 40000 check-state
 
# боимся непонятного
${FwCMD} add 65534 deny all from any to any
 

 
Буду крайне признателен за ответ...У меня подозрения что косяк гдето в трубах.... ???

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 22:49 12-07-2011
SpicS



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

Всего записей: 11 | Зарегистр. 14-01-2010 | Отправлено: 10:25 15-07-2011
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Операционные системы » UNIX » IPFW для чайников


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru