Статья про IPFW

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-30 12:30:50

princeps писал(а):
bekhterev писал(а):то и демон натд надо поднимать с соответствующими параметрами.
Я выскажусь в пользу кернел ната. Топикстартер, не читай, это я для бехтерева, а то запутаешься вконец :)
bekhterev писал(а): Если нат на динамическом интерфейсе, то и демон натд надо поднимать с соответствующими параметрами.
Я что-то в его конфигах вообще нигде динамического интерфейса не увидел, только сетевые карты. Может быть проблема не в фаерволе, а в подключении по pppoe?
Подключение нормальное. Вы скажите с чего начать и в какую сторону идти. Что для начала показать какие логи и т.д или какое правило поставить.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-30 13:43:26

astros писал(а):Подключение нормальное.
Как ты это узнал? С отключенным фаерволом работает интернет на самом шлюзе?
astros писал(а):Вы скажите с чего начать и в какую сторону идти
1) Перекомпилировать ядро с поддержкой ipfw. Это ты уже сделал.
2) Добавить в rc.conf gateway_enable="YES"
3) Написать конфигурационный файл для фаера в котором сделать nat и правило allow всем.
Для начала хватит, потом будем дальше смотреть.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 2:45:28

princeps писал(а):
astros писал(а):Подключение нормальное.
Как ты это узнал? С отключенным фаерволом работает интернет на самом шлюзе?
astros писал(а):Вы скажите с чего начать и в какую сторону идти
1) Перекомпилировать ядро с поддержкой ipfw. Это ты уже сделал.
2) Добавить в rc.conf gateway_enable="YES"
3) Написать конфигурационный файл для фаера в котором сделать nat и правило allow всем.
Для начала хватит, потом будем дальше смотреть.
Как как очень просто во первых у меня сейчас в ядре сделано

Код: Выделить всё

IPFIREWALL_DEFAULT_TO_ACCEPT
в rc.conf прописано уже давно gateway_enable="YES" фаервол как таковой он отключен т.е при перезагрузки действует правило только

Код: Выделить всё

IPFIREWALL_DEFAULT_TO_ACCEPT
только позже я включаю сам фаервол ручками что бы он мне всё сразу не отключал. так как работаю удалённо через путти.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 12:01:27

astros писал(а):в rc.conf прописано уже давно gateway_enable="YES" фаервол как таковой он отключен т.е при перезагрузки действует правило только
Если фаервол при загрузке отключен, то никакое правило не действует, так как он отключен. Чтоб его включить, нужно в /etc/rc.conf добавить:

Код: Выделить всё

gateway_enable="YES"
Когда он отключен интернет есть на самом шлюзе и в локальной сети?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 12:07:39

princeps писал(а):
astros писал(а):в rc.conf прописано уже давно gateway_enable="YES" фаервол как таковой он отключен т.е при перезагрузки действует правило только
Если фаервол при загрузке отключен, то никакое правило не действует, так как он отключен. Чтоб его включить, нужно в /etc/rc.conf добавить:

Код: Выделить всё

gateway_enable="YES"
Когда он отключен интернет есть на самом шлюзе и в локальной сети?
Вот что сейчас у меня в rc.conf

Код: Выделить всё

font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
gateway_enable="YES"
defaultrouter="xxx.xxx.xxx.xxx"
hostname="router.local.net"
ifconfig_re0="inet 192.168.1.1 netmask 255.255.255.0"
keymap="ru.koi8-r"
keyrate="fast"
linux_enable="YES"
mousechar_start="3"
moused_enable="YES"
scrnmap="koi8-r2cp866"
sshd_enable="YES"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="pppoe"
ppp_user="root"
ppp_nat="YES"
sendmail_enable="NONE"
firewall_enable="YES"
firewall_script="/usr/local/etc/firewall/firewall"
#firewall_type="start"
firewall_logging="YES"
firewall_quiet="YES"
natd_enable="YES"
natd_interface="re1"
natd_flags="-m -u"
но почему то незагружается фаер. Может что то не дописал в rc.conf???

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 12:46:54

/usr/local/etc/firewall/firewall - этот файл существует?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 12:47:58

В предыдущем посте опечатался, я имел в виду

Код: Выделить всё

firewall_enable="YES"
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 13:56:14

princeps писал(а):/usr/local/etc/firewall/firewall - этот файл существует?
Да. Я его делал запускающим

Код: Выделить всё

#touch firewall
#chmod 700 firewall

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 14:10:12

его содержимое покажи
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 14:12:20

princeps писал(а):его содержимое покажи

Код: Выделить всё

#!/bin/sh

#первый параметр к скрипту это start|stop|reload

#разрешаем задать путь к ipfw
if [ -n "${2}" ]; then
  fwcmd=${2}
else
  fwcmd="/sbin/ipfw" #если ничего не задали
fi

workDir="/usr/local/etc/firewall"

start () {

#This rule set are independed. So run it first. Загружаем файл с набором каналов
 . $workDir/f-pipes.ipfw

#We wanna count something??? Файл с набором коунтеров
 if [ -f $workDir/f-count.ipfw ]; then
  . $workDir/f-count.ipfw
 fi

#Файл с набором по умолчанию
 if [ -f /$workDir/f-defaults.ipfw ]; then
     num=00
     . $workDir/f-defaults.ipfw
 fi

#Интерфейс (внутренняя сеть), re0 имеет нумерацию на 10000, поэтому num = 10
 num=10
 . $workDir/f_re0
#Интерфейс (инет), re1 имеет нумерацию на 11000, поэтому num = 11
 num=11
 . $workDir/f_re1
#Интерфейс tun0 имеет нумерацию на 12000, поэтому num = 12
# num=12
# . $workDir/f_tun0

#Обратите внимание наличие точки и пробела в комманде  ". $workDir/f_tun0" обязательно. Без них работать ничего не будет. This rule must be runned last to be the last record in
#по умолчанию весь трафик идет на 65000 правила. Nо умолчанию дропаем всё и пишем в лог
 #${fwcmd} add 9999 skipto 65000 all from any to any
 #${fwcmd} add 65534 deny log all from any to any
}

#удаляем все правила, пайпы, очереди
stop () {
 ${fwcmd} -f flush
 ${fwcmd} -f pipe flush
 ${fwcmd} -f queue flush
}

#Разрешаем работу обратной петли. правило 99!
setup_loopback () {
############
# Only in rare cases you want to change these rules
 ${fwcmd} add 99 pass all from any to any via lo0
 ${fwcmd} add 99 deny all from any to 127.0.0.0/8
 ${fwcmd} add 99 deny ip from 127.0.0.0/8 to any
}

#Статистика перезапуска файрвола
echo `date` >> /etc/reboot

case ${1} in
start)
    setup_loopback
    start
    ;;
stop)
    stop
    ;;
reload)
    stop
    setup_loopback
    start
    ;;
*)
    echo "Usage: `basename ${0}` { start | stop | reload& } "
    echo "WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!"
    echo "Don't foget to add '&' if you reload the firewall remoutly"
    ;;
esac
если я раскомментирую вот это

Код: Выделить всё

#${fwcmd} add 65534 deny log all from any to any
то он сразу блочит весь инет

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 15:01:54

Убери все, оставь только настройки ната и allow all from all
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 15:17:19

princeps писал(а):Убери все, оставь только настройки ната и allow all from all
а что убирать то

Код: Выделить всё

#${fwcmd} add 9999 skipto 65000 all from any to any
#${fwcmd} add 65534 deny log all from any to any
они и так закоментены.
в файл f_re1

Код: Выделить всё

${fwcmd} add ${num}901 allow all from any to any via ${iface}
вписал.

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 15:24:22

у тебя там какой-то бешеный скрипт, с проверкой условий и т.п. Не стоит начинать с таких конфигов. Сделай сначала самый простой, потом будешь усложнять.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 15:31:30

princeps писал(а):у тебя там какой-то бешеный скрипт, с проверкой условий и т.п. Не стоит начинать с таких конфигов. Сделай сначала самый простой, потом будешь усложнять.
да ничего бешенного нет, вот статья по которой сделал. http://kes.net.ua/softdev/advanced_firewall.html, А насчёт простого типа этого пойдёт

Код: Выделить всё

#!/bin/sh

ipwd add 100 allow all from any to any via re1

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 15:50:59

Я смотрел эту статью, нах ее пока, настроишь несколько шлюзов с ipfw, будешь делать по ней.
К тому, что ты написал, надо еще добавить правила nat'а, иначе компы из внутренней сети не смогут попасть в интернет. Кроме того, сразу объяви переменные с используемыми сетевыми интерфейсами и ip-адресами, как это сделано в статье лиса, которую я тебе вначале кинул. Так тебе проще будет.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 16:11:27

Так?

Код: Выделить всё

#!/bin/sh

FwCMD="/sbin/ipfw"
LanOut="re1"
LanIn="re0"
IpOut="xxx.xxx.xxx.xxx"
IpIn="192.168.1.1"
NetMask="24"
NetIn="192.168.1.0"

${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush

${FwCMD} add 8668 divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add 8668 divert natd ip from any to ${IpOut} in via ${LanOut}

${FwCMD} add 120 allow all from any to any via re1

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 16:55:44

да, можно так. Но в этом случае тебе надо будет дописать в rc.conf:

Код: Выделить всё

natd_enable="YES"
и создать файл /etc/natd.conf. Он у лиса в самом конце статьи есть.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 17:06:56

princeps писал(а):да, можно так. Но в этом случае тебе надо будет дописать в rc.conf:

Код: Выделить всё

natd_enable="YES"
и создать файл /etc/natd.conf. Он у лиса в самом конце статьи есть.
если ты про эту статью http://www.lissyara.su/?id=1127 то у меня давно в rc.conf стоит

Код: Выделить всё

natd_enable="YES"

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 17:12:55

тогда норм. Еще /etc/natd.conf настрой и пробуй. Если не получается, вывод ipfw show - сюда
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 17:18:36

princeps писал(а):тогда норм. Еще /etc/natd.conf настрой и пробуй. Если не получается, вывод ipfw show - сюда
извени а как настроить натд???
что там писать то?

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение princeps » 2009-03-31 18:27:04

а похоже, что в /etc/natd.conf ничего менять не надо. Вот из статьи про настройку натд (все в /etc/rc.conf)
natd_enable="YES" # собственно запуск natd
natd_interface="re1" # интерфейс на котором он будет работать (тот,
# который смотрит в инет)
natd_flags="-m -u" # флаги :
# -u - транслировать только адреса частных сетей
# т.е. по RFC 1918:
# 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16
# -m - попробовать оставить тот же номер порта что и был,
# с этим флагом протоколы, типа RPC лучше пашут.
я просто давно им не пользовался, со времен релиза 7.0 кернел нат юзаю.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 18:31:07

princeps писал(а):а похоже, что в /etc/natd.conf ничего менять не надо. Вот из статьи про настройку натд (все в /etc/rc.conf)
natd_enable="YES" # собственно запуск natd
natd_interface="re1" # интерфейс на котором он будет работать (тот,
# который смотрит в инет)
natd_flags="-m -u" # флаги :
# -u - транслировать только адреса частных сетей
# т.е. по RFC 1918:
# 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16
# -m - попробовать оставить тот же номер порта что и был,
# с этим флагом протоколы, типа RPC лучше пашут.
я просто давно им не пользовался, со времен релиза 7.0 кернел нат юзаю.
А всё равно не работает вот ipfw show

Код: Выделить всё

router# ipfw show
00120    554    86650 allow ip from any to any via re1
08668      0        0 divert 8668 ip from 192.168.1.0/24 to any out via re1
08668      0        0 divert 8668 ip from any to xxx.xxx.xxx.xxx in via re1
65535 163142 82824853 allow ip from any to any

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Статья про IPFW

Непрочитанное сообщение hizel » 2009-03-31 18:39:55

вы 00120 правилом не пускаете пактики в нат, а выплевываете их
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 18:41:56

hizel писал(а):вы 00120 правилом не пускаете пактики в нат, а выплевываете их
поподробней что тогда надо писать ??? или правило 00120 убрать?

astros
мл. сержант
Сообщения: 72
Зарегистрирован: 2009-03-26 16:54:42
Откуда: г.Чита
Контактная информация:

Re: Статья про IPFW

Непрочитанное сообщение astros » 2009-03-31 18:53:33

Закоментил правило 00120 получается вот что
ipfw show

Код: Выделить всё

router# ipfw show
08668    21    1102 divert 8668 ip from 192.168.1.0/24 to any out via re1
08668     0       0 divert 8668 ip from any to xxx.xxx.xxx.xxx in via re1
65535 13516 7707389 allow ip from any to any