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

    DHCP + PPTP on WAN

    Scheduled Pinned Locked Moved Russian
    402 Posts 58 Posters 471.7k 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.
    • L
      Lexvel
      last edited by

      Подтверждаю слова ncat.
      Кусок кода

      /* Configure the gateway (remote IP ) /
      if (!$g['booting'] && !is_ipaddr($gateways[$pid]) && is_hostname($gateways[$pid])) {
      /
      XXX: Fix later
      $gateways[$pid] = gethostbyname($gateways[$pid]);
      if(!is_ipaddr($gateways[$pid])) {
      log_error("Could not get a valid Gateway IP from {$port} via DNS in interfaces_ppps_configure.");
      return 0;
      }
      */

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

      /* Configure the gateway (remote IP ) /
      if (!$g['booting'] && !is_ipaddr($gateways[$pid]) && is_hostname($gateways[$pid])) {
      /
      XXX: Fix later */
      $gateways[$pid] = gethostbyname($gateways[$pid]);
      if(!is_ipaddr($gateways[$pid])) {
      log_error("Could not get a valid Gateway IP from {$port} via DNS in interfaces_ppps_configure.");
      return 0;
      }

      Для удобства я установил MC.

      Проблема в том, что сам L2TP теперь не поднимается. Приходится его пинать вручную. Хотя когда поднялся - работает стабильнее, чем по одному IP…(билайн опять рулит...)

      Кстати для тех, у кого не получается - обращу внимание, что в System - Routing нужно основным гейтом поставить L2TP а не Wan.

      Всем огромное спасибо!

      У меня осталась проблема с вайфаем в лице чипа аферос AR9380. Отдельно тему создал, но если кто чего посоветует - буду очень благодарен!

      1 Reply Last reply Reply Quote 0
      • N
        ncat
        last edited by

        @Lexvel:

        Проблема в том, что сам L2TP теперь не поднимается.

        Тоже думал что из-за этого, но не стал связывать, так как много "экспериментировал" с файлами в pfSense…
        Теперь ясно что раскомменченный код виноват.
        по этому поводу тема на английском и русском форумах. Пока пусто  :(
        ждем ответов гуру freebsd (pfSense)?  ::)

        upd: самый кривой вариант, наверное, запустить cron и смотреть есть ли процесс ppp и стартовать если нет? Только не умею писать скрипты в unix, да и в целом не сильно разбираюсь в этих системах.

        1 Reply Last reply Reply Quote 0
        • M
          Micky
          last edited by

          Have you tried to remove the```
          !$g['booting']

          
          meaning:
          

          /* Configure the gateway (remote IP ) /
                      if (!is_ipaddr($gateways[$pid]) && is_hostname($gateways[$pid])) {
                        /
          XXX: Fix later */
                        $gateways[$pid] = gethostbyname($gateways[$pid]);
                        if(!is_ipaddr($gateways[$pid])) {
                            log_error("Could not get a valid Gateway IP from {$port} via DNS in interfaces_ppps_configure.");
                            return 0;
                        }

          
          but carefully, it can break pfsense, and i dont have it installed to test or to check the source code
          1 Reply Last reply Reply Quote 0
          • N
            ncat
            last edited by

            удаление !$g['booting'] не помогло.

            Вот полазил по форуму и накатал простой скриптик, который можно поставить в cron (ну и убрать флуд в лог):

            #!/bin/sh
            
            if [ -f /var/run/l2tp_opt1.pid ]
                then
               echo "mpd5 is running" | logger
                else
               echo "mpd5 is dead" | logger
            fi
            

            Как вместо echo "mpd5 is dead" | logger запихнуть запуск интерфейса? (например загрузить страницу http://192.168.2.1/status_interfaces.php?action=Connect&if=opt1 или еще каким образом…)

            1 Reply Last reply Reply Quote 0
            • G
              Green_bastad
              last edited by

              Может кто-нибудь описать процесс настройки полноценного PPTP WAN с Dual-Access для российского провайдера? Имеем Pfsense 2.0.1, переходить обратно на 1.X не хотелось бы. VPN серверов у прова несколько так что хотелось бы настроить VPN на имя а не на IP. И потянет ли VIA 1HHz и 512RAM поток порядка 40мбит по PPTP или надо что-то помощнее?

              1 Reply Last reply Reply Quote 0
              • X
                xogoc
                last edited by

                pfSense 2.0: пытаюсь поднять PPTP на WAN'е с DHCP
                Что мне изменить в /etc/inc/interfaces.inc если провайдер требует такие настройки:

                ?
                Лог:

                Jan 9 15:21:20 ppp: [opt2_link0] Link: reconnection attempt 1209
                Jan 9 15:21:20 ppp: [opt2_link0] PPTP call failed
                Jan 9 15:21:20 ppp: [opt2_link0] Link: DOWN event
                Jan 9 15:21:20 ppp: [opt2_link0] LCP: Down event
                Jan 9 15:21:20 ppp: [opt2_link0] Link: reconnection attempt 1210 in 3 seconds

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

                  @xogoc:

                  pfSense 2.0: пытаюсь поднять PPTP на WAN'е с DHCP
                  Что мне изменить в /etc/inc/interfaces.inc если провайдер требует такие настройки:

                  ?
                  Лог:

                  Jan 9 15:21:20 ppp: [opt2_link0] Link: reconnection attempt 1209
                  Jan 9 15:21:20 ppp: [opt2_link0] PPTP call failed
                  Jan 9 15:21:20 ppp: [opt2_link0] Link: DOWN event
                  Jan 9 15:21:20 ppp: [opt2_link0] LCP: Down event
                  Jan 9 15:21:20 ppp: [opt2_link0] Link: reconnection attempt 1210 in 3 seconds

                  У вас привязка по МАСу идет ? Тогда сперва МАС смените на ВАН, чтоб ИП локальный получить, а только затем проверяйте ППТП.

                  П.с. Как вариант, при загрузке pf-а задать первым поднимать ВАН , а только потом ППТП.
                  Команды можно вставить в Shellcmd, предварительно установив этот пакет.

                  1 Reply Last reply Reply Quote 0
                  • X
                    xogoc
                    last edited by

                    @werter:

                    У вас привязка по МАСу идет ? Тогда сперва МАС смените на ВАН, чтоб ИП локальный получить, а только затем проверяйте ППТП.

                    П.с. Как вариант, при загрузке pf-а задать первым поднимать ВАН , а только потом ППТП.
                    Команды можно вставить в Shellcmd, предварительно установив этот пакет.

                    Привязки по маку вроде нет, локальный ИП получаю, а вот ППТП перестал работать после "модернизации оборудования" где-то там у провайдера… :( Провайдер конечно же ничем помочь мне не смог в настройке :)

                    1 Reply Last reply Reply Quote 0
                    • X
                      xaoc
                      last edited by

                      "Если вдруг, вы увидите, что default gateway не поменялся на "белый", а остался от модема, его можно переназначить в System->Routes. (выбираем default gateway для OPT1)" а кто подскажет как зделать чтобы он менялся сам ?

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

                        Прошу прощения если пропустил, но судя из последних страниц на последнем стабле pFsense так и не удалось реализовать стабильные DHCP+PPTP(L2TP) из коробки, это так ?

                        1 Reply Last reply Reply Quote 0
                        • N
                          ncat
                          last edited by

                          я бы сказал что он работает, но с оговоркой что IP l2tp сервера надо указывать только цифрами.

                          1 Reply Last reply Reply Quote 0
                          • N
                            ncat
                            last edited by

                            ну раз никто не стал возиться, буду придумывать костыли сам.
                            прошивки на новый Asus n66u еще будут пилить и пилить, так нормальной скорости интернета никогда не дождусь

                            Наконец-то мне подсказали на интернациональном форуме, большое спасибо stephenw10.
                            Пока что, по идее, вот этот скрипт надо запихнуть в крон

                            #!/bin/sh
                            
                            if [ -f /var/run/l2tp_opt1.pid ]
                                then
                            #   echo "mpd5 is running" | logger
                                else
                                /etc/rc.linkup l2tp0 start
                            fi
                            # l2tp0 - имя, отображаемое на страничке Interfaces для вашего l2tp интерфейса.
                            
                            

                            Таким образом вроде бы можно решить проблему отказывающегося стартовать l2tp с модифицированным interfaces.inc
                            а модифицировали для того, чтобы получать IP по имени l2tp сервера, как нам велит Билайн. Так как однажды выбранный единственный l2tp сервер может стать недоступным

                            1 Reply Last reply Reply Quote 0
                            • N
                              ncat
                              last edited by

                              Итак, похоже на то что проблема получения l2tp сервер по имени и его автоматического старта решена.
                              pfSense 2.0.1 nanobsd
                              Опишу все по порядку.
                              Понадобится вот что:

                              • mc (с ним удобнее) или текстовый редактор
                              • установленный cron (System -> Packages -> cron)

                              **Что получилось:

                              • L2TP сервер получаем по имени
                              • добавляем маршрут (l2tp сервер становится виден из внутренней сети [актуально для интернета билайн])
                              • L2TP стартует сам и даже обновляет IP сервера при падении**

                              [Решение]
                              Для всех модификаций советую сделать копии
                              1) модифицируем /etc/inc/interfaces.inc
                              1.1 - function interface_ppps_configure($interface)
                              1.1.1 - раскомменчиваем строку $gateways[$pid] = gethostbyname ($gateways[$pid]);
                              1.1.2 - а также добавляем код помеченный /* ADDED -start- / - / ADDED -end- */
                              пункт 1.1.2 позволяет при получении IP l2tp сервера писать маршрут l2tp server - wan gateway. Так как l2tp сервер находится во внешней сети, без маршрута соединение с ним не будет подниматься (это очень любит интернет от билайна).
                              маршруты у него передаются, по ходу, 249 опцией

                              вот как должно выглядеть:

                              
                                                              if(!is_ipaddr($localips[$pid])){
                                                                      log_error("Could not get a Local IP address for PPTP/L2TP link on {$port} in interfaces_ppps_configure. Using 0.0.0.0 ip!");
                                                                      $localips[$pid] = "0.0.0.0";
                                                              }
                                                              /* XXX: This needs to go away soon! [It's commented out!] */
                                                              /* Configure the gateway (remote IP ) */
                                                              if (!$g['booting'] && !is_ipaddr($gateways[$pid]) && is_hostname($gateways[$pid])) {
                                                                      /* XXX: Fix later  */
                                                                      $gateways[$pid] = gethostbyname($gateways[$pid]);
                                                                      if(!is_ipaddr($gateways[$pid])) {
                                                                              log_error("Could not get a valid Gateway IP from {$port} via DNS in interfaces_ppps_configure.");
                                                                              return 0;
                                                                      }
                              
                                                              }
                                                              if(!is_ipaddr($gateways[$pid])){
                                                                      log_error("Could not get a PPTP/L2TP Remote IP address from {$dhcp_gateway} for {$gway} in interfaces_ppps_configure.");
                                                                      return 0;
                                                              }
                              
                              /* ADDED -start- */
                                                              //$parent_gw = get_interface_gateway($port);
                              
                                                              $wanif = get_real_wan_interface();
                                                              $parent_gw = file_get_contents("/tmp/{$wanif}_router");
                                                              mwexec("route add -host {$gateways[$pid]} {$parent_gw}");
                              /* ADDED -end- */
                              
                                                              pfSense_ngctl_attach(".", $port);
                                                              break;
                                                      case "ppp":
                              
                              

                              i: По поводу пунктов 1.2 и 1.3 не уверен, приносят ли они пользу, но на всякий случай. Эти изменения предложены Micky на 4-й странице http://forum.pfsense.org/index.php/topic,25465.15.html
                              к слову, и 1.1.2 предложено им, хотя в том виде не работало…

                              1.2 - function interface_bring_down($interface = "wan", $destroy = false)

                              
                                      $int_list = get_configured_interface_list_by_realif();
                                      if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
                                              foreach ($config['ppps']['ppp'] as $pppid => $ppp) {
                                                      if ($ppp['type'] == 'pptp' || $ppp['type'] == 'l2tp') {
                                                              $ports = explode(',',$ppp['ports']);
                                                              foreach($ports as $pid => $port){
                                                                      if ($port == $interface) {
                                                                              interface_bring_down($int_list[$ppp['if']]);
                                                                      }
                                                              }
                                                      }
                              
                                              }
                                      }
                              
                              

                              местоположение:

                              function interface_bring_down($interface = "wan", $destroy = false) {
                                      global $config, $g;
                              
                                      if (!isset($config['interfaces'][$interface]))
                                              return;
                              
                                      $ifcfg = $config['interfaces'][$interface];
                              
                                      $realif = get_real_interface($interface);
                              
                              /* ADDED -start- */
                                      $int_list = get_configured_interface_list_by_realif();
                                      if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
                                              foreach ($config['ppps']['ppp'] as $pppid => $ppp) {
                                                      if ($ppp['type'] == 'pptp' || $ppp['type'] == 'l2tp') {
                                                              $ports = explode(',',$ppp['ports']);
                                                              foreach($ports as $pid => $port){
                                                                      if ($port == $interface) {
                                                                              interface_bring_down($int_list[$ppp['if']]);
                                                                      }
                                                              }
                                                      }
                              
                                              }
                                      }
                              
                              /* ADDED -end- */
                              
                                      switch ($ifcfg['ipaddr']) {
                                      case "ppp":
                                      case "pppoe":
                                      case "pptp":
                                      case "l2tp":
                                              if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
                              
                              

                              1.3 - function interface_dhcp_configure($interface = "wan")

                                      $int_list = get_configured_interface_list_by_realif();
                                      if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
                                              foreach ($config['ppps']['ppp'] as $pppid => $ppp) {
                                                      if ($ppp['type'] == 'pptp' || $ppp['type'] == 'l2tp') {
                                                              $ports = explode(',',$ppp['ports']);
                                                              foreach($ports as $pid => $port){
                                                                      if ($port == $interface) {
                                                                              interface_ppps_configure($int_list[$ppp['if']]);
                                                                      }
                                                              }
                                                      }
                              
                                              }
                                      }
                              
                              

                              местоположение (в конце):

                                      fwrite($fd, $dhclientconf);
                                      fclose($fd);
                              
                                      /* bring wan interface up before starting dhclient */
                                      if($wanif)
                                              interfaces_bring_up($wanif);
                                      else
                                              log_error("Could not bring up {$wanif} interface in interface_dhcp_configure()");
                              
                                      /* fire up dhclient */
                                      mwexec("/sbin/dhclient -c {$g['varetc_path']}/dhclient_{$interface}.conf {$wanif} > {$g['tmp_path']}/{$wanif}_output > {$g['tmp_path']}/{$wanif}_error_output");
                              
                              /* ADDED -start- */
                                      $int_list = get_configured_interface_list_by_realif();
                                      if (is_array($config['ppps']['ppp']) && count($config['ppps']['ppp'])) {
                                              foreach ($config['ppps']['ppp'] as $pppid => $ppp) {
                                                      if ($ppp['type'] == 'pptp' || $ppp['type'] == 'l2tp') {
                                                              $ports = explode(',',$ppp['ports']);
                                                              foreach($ports as $pid => $port){
                                                                      if ($port == $interface) {
                                                                              interface_ppps_configure($int_list[$ppp['if']]);
                                                                      }
                                                              }
                                                      }
                              
                                              }
                                      }
                              /* ADDED -end- */
                              
                                      return 0;
                              }
                              
                              

                              i: теперь перед стартом мы получаем l2tp адрес сервера по имени (полученный через DNS IP записывается в конфигурацию mpd5.
                              Получили две проблемы:

                              • сам интерфейс не стартует
                              • надо переконфигурировать l2tp соединение, если, например, l2tp сервер стал недоступным. Пример: оборвался WAN и L2TP, через некоторое время WAN поднимается, а L2TP продолжает стучаться на старый IP, хотя можно было бы получить и новый.
                                Эти проблемы и будем решать ниже

                              2) создаем два файла в /usr/scripts/ (папку scripts придется создать)
                              2.1 - файл start-keeper.sh

                              
                              #! /bin/sh
                              
                              #########################################################################################
                              #                                                                                       #
                              #       This file starts mpd-keeper unless it is not already started.                   #
                              #       Before using make sure you put your variables at /usr/sctipts/mpd-keeper        #
                              #                                                                                       #
                              #########################################################################################
                              
                              res=$(ps -A | grep -w '[m]pd-keeper')
                              
                              if [ ! "$res" ]
                                  then
                                  echo "Starting mpd-keeper" | logger
                                  /usr/bin/nice -n20 /usr/scripts/mpd-keeper
                              fi
                              
                              

                              2.2 - файл mpd-keeper

                              ##### VARIABLES #####
                              
                              # wan is your WAN interface network port name. Can be viewed at pfsense welcome screen.
                              wan='re0'
                              
                              # l2tp is your l2tp network port name (also can be viewed in Webconfigurator -> Status -> Interfaces -> l2tp interface header
                              l2tp='l2tp0'
                              
                              # pid can be found in /var/run should looks same. This file creates when your l2tp is up.
                              pid='l2tp_opt1.pid'
                              
                              # repeat time for this script (in seconds)
                              repeat_time='5'
                              
                              # time to wait for bringing l2tp connection up (in seconds)
                              l2tpup_time='60'
                              
                              ##### CODE #####
                              
                              while [ 1 -eq 1 ]
                              do
                                  if [ ! -f /tmp/${l2tp}up ]
                                  then
                                      if [ -f /var/run/$pid ]
                                      then
                                              # If l2tp connection is down (no IP) and mpd5 for this connection is running we kill mpd
                                              # to be able to change connection settings, specifically l2tp peer.
                                              # Because if (for example) l2tp peer is down we can get different l2tp peer IP using hostname.
                                              res2=$(cat /var/run/$pid)
                                              echo "l2tp is down - killing mpd5" | logger
                                              kill $res2
                                      fi
                                  fi
                              
                                  sleep 1
                                  res1=$(ifconfig $wan | grep status | cut -d : -f 2)
                              
                                  if [ ! -f /var/run/$pid ]
                                  then
                                      if [ "$res1" = " active" ]
                                      then
                                          # If wan connection is active and there is no l2tp over it, we start l2tp connection.
                                          echo "wan is active - starting l2tp connection" | logger
                                          /etc/rc.linkup $l2tp start
                                          # L2TP connection needs some time to come up.
                                          # Without sleep it seems that mpd5 will be killed before it has a chance
                                          # to connect to l2tp server (if repeat_time is less than ~30)
                                          sleep $l2tpup_time
                                      else
                                          #echo "wan is not active. l2tp cannot start" | logger
                                      fi
                                  fi
                              
                                  sleep $repeat_time
                              done
                              
                              

                              опишу переменные, которые надо установить в соответствии с Вашей системой

                              wan - название вашего интерфейса WAN, которые показывается при приветственном окне в pfsense

                              wan='re0'

                              l2tp - имя вашего интерфейса L2TP (показывается в Webconfigurator -> Status -> Interfaces -> l2tp interface header)

                              l2tp='l2tp0'

                              pid может быть найден /var/run выглядеть должен примерно также. Файл создается когда соединение l2tp поднято.

                              pid='l2tp_opt1.pid'

                              интервал повтора скрипта (в секундах)

                              repeat_time='5'

                              время в течении которого ожидаем поднятия интерфейса (в секундах) (за короткое время mpd может не успеть дозвониться и установить связь - он будет выключен этим же скриптом)

                              l2tpup_time='60'

                              2.3 - делаем созданные файлы исполняемыми командой chmod 755 filename (я вот не помнил наизусть как)

                              3) настраиваем cron (Services -> cron)
                              minute */1
                              hour *
                              mday *
                              month *
                              wday *
                              who root
                              command /bin/sh /usr/scripts/start-keeper.sh

                              Вроде все  :)

                              Спасибо: Steve (stephenw10), Micky, Evgeny.

                              P.S.: мой первый "общественный" скрипт набор скриптов; в FreeBSD новичок, то же самое относится к сетевым технологиям. Если есть какие-либо ошибки или дополенения - с удовольствием исправлю\дополню.

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

                                @ncat:

                                Итак, похоже на то что проблема получения l2tp сервер по имени и его автоматического старта решена.

                                Хм. Аналогично имею провайдера, именуемого АИСТ. Получаю ip по dhcp на wan внутренней сети, некоторой, из 10.0.0.0/8. Для коннекта с инетом - впн, pptp.
                                Юзаю pfsense 2.1. На данный момент сервер впн забил по ип, но надо по имени fqdn. Инет пашет, все ок вроде. Но есть косяк с тем, что почему-то шлюз не резолвит с днс провайдера хосты внутресетевые.
                                т.е. даже в гуглевском днс они имеют записи. если на сетевом интерфейсе в винде прописать днс гугля или от провайдера, то все резолвит. Если использовать dns forwarder шлюза - не резолвит (в general dns прописаны).
                                Ну и странно, что у меня оба шлюза от провайдера являются дефолтовыми. Т.е. шлюз полученный из внутренней сети, и шлюз полученный при соединении впн.
                                С другим провайдером все работало окей, правда там pppoe было )

                                p.s. из сообщения выше костыли не юзал, пака что

                                1 Reply Last reply Reply Quote 0
                                • G
                                  gr0mW
                                  last edited by

                                  У прова скорее всего split DNS. Попробуйте решить записью в Services: DNS forwarder-Advanced  _–->  rebind-domain-ok=/site1/site2/site3/

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    KanyT
                                    last edited by

                                    Огромный респект ncat за модификацию !

                                    Попробовал настроить у себя - получилось, но в логах постоянно маячит такая строчка:

                                    php: : The command 'route change -host 10.172.40.1' returned exit code '1', the output was 'route: writing to routing socket: No such process route: writing to routing socket: Invalid argument change host 10.172.40.1: Invalid argument'
                                    

                                    И еще почему-то не прописывается default gateway в System->Routing, и у клиентов интернета нет, пока руками не прописать что opt1 это default
                                    Но в целом прогресс огромный - оно даже переподымается после падения wan :))

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

                                      gr0mW, Спасибо, помогло) Оказалось, что поиском по форуму находит похожую ситуацию с таким же решением проблемы.. почему-то не нашел я сразу.

                                      UPD: Увидел в опциях, в Advanced, пункт "Disable DNS Rebinding Checks". Так вот при активации данной опции, так же начинают резолвиться внутренние адреса. Но интересно, чревато ли это чем-либо?)

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        Bishounen
                                        last edited by

                                        ncat

                                        Такой вопрос, на сколько я понимаю при такой настройке  на Wan мы получаем ip по DHCP?
                                        Вопрос в следующем, при провешивании портов с помощью UPNP у нас они будут не в Интернет же провешиваться? Или я что-то не понимаю?

                                        1 Reply Last reply Reply Quote 0
                                        • N
                                          ncat
                                          last edited by

                                          @KanyT:

                                          Огромный респект

                                          Рад что кому-то пригодилось

                                          @KanyT:

                                          Попробовал настроить у себя - получилось, но в логах постоянно маячит такая строчка:

                                          php: : The command 'route change -host 10.172.40.1' returned exit code '1', the output was 'route: writing to routing socket: No such process route: writing to routing socket: Invalid argument change host 10.172.40.1: Invalid argument'
                                          

                                          Такая же штука была (не знаю есть сейчас или нет) не обращал внимания на нее.
                                          Тут стоит пояснить про пункт 1.1.2 из решения:
                                          Конфигурирование L2TP:

                                          
                                          $gateways[$pid] = gethostbyname($gateways[$pid]); //(из решения 1.1.1) - получаем IP по имени
                                          $wanif = get_real_wan_interface(); // судя по всему, получаем WAN
                                          $parent_gw = file_get_contents("/tmp/{$wanif}_router"); // узнаем gateway у него (пишется в файл; у меня например в /tmp/re0_router)
                                          mwexec("route add -host {$gateways[$pid]} {$parent_gw}"); // прописываем маршрут. 
                                          
                                          

                                          Такая схема работает у меня, но у других провайдеров она может отличаться. Возможно кому-то и не надо писать маршрут…

                                          @KanyT:

                                          И еще почему-то не прописывается default gateway в System->Routing, и у клиентов интернета нет, пока руками не прописать что opt1 это default

                                          Я через это же меню поставил OPT1 как default галочкой, все сохраняется вроде.

                                          @KanyT:

                                          Но в целом прогресс огромный - оно даже переподымается после падения wan :))

                                          пишите о результатах


                                          @Bishounen:

                                          Такой вопрос, на сколько я понимаю при такой настройке  на Wan мы получаем ip по DHCP?

                                          вроде да  :)

                                          @Bishounen:

                                          Вопрос в следующем, при провешивании портов с помощью UPNP у нас они будут не в Интернет же провешиваться? Или я что-то не понимаю?

                                          не занимался этим. Тока бросал порт для торрентов (NAT). Там надо было в interfaces выбрать L2TP (ну или как там называется интерфейс с интернетом)


                                          И вообще позволю себе себя же процитировать:
                                          @ncat:

                                          в FreeBSD новичок, то же самое относится к сетевым технологиям.

                                          так что проверяйте и относитесь с недоверием  ::)

                                          надеюсь нету оверквотинга?

                                          Ах да! следите за тем что написали в скрипте и как он работает (mpd-keeper); он в бесконечном цикле  ;D. Так что проверяйте процессы при первых запусках, а то мало ли что  :-\

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            KanyT
                                            last edited by

                                            Почти неделю полёт нормальный. Наконец-то один из самых сочных фаерволов нормально заработал с билайном!
                                            Осуществил то что давно хотел: "МОНСТРОУТЕР"  8) - 5015A-EHF-D525 на нём esxi а в нём pfsense + файлопомойка/торрент на винде. Лёгко держит 60 мегабит по l2tp.
                                            Теперь всё самостоятельно переподключается при падениях wan и отрубе/восстановлении электричества. Проводил стресс-тесты - работает блин!
                                            Я счастлив  ;D
                                            Ещё раз спасибо ncat!!!

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