Статья про IPFW

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

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

Непрочитанное сообщение princeps » 2009-03-31 19:02:28

по поводу поста hizel: ipfw применяет к пакетам правила по мере увеличения их номеров. Т.е. в твоем случае сначала применялось 120, потом 8668. Если пакет подходит под какое-то правило, то оно применяется, после чего пакет выбрасывается из фаервола и следующие правила не применяются. Соответственно, у тебя пакеты попадали в 120-е правило и уходили, не добравшись до ната. в твоем случае ты запутал сам себя, поставив в конфиге правило №120 ниже по тексту, чем 8668. Кстати, ты бы юзал какие-нибудь кратные 100 номера, т.е. 100,200,300 и т.д., больше будет порядка.
При том выводе ipfw show, что ты показал, должен работать. Если не работает, опиши, как именно не работает.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Хостинговая компания 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/

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

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

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

princeps писал(а):по поводу поста hizel: ipfw применяет к пакетам правила по мере увеличения их номеров. Т.е. в твоем случае сначала применялось 120, потом 8668. Если пакет подходит под какое-то правило, то оно применяется, после чего пакет выбрасывается из фаервола и следующие правила не применяются. Соответственно, у тебя пакеты попадали в 120-е правило и уходили, не добравшись до ната. в твоем случае ты запутал сам себя, поставив в конфиге правило №120 ниже по тексту, чем 8668. Кстати, ты бы юзал какие-нибудь кратные 100 номера, т.е. 100,200,300 и т.д., больше будет порядка.
При том выводе ipfw show, что ты показал, должен работать. Если не работает, опиши, как именно не работает.
Ну вот поставил 00100 правило в начало в итоге вот что получается

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

router# ipfw show
00100   779    66234 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 92063 48622233 allow ip from any to any

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

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

Непрочитанное сообщение princeps » 2009-03-31 19:40:56

ты ничего не понял из того, что я написал. правилам divert дай номера 100 и 200, а этому свое аллоу ол фром ол 300 и расположи их в конфигурационном файле в порядке возрастания номеров. С отключенным-то работал интернет или нет?
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 19:53:01

princeps писал(а):ты ничего не понял из того, что я написал. правилам divert дай номера 100 и 200, а этому свое аллоу ол фром ол 300 и расположи их в конфигурационном файле в порядке возрастания номеров. С отключенным-то работал интернет или нет?
Вот что сделал

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

${FwCMD} add 100 divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add 200 divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} add 300 allow all from any to any via ${LanOut}
вот ipfw show

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

router# ipfw show
00100    67     3913 divert 8668 ip from 192.168.1.0/24 to any out via re1
00200     0        0 divert 8668 ip from any to xxx.xxx.xxx.xxx in via re1
00300   233    22036 allow ip from any to any via re1
65535 32013 17064985 allow ip from any to any
теперь так правильно?

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

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

Непрочитанное сообщение hizel » 2009-03-31 20:01:57

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

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

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

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

так правильно, работает оно у тебя?
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 20:16:54

hizel писал(а):если нат не работает в этом варианте , то неправильные настройки xxx.xxx.xxx.xxx или natd
Вот смотри что я поменял и что стало

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

${FwCMD} add 100 divert natd all from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add 200 divert natd all from any to ${NetIn}/${NetMask} in via ${LanOut}
${FwCMD} add 300 allow all from any to any via ${LanOut}

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

router# ipfw show
00100   112     8304 divert 8668 ip from 192.168.1.0/24 to any out via re1
00200    72     6328 divert 8668 ip from any to 192.168.1.0/24 in via re1
00300   404    37435 allow ip from any to any via re1
65535 49988 27473405 allow ip from any to any
Так начал работать natd или нет?

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

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

Непрочитанное сообщение princeps » 2009-03-31 20:57:56

astros писал(а):Так начал работать natd или нет?
откуда я знаю, это ты должен сказать, заработал у тебя инет в локале или нет. Так навскидку все правильно вроде.
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 21:06:03

princeps писал(а):
astros писал(а):Так начал работать natd или нет?
откуда я знаю, это ты должен сказать, заработал у тебя инет в локале или нет. Так навскидку все правильно вроде.
Думаю что заработал. Дальше что начинать делать???

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

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

Непрочитанное сообщение astros » 2009-04-01 3:08:45

Блин парни так получается что не re1 надо прописывать в правиле а tun0 (т.е PPPoE) через него же подключается в инет а не через re1. или я что то не то сказал?

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

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

Непрочитанное сообщение princeps » 2009-04-01 8:19:34

так работает или нет, ты не сказал
про tun я тебе не советчик - никогда как-то не довелось иметь дела с ppp на фре. Жди когда кто-нибудь знающий на твою тему внимание обратит. Попробуй по-всякому: этот конфиг с обычным белым адресом должен работать
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

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

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

Непрочитанное сообщение princeps » 2009-04-01 8:20:45

сорри, опять невнимательно твой пост читал. Так если заработал, то значит все правильно, разве нет?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

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

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

Непрочитанное сообщение astros » 2009-04-01 8:54:54

princeps писал(а):сорри, опять невнимательно твой пост читал. Так если заработал, то значит все правильно, разве нет?
Да думаю что нормально. Но вот теперь вопрос что дальше делать какие правила писать как я понял теперь нужно закрывать помоленьку иначе получается как большая огромная дыра в фаерволе моём если его можно назвать фаерволом ещё.

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

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

Непрочитанное сообщение princeps » 2009-04-01 9:32:19

astros писал(а):Да думаю что нормально.
Ты не уверен? Проверить не можешь что ли?
Для начала ты должен решить, что ты должен открыть, а что закрыть. В самом простом случае ты должен открыть наружу все, и закрыть снаружи все, кроме ответов на исходящие пакеты, кроме ssh, если ты удаленно снаружи сидишь. В статье Лиса описаны правила для простой конфигурации, там комментариями подписано, что конкретно они закрывают или открывают - выбирай для себя нужные.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

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

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

Непрочитанное сообщение astros » 2009-04-01 15:07:23

princeps писал(а):
astros писал(а):Да думаю что нормально.
Ты не уверен? Проверить не можешь что ли?
Для начала ты должен решить, что ты должен открыть, а что закрыть. В самом простом случае ты должен открыть наружу все, и закрыть снаружи все, кроме ответов на исходящие пакеты, кроме ssh, если ты удаленно снаружи сидишь. В статье Лиса описаны правила для простой конфигурации, там комментариями подписано, что конкретно они закрывают или открывают - выбирай для себя нужные.
Спасибо но думаю это не последний вопрос.

Аватара пользователя
brahmaparush
проходил мимо
Сообщения: 9
Зарегистрирован: 2009-06-11 11:49:09

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

Непрочитанное сообщение brahmaparush » 2009-06-18 11:09:38

Ребят, у меня вопрос: Как ограничить доступ к серверу средствами IPFW только с определённых сетей ?
У меня на серваке mpd5 крутится, и зная логин/пасс может подключиться любой из мира.
Собственно говоря вопрос:
Какие правила в IPFW нужно прописать, чтобы ППТП сессия подключалась только с определённых сетей ?
К примеру,
есть сервак 192.168.1.200

Есть сети, 192.168.40.0, 192.168.41.0, 192.168.42.0, 192.168.43.0 (типа мир :) )
Писать что-то типа

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

ipfw add 13 allow (ip?) from 192.168.40.0/255.255.255.0 to me
ipfw add 13 allow (ip?) from 192.168.41.0/255.255.255.0 to me
ipfw add 13 allow (ip?) from 192.168.42.0/255.255.255.0 to me
ipfw add 13 allow (ip?) from 192.168.43.0/255.255.255.0 to me
Так ?

Аватара пользователя
itux
мл. сержант
Сообщения: 112
Зарегистрирован: 2008-11-09 12:37:55
Откуда: Kemerovo
Контактная информация:

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

Непрочитанное сообщение itux » 2009-06-19 10:28:15

Немного от темы, но о насущем:
1) Стоит МакОС Серверная, на нем ipfw
2) В настройках /etc/nat/natd.conf.apple :

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

# This file is reserved for configuration automatically generated by the Server Admin app.
# Generated: 2009-06-19 07:34:42 +0800.
#
interface ppp0
enable_natportmap yes
alias_address ххх.ххх.ххх.ххх
dynamic no
log yes
log_denied no
deny_incoming no
use_sockets yes
same_ports yes
unregistered_only yes
reverse no
proxy_only no
clamp_mss yes
в файле /etc/nat/natd.plist :

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

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>alias_address</key>
        <string>ххх.ххх.ххх.ххх</string>
        <key>clamp_mss</key>
        <true/>
        <key>deny_incoming</key>
        <false/>
        <key>dynamic</key>
        <false/>
        <key>enable_natportmap</key>
        <true/>
        <key>interface</key>
        <string>ppp0</string>
        <key>log</key>
        <true/>
        <key>log_denied</key>
        <false/>
        <key>proxy_only</key>
        <false/>
        <key>reverse</key>
        <false/>
        <key>same_ports</key>
        <true/>
        <key>unregistered_only</key>
        <true/>
        <key>use_sockets</key>
        <true/>
</dict>
</plist>
В /etc/rc.local :

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

/usr/sbin/pppd plugin PPTP.ppp remoteaddress vpn.internet.beeline.ru logfile /var/log/ppp.log user userid@internet.beeline.ru password userpassword defaultroute usepeerdns persist maxfail 0
/usr/sbin/natd -f /etc/nat/natd.conf.apple <- [size=150]Как сделать проверку наличия ppp0 до отработки поднятия НАТа... иначе приходится повторно поднимать его[/size]
/sbin/route add 10.0.0.0/8 10.17.0.1
ИНЕТ РАЗДАЕТСЯ, А ЛОКАЛКА ПРОВА НЕ ДОСТУПНА ИЗ МОЕЙ ЛОКАЛКИ

вот ipfw show :
делался через оболочку сервака, потому может много мусора быть :(

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

pws:~ itux$ sudo ipfw show > ipfw
Password:
pws:~ itux$ cat ipfw
00001      12       732 allow udp from any 626 to any dst-port 626
00010    5182    776486 divert 8668 ip from any to any via ppp0
01000   79258  25475430 allow ip from any to any via lo0
01010       0         0 deny log logamount 1000 ip from any to 127.0.0.0/8
01020       0         0 deny log logamount 1000 ip from 224.0.0.0/4 to any in
01030       0         0 deny log logamount 1000 tcp from any to 224.0.0.0/4 in
12300    3728    630589 allow tcp from any to any established
12301       8       512 allow tcp from any to any out
12302      10       580 allow tcp from any to any dst-port 22
12302       0         0 allow udp from any to any dst-port 22
12303 4795575 359381625 allow udp from any to any out keep-state
12304       0         0 allow tcp from any to any dst-port 53 out keep-state
12304       0         0 allow udp from any to any dst-port 53 out keep-state
12305       0         0 allow udp from any to any in frag
12306       6       372 allow icmp from any to any icmptypes 8
12307       6       372 allow icmp from any to any icmptypes 0
12308      11      3707 allow udp from any to any dst-port 68
12309       0         0 allow udp from any to any dst-port 67
12310       0         0 allow tcp from any to any dst-port 123
12310       0         0 allow udp from any to any dst-port 123
12311       0         0 allow tcp from any to any dst-port 993
12312       4       192 allow tcp from any to any dst-port 995
12312       0         0 allow udp from any to any dst-port 995
12313       1        48 allow tcp from any to any dst-port 25
12313       0         0 allow udp from any to any dst-port 25
12314       0         0 allow udp from any to any dst-port 16384-16403
12315       0         0 allow tcp from any to any dst-port 5190
12315       0         0 allow udp from any to any dst-port 5190
12316       0         0 allow udp from any to any dst-port 5060
12317       0         0 allow tcp from any to any dst-port 5223
12318      14       840 allow tcp from any to any dst-port 5269
12319       0         0 allow tcp from any to any dst-port 7777
12320      17       888 allow tcp from any to any dst-port 80
12321      76      3648 allow tcp from any to any dst-port 443
12322     236     13216 allow icmp from any to any
12323       0         0 allow tcp from 10.0.0.0/8 to any established
12324       0         0 allow udp from 10.0.0.0/8 to any in frag
12325       0         0 allow udp from 10.0.0.0/8 to any out keep-state
12326       0         0 allow icmp from 10.0.0.0/8 to any
12327    3684    675389 allow gre from 10.0.0.0/8 to any
12328       0         0 allow tcp from 10.0.0.0/8 to any dst-port 1723
12329       0         0 allow icmp from 10.0.0.0/8 to any icmptypes 0
12330       0         0 allow icmp from 10.0.0.0/8 to any icmptypes 8
12331       0         0 allow tcp from 10.0.0.0/8 to any dst-port 53 out keep-state
12331       0         0 allow udp from 10.0.0.0/8 to any dst-port 53 out keep-state
12332       0         0 allow tcp from 10.0.0.0/8 to any out
12333       0         0 allow tcp from 10.0.0.0/8 to any dst-port 60001
12333       0         0 allow udp from 10.0.0.0/8 to any dst-port 60001
12334       0         0 allow udp from 10.0.0.0/8 to any dst-port 68
12335       0         0 allow udp from 10.0.0.0/8 to any dst-port 16384-16403
12336       0         0 allow tcp from 10.0.0.0/8 to any dst-port 5190
12336       0         0 allow udp from 10.0.0.0/8 to any dst-port 5190
12337       0         0 allow udp from 10.0.0.0/8 to any dst-port 5060
12338       0         0 allow tcp from 10.0.0.0/8 to any dst-port 7777
12339       0         0 allow tcp from 10.0.0.0/8 to any dst-port 5269
12340       0         0 allow tcp from 10.0.0.0/8 to any dst-port 5223
12341       0         0 allow ip from 192.168.1.0/24 to any via en1 keep-state
12342       0         0 allow udp from any 68 to any dst-port 67 via en1
12343       0         0 allow ip from 127.0.0.1 to any
12344    2252    325804 allow gre from 172.31.224.0/24 to any
12345       0         0 allow icmp from 172.31.224.0/24 to any
12346       0         0 allow icmp from 172.31.224.0/24 to any icmptypes 0
12347       0         0 allow icmp from 172.31.224.0/24 to any icmptypes 8
12348       0         0 allow tcp from 172.31.224.0/24 to any dst-port 1723
12349       0         0 allow tcp from 172.31.224.0/24 to any dst-port 53 out keep-state
12349       0         0 allow udp from 172.31.224.0/24 to any dst-port 53 out keep-state
65534     407     35449 deny log logamount 1000 ip from any to any
65535     320     22400 allow ip from any to any
И еще вопрос:
есть два интерфейса, ppp0 - PPTP соединение до Билайна и en0 - локальное соединение билайна, en1 - Моя локалка
как настроить в моем случае НАТ для доступа из локалки к двум сетям одновременно... получается пока только по одному из двух :st:
несу чушь, не дорого... звонить +7903.......