Конфиг PF.CONF

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
sam1
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-11-21 10:49:18

Конфиг PF.CONF

Непрочитанное сообщение sam1 » 2008-11-21 16:25:24

Доброе время суток
Уважаемые гуру

OS Freebsd 7

С миру по нитке собрал конфиг а работать не хочет не могу понять почему.
Что может быть подскажите.
Спасибо

Что проходит
клиен -> ping на локальный ip 172.16.1.1 проходит. (freebsd)
клиен -> ping на внешний ip 192.168.1.250 проходит. (freebsd)
Пинги с Freebsd во внешний мир идут нормально. (на провайдера)

КОНФИГ

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

ext_if  = "xl0"
int_if  = "xl1"
lan_net = "172.16.1.0/24"

table <firewall> const { self }

set skip on lo0

scrub in all

block all

antispoof quick for $int_if inet
block return in quick on $int_if proto tcp from ! 172.16.1.2 to $int_if port ssh flags S/SA

pass in  on $int_if from $lan_net to any
pass out on $int_if from any to $lan_net
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state
pass in log on $ext_if proto tcp from any to ! <firewall>   port ssh flags S/SA synproxy state

Хостинговая компания 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: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2008-11-21 16:30:20

А как именно не хочет работать?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

sam1
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-11-21 10:49:18

Re: Конфиг PF.CONF

Непрочитанное сообщение sam1 » 2008-11-21 16:52:35

princeps писал(а):А как именно не хочет работать?
Доброе время суток
princeps

С клиента не выпускает в инет не пинг не трасет не проходит Хотя все интерфейсы с клиента и int_if и ext_if пингуются.

на клиенте 172.16.1.2
шлюз на 172.16.1.1 на локальный ip Freebsd

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2008-11-21 17:35:15

Значит так. Ты не включил НАТ, поэтому пакеты, которые ты отправляешь в сеть с клиента, пытаются вернуться на 172.16.1.2, соответственно, не находят дорогу. Первым правилом надо поставить что-то вроде:

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

nat on внутренний_интерфейс from внутренняя_сеть to any -> (внешний_интерфейс)
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

sam1
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-11-21 10:49:18

Re: Конфиг PF.CONF

Непрочитанное сообщение sam1 » 2008-11-21 17:41:20

princeps писал(а):Значит так. Ты не включил НАТ, поэтому пакеты, которые ты отправляешь в сеть с клиента, пытаются вернуться на 172.16.1.2, соответственно, не находят дорогу. Первым правилом надо поставить что-то вроде:

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

nat on внутренний_интерфейс from внутренняя_сеть to any -> (внешний_интерфейс)
я правильно понял

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

nat on int_if from lan_nen to any -> (ext_if)

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2008-11-21 17:49:45

да, только не lan_nen, а lan_net, наверное :). И почитай чего-нибудь про трансляцию адресов
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

sam1
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-11-21 10:49:18

Re: Конфиг PF.CONF

Непрочитанное сообщение sam1 » 2008-11-21 18:17:30

princeps писал(а):да, только не lan_nen, а lan_net, наверное :). И почитай чего-нибудь про трансляцию адресов
Ок ОЧЕПЯТКА была.

Я извиняюсь за назойливость не сильно своими вопросами отвлекаю?

Прописал в конфиге перегрузил комп не помогло тоже самое

смотрю логFreeBSD#

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

 tcpdump -n -e -ttt -r /var/log/pflog 
там что то странное что за

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

Ip 224.0.0.22 

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

502. 209606 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v                                                                              3 report, 1 group record(s)
795303 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
2. 028808 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3                                                                               report, 1 group record(s)
003896 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
967302 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
19. 823360 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3                                                                               report, 1 group record(s)
009189 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
667610 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
328027 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
002567 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
669411 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
8. 761893 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3                                                                               report, 1 group record(s)
005524 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)
732726 rule 4/8(ip-option): pass in on xl1: 172.16.1.2 > 224.0.0.22: igmp v3 rep                                                                              ort, 1 group record(s)

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2008-11-22 1:33:42

sam1 писал(а):Я извиняюсь за назойливость не сильно своими вопросами отвлекаю?
Ну, на то он и форум. Спрашивай, не стесняйся
sam1 писал(а):там что то странное что за Ip 224.0.0.22
:)

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

Gateway# whois 224.0.0.22

OrgName:    Internet Assigned Numbers Authority
OrgID:      IANA
Address:    4676 Admiralty Way, Suite 330
City:       Marina del Rey
StateProv:  CA
PostalCode: 90292-6695
Country:    US

NetRange:   224.0.0.0 - 239.255.255.255
CIDR:       224.0.0.0/4
NetName:    MCAST-NET
NetHandle:  NET-224-0-0-0-1
Parent:
NetType:    IANA Special Use
NameServer: FLAG.EP.NET
NameServer: STRUL.STUPI.SE
NameServer: NS.ISI.EDU
NameServer: NIC.NEAR.NET
Comment:    This block is reserved for special purposes.
Comment:    Please see RFC 3171 for additional information.
Comment:
RegDate:    1991-05-22
Updated:    2002-09-16

OrgAbuseHandle: IANA-IP-ARIN
OrgAbuseName:   Internet Corporation for Assigned Names and Number
OrgAbusePhone:  +1-310-301-5820
OrgAbuseEmail:  abuse@iana.org

OrgTechHandle: IANA-IP-ARIN
OrgTechName:   Internet Corporation for Assigned Names and Number
OrgTechPhone:  +1-310-301-5820
OrgTechEmail:  abuse@iana.org
Собственно, предлагаю поступить, как советуют: прочитать RFC 3171 :)
sam1 писал(а):pass in on $int_if from $lan_net to any
pass out on $int_if from any to $lan_net
Это можно заменить правилом pass in on $int_if from any to any. Лучше, чтоб правил было меньше - так будет проще потом разбираться в конфиге.
Если /etc/rc.conf у тебя такой же, как тут: http://forum.lissyara.su/viewtopic.php?f=8&t=12696, то ты забыл самое главное:
документация!!! писал(а):gateway_enable="YES" # Включить сетевой шлюз
Ты вот это читал: http://www.freebsd.org.ua/doc/ru_RU.KOI ... ls-pf.html ?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

sam1
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-11-21 10:49:18

Re: Конфиг PF.CONF

Непрочитанное сообщение sam1 » 2008-11-25 16:14:43

princeps писал(а):
sam1 писал(а):Я извиняюсь за назойливость не сильно своими вопросами отвлекаю?
Ну, на то он и форум. Спрашивай, не стесняйся
sam1 писал(а):там что то странное что за Ip 224.0.0.22
:)

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

Gateway# whois 224.0.0.22

OrgName:    Internet Assigned Numbers Authority
OrgID:      IANA
Address:    4676 Admiralty Way, Suite 330
City:       Marina del Rey
StateProv:  CA
PostalCode: 90292-6695
Country:    US

NetRange:   224.0.0.0 - 239.255.255.255
CIDR:       224.0.0.0/4
NetName:    MCAST-NET
NetHandle:  NET-224-0-0-0-1
Parent:
NetType:    IANA Special Use
NameServer: FLAG.EP.NET
NameServer: STRUL.STUPI.SE
NameServer: NS.ISI.EDU
NameServer: NIC.NEAR.NET
Comment:    This block is reserved for special purposes.
Comment:    Please see RFC 3171 for additional information.
Comment:
RegDate:    1991-05-22
Updated:    2002-09-16

OrgAbuseHandle: IANA-IP-ARIN
OrgAbuseName:   Internet Corporation for Assigned Names and Number
OrgAbusePhone:  +1-310-301-5820
OrgAbuseEmail:  abuse@iana.org

OrgTechHandle: IANA-IP-ARIN
OrgTechName:   Internet Corporation for Assigned Names and Number
OrgTechPhone:  +1-310-301-5820
OrgTechEmail:  abuse@iana.org
Собственно, предлагаю поступить, как советуют: прочитать RFC 3171 :)
sam1 писал(а):pass in on $int_if from $lan_net to any
pass out on $int_if from any to $lan_net
Это можно заменить правилом pass in on $int_if from any to any. Лучше, чтоб правил было меньше - так будет проще потом разбираться в конфиге.
Если /etc/rc.conf у тебя такой же, как тут: http://forum.lissyara.su/viewtopic.php?f=8&t=12696, то ты забыл самое главное:
документация!!! писал(а):gateway_enable="YES" # Включить сетевой шлюз
Ты вот это читал: http://www.freebsd.org.ua/doc/ru_RU.KOI ... ls-pf.html ?

Доброе время суток.

ЭТО я читал там всё нормально. gateway_enable="YES" # Есть

Что-то сижу туплю не как логику этого ФИРЕВАЛЛА до конца не могу понять.
Накачал разной инфы читаю дык ещё больше запутался пытаюсь начать с чистого листа не спеша.

Аватара пользователя
voider
лейтенант
Сообщения: 830
Зарегистрирован: 2008-02-21 20:35:03
Откуда: msk

Re: Конфиг PF.CONF

Непрочитанное сообщение voider » 2008-12-01 0:34:24

princeps писал(а):Значит так. Ты не включил НАТ, поэтому пакеты, которые ты отправляешь в сеть с клиента, пытаются вернуться на 172.16.1.2, соответственно, не находят дорогу. Первым правилом надо поставить что-то вроде:

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

nat on внутренний_интерфейс from внутренняя_сеть to any -> (внешний_интерфейс)
неправильно зачем людей вводить в заблуждение

вот рабочий пример

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

ext_if="re0"
int_if="rl0"
nat on $ext_if proto { tcp udp icmp } from $int_if:network to any -> ($ext_if)
pass out 
nat on внешний_интерфейс from внутренний_интерфейс to any -> (внешний_интерфейс)
перевод : нат на внешней сетевухе от внутренней сетевухи направляеться за пределы компа через внешнюю сетевуху (изучайте инглишь :))

введи команду и посмотри

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

# pfctl -sn                 Показать текущие правила NAT 
# pfctl -sr                 Показать текущие правила фильтра

sam1
проходил мимо
Сообщения: 9
Зарегистрирован: 2008-11-21 10:49:18

Re: Конфиг PF.CONF

Непрочитанное сообщение sam1 » 2008-12-01 8:22:24

voider писал(а):
princeps писал(а):Значит так. Ты не включил НАТ, поэтому пакеты, которые ты отправляешь в сеть с клиента, пытаются вернуться на 172.16.1.2, соответственно, не находят дорогу. Первым правилом надо поставить что-то вроде:

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

nat on внутренний_интерфейс from внутренняя_сеть to any -> (внешний_интерфейс)
неправильно зачем людей вводить в заблуждение

вот рабочий пример

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

ext_if="re0"
int_if="rl0"
nat on $ext_if proto { tcp udp icmp } from $int_if:network to any -> ($ext_if)
pass out 
nat on внешний_интерфейс from внутренний_интерфейс to any -> (внешний_интерфейс)
перевод : нат на внешней сетевухе от внутренней сетевухи направляеться за пределы компа через внешнюю сетевуху (изучайте инглишь :))

введи команду и посмотри

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

# pfctl -sn                 Показать текущие правила NAT 
# pfctl -sr                 Показать текущие правила фильтра
Доброе время суток.

На тему энглиша согласен на 1000000%

Спасибо за ответ.

Сейчас поднял конфиг вроде работает не могли бы вы его про комментировать. Если не затруднительно.
Спасибо.

ext_if="xl1" # Внешний интерфейс
int_if="xl0" # Локальный интерфейс


set block-policy return
set loginterface $ext_if
set skip on lo

scrub in

nat on $ext_if from $int_if:network to any -> $ext_if

block in on $ext_if all

pass on $int_if all pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state
Последний раз редактировалось sam1 2008-12-01 10:41:57, всего редактировалось 1 раз.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35465
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Конфиг PF.CONF

Непрочитанное сообщение Alex Keda » 2008-12-01 8:52:52

прокрутите страницу до верха и прочтите текст на красном фоне
Убей их всех! Бог потом рассортирует...

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-02-20 18:49:52

Здравствуйте! Прочитал все. Не увидел смысла создавать новую тему.
Сразу вопрос: не проходит пинг по имени, по адресу проходит. Браузер работает.
Не резолвит никакие имена с клиента. C FreeBSD резолвит все.
pf.conf

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


nat on $ext_if inet from $trusted_lan to any -> ($ext_if)

фильтрацию вообще не прописывал.
Схема такая
Изображение

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-02-20 19:14:25

Понял почему работает браузер и ася. В них прописан ип прокси (а по ип все работает). Выходит что вообще не резолвит ничего клиент.

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2009-02-20 19:37:40

не совсем понятно, что к чему, но жопой чую, что resolv.conf на шлюзе
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-02-20 23:02:44

В resolv.conf прописано:

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

domain mydomain.ru
nameserver [айпи моего сервера]
суть в том что с самого freebsd все резолвится. Думаю там все нормально. Просто на самой freebsd не прописано куда пересылать dns запросы от $int_if(внутренний интерфейс), а я не знаю как и на нем же нет DNS'а (сервера имен) поэтому запросы на 53 порт там и умирают. Как сделать? Или в чем заблуждаюсь? Скажите что непонятно, я все объясню. :smile:

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2009-02-21 12:30:35

Из схемы, которую ты нарисовал, не совсем понятно, кто кому шлюз, т.е. какой комп непосредственно подключен к прову. Если фря работает шлюзом, то nameserver в resolv.conf должен быть не
Gen писал(а):[айпи моего сервера]
а айпи dns-сервера, который тебе провайдер выдал.
Gen писал(а):Просто на самой freebsd не прописано куда пересылать dns запросы от $int_if(внутренний интерфейс)
Если весь конфиг pf - это то, что ты выложил, и если gateway_enable в rc.conf установлен в YES, то он пересылает ВСЕ, в т.ч. и днс-запросы с внутреннего интерфейса на внешний, натит их, а потом отправляет во внешнюю сеть. Если же у тебя неправильно указан dns-сервер, то и dns-запросам, соответственно, некуда идти.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2009-02-21 12:32:51

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

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-02-21 16:17:15

Извиняюсь за неполноту инфы. Сеть существует без фри и клиента. Все работает. W2K3 - маршрутизатор, ДНС, ДХЦП включен в свич. Все клиенты (доменные, тот что на схеме, подключен так как на схеме) также включены в этот свич. И VPN-роутер (dlink) идет в этот же свитч. В wan порт роутера приходит проводок от модема, из lan порта роутера проводок приходит во все тот же свитч (звезда, звездее некуда :-D ). На роутере прописано что трафик принимать и отправлять только с W2K3. В DNS'е домена фря прописана и получает все по дхцп. FreeBSD (в качестве маршрутизатора) и клиента просто воткнул в существующую сеть, так как не имею возможности настраивать сразу так как вижу... Так что выходит что путь от клиента (на схеме) до инета таков:

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

Клиент -> FreeBSD->W2K3->VPN-router->Модем...
у клиента DNS прописан как внутренний адрес FreeBSD.
У FreeBSD как адрес W2k3.
У W2k3 как свой адрес и адрес VPN-roter'а
У Роутера по дхцп днс'ы провака
Тем же макаром у всех прописан основной шлюз.

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2009-02-21 16:43:27

ну тогда все должно работать. Если с фри резолвится, а по айпи с клиента работает :unknown:
Клиент физически подключен только к фре, или в общий свич?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-02-22 7:40:29

Клиент подключен только к FreeBSD.

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

Re: Конфиг PF.CONF

Непрочитанное сообщение princeps » 2009-02-22 11:07:27

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

tracert 213.180.204.8
с клиента что показывает?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-02-22 13:36:22

Смогу проверить тока после праздников. Хотя в пт трасерт до ипшника ya.ru проходил... впрчем как и до любого ипшника.

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-02-24 9:18:08

Увы, в выхи сгорел комп в конторе: эксперементальный роутер FreeBSD будет теперь рабочей станцией WinXP. Мои начинания приостановлены :( . Собрал дома комп, теперь поднимаю там все что хотел поднять. Текущий вопрос потерял актуальность. :sorry:

Gen
проходил мимо

Re: Конфиг PF.CONF

Непрочитанное сообщение Gen » 2009-03-02 10:37:27

День добрый! Подозреваю что разобрался со своим вопросом: Какая бы сеть не была реализована днс сервер должен быть явно указан (статик или дхцп). Если нет настроенного внутреннего то должен быть указан днс провайдера. Надеюсь если я неправ то меня поправят. Спасибо всем за участие