Страница 1 из 1
Конфиг PF.CONF
Добавлено: 2008-11-21 16:25:24
sam1
Доброе время суток
Уважаемые гуру
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
Re: Конфиг PF.CONF
Добавлено: 2008-11-21 16:30:20
princeps
А как именно не хочет работать?
Re: Конфиг PF.CONF
Добавлено: 2008-11-21 16:52:35
sam1
princeps писал(а):А как именно не хочет работать?
Доброе время суток
princeps
С клиента не выпускает в инет не пинг не трасет не проходит Хотя все интерфейсы с клиента и int_if и ext_if пингуются.
на клиенте 172.16.1.2
шлюз на 172.16.1.1 на локальный ip Freebsd
Re: Конфиг PF.CONF
Добавлено: 2008-11-21 17:35:15
princeps
Значит так. Ты не включил НАТ, поэтому пакеты, которые ты отправляешь в сеть с клиента, пытаются вернуться на 172.16.1.2, соответственно, не находят дорогу. Первым правилом надо поставить что-то вроде:
Код: Выделить всё
nat on внутренний_интерфейс from внутренняя_сеть to any -> (внешний_интерфейс)
Re: Конфиг PF.CONF
Добавлено: 2008-11-21 17:41:20
sam1
princeps писал(а):Значит так. Ты не включил НАТ, поэтому пакеты, которые ты отправляешь в сеть с клиента, пытаются вернуться на 172.16.1.2, соответственно, не находят дорогу. Первым правилом надо поставить что-то вроде:
Код: Выделить всё
nat on внутренний_интерфейс from внутренняя_сеть to any -> (внешний_интерфейс)
я правильно понял
Код: Выделить всё
nat on int_if from lan_nen to any -> (ext_if)
Re: Конфиг PF.CONF
Добавлено: 2008-11-21 17:49:45
princeps
да, только не lan_nen, а lan_net, наверное

. И почитай чего-нибудь про трансляцию адресов
Re: Конфиг PF.CONF
Добавлено: 2008-11-21 18:17:30
sam1
princeps писал(а):да, только не lan_nen, а lan_net, наверное

. И почитай чего-нибудь про трансляцию адресов
Ок ОЧЕПЯТКА была.
Я извиняюсь за назойливость не сильно своими вопросами отвлекаю?
Прописал в конфиге перегрузил комп не помогло тоже самое
смотрю логFreeBSD#
там что то странное что за
Код: Выделить всё
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)
Re: Конфиг PF.CONF
Добавлено: 2008-11-22 1:33:42
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 ?
Re: Конфиг PF.CONF
Добавлено: 2008-11-25 16:14:43
sam1
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" # Есть
Что-то сижу туплю не как логику этого ФИРЕВАЛЛА до конца не могу понять.
Накачал разной инфы читаю дык ещё больше запутался пытаюсь начать с чистого листа не спеша.
Re: Конфиг PF.CONF
Добавлено: 2008-12-01 0:34: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 Показать текущие правила фильтра
Re: Конфиг PF.CONF
Добавлено: 2008-12-01 8:22:24
sam1
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
Re: Конфиг PF.CONF
Добавлено: 2008-12-01 8:52:52
Alex Keda
прокрутите страницу до верха и прочтите текст на красном фоне
Re: Конфиг PF.CONF
Добавлено: 2009-02-20 18:49:52
Gen
Здравствуйте! Прочитал все. Не увидел смысла создавать новую тему.
Сразу вопрос: не проходит пинг по имени, по адресу проходит. Браузер работает.
Не резолвит никакие имена с клиента. C FreeBSD резолвит все.
pf.conf
Код: Выделить всё
nat on $ext_if inet from $trusted_lan to any -> ($ext_if)
фильтрацию вообще не прописывал.
Схема такая

Re: Конфиг PF.CONF
Добавлено: 2009-02-20 19:14:25
Gen
Понял почему работает браузер и ася. В них прописан ип прокси (а по ип все работает). Выходит что вообще не резолвит ничего клиент.
Re: Конфиг PF.CONF
Добавлено: 2009-02-20 19:37:40
princeps
не совсем понятно, что к чему, но жопой чую, что resolv.conf на шлюзе
Re: Конфиг PF.CONF
Добавлено: 2009-02-20 23:02:44
Gen
В
resolv.conf прописано:
Код: Выделить всё
domain mydomain.ru
nameserver [айпи моего сервера]
суть в том что с самого freebsd все резолвится. Думаю там все нормально. Просто на самой freebsd не прописано куда пересылать dns запросы от
$int_if(внутренний интерфейс), а я не знаю как и на нем же нет DNS'а (сервера имен) поэтому запросы на 53 порт там и умирают. Как сделать? Или в чем заблуждаюсь? Скажите что непонятно, я все объясню.

Re: Конфиг PF.CONF
Добавлено: 2009-02-21 12:30:35
princeps
Из схемы, которую ты нарисовал, не совсем понятно, кто кому шлюз, т.е. какой комп непосредственно подключен к прову. Если фря работает шлюзом, то nameserver в resolv.conf должен быть не
Gen писал(а):[айпи моего сервера]
а айпи dns-сервера, который тебе провайдер выдал.
Gen писал(а):Просто на самой freebsd не прописано куда пересылать dns запросы от $int_if(внутренний интерфейс)
Если весь конфиг pf - это то, что ты выложил, и если gateway_enable в rc.conf установлен в YES, то он пересылает ВСЕ, в т.ч. и днс-запросы с внутреннего интерфейса на внешний, натит их, а потом отправляет во внешнюю сеть. Если же у тебя неправильно указан dns-сервер, то и dns-запросам, соответственно, некуда идти.
Re: Конфиг PF.CONF
Добавлено: 2009-02-21 12:32:51
princeps
с фри точно все резолвится? что-то барабашка какой-то получается
Re: Конфиг PF.CONF
Добавлено: 2009-02-21 16:17:15
Gen
Извиняюсь за неполноту инфы. Сеть существует без фри и клиента. Все работает. W2K3 - маршрутизатор, ДНС, ДХЦП включен в свич. Все клиенты (доменные, тот что на схеме, подключен так как на схеме) также включены в этот свич. И VPN-роутер (dlink) идет в этот же свитч. В wan порт роутера приходит проводок от модема, из lan порта роутера проводок приходит во все тот же свитч (звезда, звездее некуда

). На роутере прописано что трафик принимать и отправлять только с W2K3. В DNS'е домена фря прописана и получает все по дхцп. FreeBSD (в качестве маршрутизатора) и клиента просто воткнул в существующую сеть, так как не имею возможности настраивать сразу так как вижу... Так что выходит что путь от клиента (на схеме) до инета таков:
Код: Выделить всё
Клиент -> FreeBSD->W2K3->VPN-router->Модем...
у клиента DNS прописан как внутренний адрес FreeBSD.
У FreeBSD как адрес W2k3.
У W2k3 как свой адрес и адрес VPN-roter'а
У Роутера по дхцп днс'ы провака
Тем же макаром у всех прописан основной шлюз.
Re: Конфиг PF.CONF
Добавлено: 2009-02-21 16:43:27
princeps
ну тогда все должно работать. Если с фри резолвится, а по айпи с клиента работает

Клиент физически подключен только к фре, или в общий свич?
Re: Конфиг PF.CONF
Добавлено: 2009-02-22 7:40:29
Gen
Клиент подключен только к FreeBSD.
Re: Конфиг PF.CONF
Добавлено: 2009-02-22 11:07:27
princeps
с клиента что показывает?
Re: Конфиг PF.CONF
Добавлено: 2009-02-22 13:36:22
Gen
Смогу проверить тока после праздников. Хотя в пт трасерт до ипшника ya.ru проходил... впрчем как и до любого ипшника.
Re: Конфиг PF.CONF
Добавлено: 2009-02-24 9:18:08
Gen
Увы, в выхи сгорел комп в конторе: эксперементальный роутер FreeBSD будет теперь рабочей станцией WinXP. Мои начинания приостановлены

. Собрал дома комп, теперь поднимаю там все что хотел поднять. Текущий вопрос потерял актуальность.

Re: Конфиг PF.CONF
Добавлено: 2009-03-02 10:37:27
Gen
День добрый! Подозреваю что разобрался со своим вопросом: Какая бы сеть не была реализована днс сервер должен быть явно указан (статик или дхцп). Если нет настроенного внутреннего то должен быть указан днс провайдера. Надеюсь если я неправ то меня поправят. Спасибо всем за участие