Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    PfSense и КорбинаТелеком

    Scheduled Pinned Locked Moved Russian
    60 Posts 12 Posters 43.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SB HidDeN
      last edited by

      народ… когда пытаетесь и локалку и инет сделать вы про NAT не забываете?
      про то, что внешний роутер ничего про ваши адреса за pfSense - не знает...
      делается в меню Firewall:NAT - включается Advanced Outbound NAT (AON)
      и прописывается отдельное правило для вывода через NAT!
      без этого, как мне кажется, весь NAT переписывается на WAN интерфейс при подключении PPTP/PPPoE, и, естессно, на GW провайдера идут голые пакеты из вашей внутренней локалки. отсмюда и теряем PPTP.
      Сел проверять... ::)

      1 Reply Last reply Reply Quote 0
      • L
        lhassa
        last edited by

        @SB:

        народ… когда пытаетесь и локалку и инет сделать вы про NAT не забываете?
        про то, что внешний роутер ничего про ваши адреса за pfSense - не знает...
        делается в меню Firewall:NAT - включается Advanced Outbound NAT (AON)
        и прописывается отдельное правило для вывода через NAT!
        без этого, как мне кажется, весь NAT переписывается на WAN интерфейс при подключении PPTP/PPPoE, и, естессно, на GW провайдера идут голые пакеты из вашей внутренней локалки. отсмюда и теряем PPTP.
        Сел проверять... ::)

        Хотел узнать, что в итоге получилось?

        1 Reply Last reply Reply Quote 0
        • S
          SB HidDeN
          last edited by

          со статикой - все в пределах GUI…
          с динамикой - заметил такую особенность...
          когда только что поставил PF...  при выполнении мастера настройки - в настройках WAN сразу ставишь PPTP - в поле LOCAL IP прописывается "dhcp". При установке так по умолчанию ставится в консоли, если задаешь и LAN и WAN интерфейсы.
          так что надо только вписать адрес PPTP севера и логин-пароль...
          надо пробовать...моделировать...пока нет времени...попробуйте, отпишитесь о результатах...

          1 Reply Last reply Reply Quote 0
          • S
            Sonya
            last edited by

            Использую pfsense версии 1.22 и соединение pptp.
            Локалка работает, но как-то странно. На интернет-адреса типа 89.222.xxx.xxx доступ через локалку есть, а на серые типа 10.xxx.xx.xxx или 192.168.xxx.xxx - нет, хотя и для тех и для других прописаны статические маршруты. Брандмауэр что-ли блокирует? Галочка на "Block private networks" снята.

            1 Reply Last reply Reply Quote 0
            • T
              TheRaven
              last edited by

              читай тему с начала :) вся суть ее и состоит в том что пфсенса не видит обе сети

              1 Reply Last reply Reply Quote 0
              • werterW
                werter
                last edited by

                А кто нибудь читал\пробовал попытку решения этой проблемы тут - 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 сетей они уже прошли. "

                1 Reply Last reply Reply Quote 0
                • S
                  SB HidDeN
                  last edited by

                  сам повторил подобное - работает со статикой…  DHCP - пока проблема...

                  1 Reply Last reply Reply Quote 0
                  • S
                    Sonya
                    last edited by

                    @werter:

                    А кто нибудь читал\пробовал попытку решения этой проблемы тут - http://trin-3-trin.livejournal.com/209046.html  ?? Вроде человек толково расписал ЧТО и КАК …

                    Опробовал, вроде как работает. Раз пять перечитал, пока въехал :), Только получается для каждой локальной подсети нужно создавать своё правило. Сами сети у меня добавляются в таблицу маршрутов при помощи скрипта. Самих маршрутов около 140 штук, вручную написать столько правил NAT просто нереально.

                    1 Reply Last reply Reply Quote 0
                    • L
                      lhassa
                      last edited by

                      пока даже пробовать не буду, pfsense тем и хорош что это freebsd из коробки с удобным и достаточно функциональным интерфейсом, и донастраивать ее с помощью скриптов не совсем правильно
                      так что пока использую там где прямой канал, без ppp

                      я не понимаю что мешает разработчикам сделать все интерфейсы равноправными (отказаться от разделения на lan и wan) как в микротик
                      в первую очередь жду от 2.0 именно этого функционала

                      1 Reply Last reply Reply Quote 0
                      • S
                        Shraik
                        last edited by

                        Проблема, вовсе не в том, что есть предопределенные LAN и WAN. Их идеологическое предназначение разделять Внешние и внутренние сети по отношению к ФАЙРВОЛУ.
                        проблема состоит в том, как поднимаются внешние динамические интерфейсы. при поднятии происходит перекрытие родительского интерфейса, а нам хотелось-бы создания нового.
                        Как вы понимаете делается это на уровне скриптов, потому, как во freebsd основной интерфейс никуда не девается. Он просто "прячется" от пользователя.
                        Можно добавить этот спрятанный интерфейс поигравшись с файликом "interfaces_assign.php"
                          заменить на

                        Но система после этого работает несколько не стабильно. Надо допиливать дальше или менять процедуру создания динамического интерфейса

                        1 Reply Last reply Reply Quote 0
                        • S
                          SB HidDeN
                          last edited by

                          действительно…самое непонятное именно в этом... зачем скрывать родительский интерфейс, если он вполне может конфигурироваться отдельно... через тот же DHCP...
                          по своему роду деятельности часто приходится смешивать разнородные ОС,
                          в зависимости от задач... порадовало наличие гибких настроек,
                          но при этом расстроило отсутствие некоторого основного функционала... ((
                          еще не хватает описания внутренних функций реализованных через PHP...
                          и реакций на события...(пропадание пинга, поднятие-падение интерфейса, + того же cron-a в GUI)

                          1 Reply Last reply Reply Quote 0
                          • S
                            Sonya
                            last edited by

                            С настройками outbound NAT вроде определились, после некоторых нестандартных телодвижений с Virtual IP начинает работать.
                            А вот как быть с Port Forward, если надо какой-нибудь порт пробросить внутрь своей локалки? У кого-нибудь работает?
                            По идее всё правильно:
                            Interface WAN
                            External address - тот самый виртуальный IP, что создавали для NAT: Outbound
                            External port range и Local port поставил одинаковые, решил не выёживаться.
                            NAT IP - адрес компа в моей локалке.
                            Но не работает!
                            В Diagnostics -> Packet capture видно, что нужные пакеты в роутер прилетают. А вот дальше - нет. Нету их и в States.

                            1 Reply Last reply Reply Quote 0
                            • S
                              Sonya
                              last edited by

                              @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 - домашняя локалка.

                              1 Reply Last reply Reply Quote 0
                              • H
                                Helfer_Panch
                                last edited by

                                Думаю будет нелишнем привести пример конфигурирования 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 сервера для подключений из серой сети провайдера и интернета, хотя навверное и даже из внутренней сети..

                                Успехов вам господа, думаю моя работа будет востребвана и время потраченно не зря! (;

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.