PfSense и КорбинаТелеком
-
да, автор мода моновала которым я сейчас пользуюсь вроде бы начал делать и pp0e + dhcp
-
http://trin-3-trin.livejournal.com/209046.html
-
Для DHCP+PPPoE пробуйте свежие сборки, начиная с 0.3b2:
http://m0n0wall-mod.googlecode.com/ -
народ… когда пытаетесь и локалку и инет сделать вы про NAT не забываете?
про то, что внешний роутер ничего про ваши адреса за pfSense - не знает...
делается в меню Firewall:NAT - включается Advanced Outbound NAT (AON)
и прописывается отдельное правило для вывода через NAT!
без этого, как мне кажется, весь NAT переписывается на WAN интерфейс при подключении PPTP/PPPoE, и, естессно, на GW провайдера идут голые пакеты из вашей внутренней локалки. отсмюда и теряем PPTP.
Сел проверять... ::) -
@SB:
народ… когда пытаетесь и локалку и инет сделать вы про NAT не забываете?
про то, что внешний роутер ничего про ваши адреса за pfSense - не знает...
делается в меню Firewall:NAT - включается Advanced Outbound NAT (AON)
и прописывается отдельное правило для вывода через NAT!
без этого, как мне кажется, весь NAT переписывается на WAN интерфейс при подключении PPTP/PPPoE, и, естессно, на GW провайдера идут голые пакеты из вашей внутренней локалки. отсмюда и теряем PPTP.
Сел проверять... ::)Хотел узнать, что в итоге получилось?
-
со статикой - все в пределах GUI…
с динамикой - заметил такую особенность...
когда только что поставил PF... при выполнении мастера настройки - в настройках WAN сразу ставишь PPTP - в поле LOCAL IP прописывается "dhcp". При установке так по умолчанию ставится в консоли, если задаешь и LAN и WAN интерфейсы.
так что надо только вписать адрес PPTP севера и логин-пароль...
надо пробовать...моделировать...пока нет времени...попробуйте, отпишитесь о результатах... -
Использую pfsense версии 1.22 и соединение pptp.
Локалка работает, но как-то странно. На интернет-адреса типа 89.222.xxx.xxx доступ через локалку есть, а на серые типа 10.xxx.xx.xxx или 192.168.xxx.xxx - нет, хотя и для тех и для других прописаны статические маршруты. Брандмауэр что-ли блокирует? Галочка на "Block private networks" снята. -
читай тему с начала :) вся суть ее и состоит в том что пфсенса не видит обе сети
-
А кто нибудь читал\пробовал попытку решения этой проблемы тут - http://trin-3-trin.livejournal.com/209046.html ?? Вроде человек толково расписал ЧТО и КАК …
Цитата :
" upd4: Вроде бы нашел решение для сценария подключения, когда локалка провайдера (MAN) видна через статический ip, а интернет (WAN) - через туннель PPTP, так, чтобы локалка и интернет были видны одновременно. Это можно организовать через добавление на wan-интерфейс virtual ip (из диапазона адресов MAN) и переключения nat - outbound nat в режим AON (Advanced Outbound NAT). В этом режиме перед дефолтным правилом NAT, транслирующим все пакеты в туннель, ставится правило, транслирующее пакеты для локалки провайдера в тот предварительно созданный виртуальный ip. Вроде бы, работает, хотя точнее проверить не на чем. Да, еще прописать статические маршруты для других провайдерских сетей, если есть таковые в MAN. Вообще, интересно, что такой сценарий практически никогда не реализуется в западных продуктах и конфигах. Только точка-точка. Видимо, этот этап городских ethernet сетей они уже прошли. "
-
сам повторил подобное - работает со статикой… DHCP - пока проблема...
-
А кто нибудь читал\пробовал попытку решения этой проблемы тут - http://trin-3-trin.livejournal.com/209046.html ?? Вроде человек толково расписал ЧТО и КАК …
Опробовал, вроде как работает. Раз пять перечитал, пока въехал :), Только получается для каждой локальной подсети нужно создавать своё правило. Сами сети у меня добавляются в таблицу маршрутов при помощи скрипта. Самих маршрутов около 140 штук, вручную написать столько правил NAT просто нереально.
-
пока даже пробовать не буду, pfsense тем и хорош что это freebsd из коробки с удобным и достаточно функциональным интерфейсом, и донастраивать ее с помощью скриптов не совсем правильно
так что пока использую там где прямой канал, без pppя не понимаю что мешает разработчикам сделать все интерфейсы равноправными (отказаться от разделения на lan и wan) как в микротик
в первую очередь жду от 2.0 именно этого функционала -
Проблема, вовсе не в том, что есть предопределенные LAN и WAN. Их идеологическое предназначение разделять Внешние и внутренние сети по отношению к ФАЙРВОЛУ.
проблема состоит в том, как поднимаются внешние динамические интерфейсы. при поднятии происходит перекрытие родительского интерфейса, а нам хотелось-бы создания нового.
Как вы понимаете делается это на уровне скриптов, потому, как во freebsd основной интерфейс никуда не девается. Он просто "прячется" от пользователя.
Можно добавить этот спрятанный интерфейс поигравшись с файликом "interfaces_assign.php"
заменить наНо система после этого работает несколько не стабильно. Надо допиливать дальше или менять процедуру создания динамического интерфейса
-
действительно…самое непонятное именно в этом... зачем скрывать родительский интерфейс, если он вполне может конфигурироваться отдельно... через тот же DHCP...
по своему роду деятельности часто приходится смешивать разнородные ОС,
в зависимости от задач... порадовало наличие гибких настроек,
но при этом расстроило отсутствие некоторого основного функционала... ((
еще не хватает описания внутренних функций реализованных через PHP...
и реакций на события...(пропадание пинга, поднятие-падение интерфейса, + того же cron-a в GUI) -
С настройками outbound NAT вроде определились, после некоторых нестандартных телодвижений с Virtual IP начинает работать.
А вот как быть с Port Forward, если надо какой-нибудь порт пробросить внутрь своей локалки? У кого-нибудь работает?
По идее всё правильно:
Interface WAN
External address - тот самый виртуальный IP, что создавали для NAT: Outbound
External port range и Local port поставил одинаковые, решил не выёживаться.
NAT IP - адрес компа в моей локалке.
Но не работает!
В Diagnostics -> Packet capture видно, что нужные пакеты в роутер прилетают. А вот дальше - нет. Нету их и в States. -
@agt:
загружаются с помощью команды pfctl -F /tmp/rules.debug.
загрузка через команду pfctl -f /tmp/rules.debug, в юниксе большие и маленькие отличаются.
Сейчас обошёлся всего двумя строчками, чтобы сделать два ната на локалку и инет. Поправил /tmp/rules.debug вместо
# Outbound NAT rules nat on $ng0 from 192.168.6.0/24 to 10.0.0.0/8 -> 10.70.251.93/32 nat on $ng0 from 192.168.6.0/24 to 87.249.56.0/22 -> 10.70.251.93/32 skip-skip nat on $ng0 from 192.168.6.0/24 to 89.222.128.0/17 -> 10.70.251.93/32 nat on $ng0 from 192.168.6.0/24 to any -> (ng0)
сделал
# Outbound NAT rules nat on xl0 from 192.168.6.0/24 to any -> 10.70.251.93/32 nat on ng0 from 192.168.6.0/24 to any -> (ng0)
Загружаю через ssh модернизированный конфиг и запускаю pfctl -f /tmp/rules.debug
Всё работает до перезагрузки или первого изменения правил.Так же расправился и с маппингом портов.
# NAT Inbound Redirects rdr on xl0 proto { tcp udp } from any to 10.70.251.93/32 port { 801 } -> 192.168.6.1 rdr on xl0 proto tcp from any to 10.70.251.93/32 port { 3389 } -> 192.168.6.1 rdr on xl0 proto tcp from any to 10.70.251.93/32 port { 80 } -> 192.168.6.1
и брандмауэром
# User-defined rules follow pass in quick on $lan from 192.168.6.0/24 to any keep state label "USER_RULE: Default LAN -> any" pass in quick on $wan reply-to (xl0 10.70.251.1) proto { tcp udp } from any to { 192.168.6.1 } port = 801 keep state label "UER_RULE: NAT DC" pass in quick on $wan reply-to (xl0 10.70.251.1) proto tcp from any to { 192.168.6.1 } port = 3389 keep state label "USER_RUL: NAT RDP" pass in quick on $wan reply-to (xl0 10.70.251.1) proto tcp from any to { 192.168.6.1 } port = 80 keep state label "USER_RULE: NAT HTTP"
Осталось дело за малым, найти где в php этот конфиг генерится и внести нужные изменения.
Код, который генерит этот конфиг, скрывается в /etc/inc/filter.inc, вот в него и нужно внести необходимые изменения.
Может кто-нибудь разбирающийся в php поправит, чтобы можно было выбирать нужные интерфейсы в webgui и при этом генерился правильный /tmp/rules.debug?PS: В приведённых примерах xl0 - локалка провайдера, а xl1 - домашняя локалка.
-
Думаю будет нелишнем привести пример конфигурирования m0nowall, так сказать, с нуля. Постораюсь описать процесс для неопытных пользователей на банальном языке, тк таким пользователям очень тяжело понимать все абривиатуры используемые на форумах настройки.
Сам столкнулся с проблемой организации сети дома. Провайдером введена следующая схема подключения - мне выдается серый ip с которым я могу ходить по внутренним ресурсам и по ресурсам пиринга. Что бы воспользоваться инетом необходимо подключать VPN (PPTP), при этом появляется белый ip, думаю что структура схожая с корбиной.За основу в данный момент взята версия мода 0.3b2, которую можно взять здесь, http://m0n0wall-mod.googlecode.com/.
Не кривя душой могу сказать, что версии 0.2 и 0.3b1 появиллись в ходе переписки с автором, для решения проблемы которая возникла у меня, за что ему ОГРОМНОЕ спасибо.После загрузки m0n0wall определяете интерфэйсы и далее необходимо создать WAN eth.
Чтобы добавить WAN eth, подключите pptp и идите на страницу interfaces_assign.php. Когда добавите, перегрузите роутер.
В Outbound NAT включите галочку "Enable advanced outbound NAT" и сделайте правила для своей сети.
Одно правило для WAN дефолтное, и второе для WAN eth для локальной сети провайдера.
В Target ничего не пишите.Для уменьшения головной боли опишу сам процесс создания правил.
Дефолтное правило создается очень просто:
Допустим вы для своей внутренней сети определили адресацию 192.168.1.0/24. В пункте Interface выбераем "WAN", далее Source прописываем "192.168.1.0/24", далее Destination выбираем "any", все остальные поля оставляем пустыми, жмем Save. Вот собственно и все с дефолтом.Теперь правило для серой сети:
Сразу оговорюсь, что все правила для серой сети пишуться для тех же подсетей что и статические маршруты, иначе не будет работать…
Нажимаем на кнопку добавить правило, В пункте Interface выбераем "WAN eth", далее Source прописываем "192.168.1.0/24", далее Destination выбираем "Network", здесь же Address "указываем подсеть статического маршрута" например "172.16.0.0/12". Жмем Save.После создания всех правил в данном пункте нажимаем кнопку Apply changes.
Переходим в Static routes и добавляем статические маршруты.
Теперь в настройках WAN прописываем имя пользователя и пароль. После этого должно все заработать.
Для проброса портов, допустим для пользования сетями P2P в активном режиме необходимо настроить портфорвардинг.
В данном случае я послупил следующим образом, заходим NAT->inbound и создаете правило:
Т.к в своем случае я пользуюсь сетью dc++ только в серой сети,мое правло выглядит следующим образом:
Interface "WAN eth", External address "interface address", Protocol "tcp/udp", External port range(указываем порт, который необходимо будет прописать в p2p клиенте) 31233-31233, NAT IP(прописываем IP внутреннего компа, на котором установлен клиент) для примера "192.168.1.157", Local port "31233". Жмете Save.
Если у вас несколько компов, которым нужен портфорвардин, то для каждого нужно указывать индивидуальный порт(ВАЖНО).Чтобы портфорвардинг заработал, еще необходимо создать правила во вкладке RULES.
Для моего случая, опять же, заходим rules->WAN eth и жмем создать:
Action "pass", Interface "WAN eth", Protocol "TCP/UDP", Source "any", Source port range "any-any", Destination "lan subnet", Destination port range "31233-31233", жмем Save.Незабываем про "apply changes"..
Думаю что после этого не должно возникать никаких проблем и все должно работать..
Если кому то интересно, могу описать насройку PPTP сервера для подключений из серой сети провайдера и интернета, хотя навверное и даже из внутренней сети..
Успехов вам господа, думаю моя работа будет востребвана и время потраченно не зря! (;