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

    LAN клиенты за pfSense с OpenVPN-клиентом

    Scheduled Pinned Locked Moved Russian
    19 Posts 2 Posters 6.8k 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
      saritikon
      last edited by

      Добрый день!

      Помогите пожалуйста с конфигурированием pfSense и OpenVPN
      Задача: Подключить два филиала к удаленному серверу. Желательно чтобы сервер пинговал LAN клиентов за pfSense

      Дано:
      Удаленный сервер Windows Server 2008 r2 (сервер терминалов) с реальным IP,  на нем установлен OpenVPN 2.3.2, получает 10.8.0.1, его конфиг:
      dev tun
      proto udp
      port 1194
      dh dh1024.pem
      ca ca.crt
      cert server.crt
      key server.key
      topology subnet
      server 10.8.0.0 255.255.255.0
      cipher AES-128-CBC
      comp-lzo
      mssfix
      verb 3

      Филиал1 pfSense, поднят OpenVPN-клиент, он подключается по OpenVPN и получает 10.8.0.2:
      WAN 192.168.0.2
      LAN 192.168.1.1
      OPT1 (после настройки OpenVPN добавил отдельно - нужно ли?)

      LAN клиент в филиале1
      192.168.1.101
      С него пингую 10.8.0.2, но не пингую сервер 10.8.0.1 а очень хочется)

      Что и где нужно поменять? в конфиге OpenVPN клиента на pfSense есть раздел Tunnel Settings (IPv4 Tunnel Network, IPv4 Remote Network/s,) - пробовал туда добавлять 10.8.0.0/24 - не помогло.

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

        С него пингую 10.8.0.2, но не пингую сервер 10.8.0.1 а очень хочется)

        Не увидел адресацию сети за сервером. Ее нужно знать, чтобы задать маршрут клиентам - директива push "route x.x.x.x y.y.y.y"; на сервере или route x.x.x.x y.y.y.y на клиенте, где x.x.x.x y.y.y.y - адрес и маска сети за сервером.

        Далее, включена и настроена  ли у вас служба маршрутизации на Win-сервере?

        OPT1 (после настройки OpenVPN добавил отдельно - нужно ли?)

        Удалить. В настройках FW уже есть вкладка OpenVPN - там и рулите.

        P.s. Добавьте директиву pull в конфиге клиента для принятие настроек (маршрутов etc.) от сервера.

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

          @werter:

          С него пингую 10.8.0.2, но не пингую сервер 10.8.0.1 а очень хочется)

          Не увидел адресацию сети за сервером. Ее нужно знать, чтобы задать маршрут клиентам - директива push "route x.x.x.x y.y.y.y"; на сервере или route x.x.x.x y.y.y.y на клиенте, где x.x.x.x y.y.y.y - адрес и маска сети за сервером.

          За сервером win2008server никого нету. Это удаленный сервер, на нем только 1 Wan интерфейс с реальным IP

          Далее, включена и настроена  ли у вас служба маршрутизации на Win-сервере?
          Нет, не включена.

          OPT1 (после настройки OpenVPN добавил отдельно - нужно ли?)

          Удалить. В настройках FW уже есть вкладка OpenVPN - там и рулите.
          Удалил. Теперь нужно что-то прописать в Firewall>rules в закладке OpenVPN или в Firewall>NAT?

          P.s. Добавьте директиву pull в конфиге клиента для принятие настроек (маршрутов etc.) от сервера.

          Добавил, в Advanced configuration у меня теперь:
          comp-lzo
          persist-key
          persist-tun
          pull

          Вот еще нарисовал картинку)

          screen.png
          screen.png_thumb

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

            Удалил. Теперь нужно что-то прописать в Firewall>rules в закладке OpenVPN или в Firewall>NAT?

            Само собой - нужно. Разрещающее правило. И на сервере и на клиенте. NAT пока оставьте автоматом и проверьте.

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

              @werter:

              Удалил. Теперь нужно что-то прописать в Firewall>rules в закладке OpenVPN или в Firewall>NAT?

              Само собой - нужно. Разрещающее правило. И на сервере и на клиенте. NAT пока оставьте автоматом и проверьте.

              Сделал как на картинке
              На win-сервере firewall отключен
              пока что эффекта нету, 192.168.1.2 > 10.8.0.1 не идет пинг

              pfsense рестартить нужно или все на лету?

              ps: Спасибо за подсказки, уставший мозг плохо работает..

              sc1.jpg
              sc1.jpg_thumb

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

                В конфигурационном файле сервера - push "route 10.8.0.0 255.255.255.0" и перезапустить службу OpenVPN.

                После этого покажите таблицу маршрутизации на pfsense-клиенте - route -n

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

                  Инс-ции по настройке OpenVPN и Windows в кач-ве сервера :

                  http://habrahabr.ru/post/197744/

                  http://habrahabr.ru/sandbox/58689/

                  http://www.sysadmin.in.ua/info/index/22/27/39

                  http://ne-ne-ne.ru/it/openvpn-server-on-windows.html

                  У вас конфиг сервера отличается в настройках (пути к сертификатам, ключам etc.).  Но раз у вас коннект идет - то ОК.

                  P.s. На несерверной Windows, выступающей в виде OpenVPN-сервера  нужно включить маршрутизацию между сетевыми интерфейсами :

                  https://forums.openvpn.net/topic7806.html

                  Windows 7 tweaks for forwarding VPN traffic

                  Start -> Right-click My Computer -> Manage
                  Services
                  Right-click Routing and Remote Access -> Properties -> Automatic
                  Right-click Routing and Remote Access -> Start
                  
                  Next:
                  
                  Control Panel
                  Network and Sharing Center
                  Local Area Connection
                  Properties
                  Sharing
                  Tick the box "Allow other network users to connect through this computer's Internet connection"
                  From the drop-down list select "Local Area Connection 2", or whatever is the connection name of your TAP server connection.
                  
                  regedit
                  
                  Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
                  Value: IPEnableRouter
                  Type: REG_DWORD
                  Data: 0x00000001 (1)
                  
                  1 Reply Last reply Reply Quote 0
                  • S
                    saritikon
                    last edited by

                    добавил push "route 192.168.1.0 255.255.255.0" в конфиг сервера openvpn, сервис перезапустил, на клиентском pfsense сервис переподключился,
                    192.168.1.2 > 10.8.0.1 не идет пинг(

                    на картинке логи клиента openvpn который pfsense
                    c win-сервера ping 10.8.0.2 (до клиента openvpn c pfsense) и обратно - из pfsense до сервера идет стабильно

                    в логах сервера есть таки строчки:
                    Fri Dec 27 17:28:10 2013 client1/10.0.2.2:19773 PUSH: Received control message: 'PUSH_REQUEST'
                    Fri Dec 27 17:28:10 2013 client1/10.0.2.2:19773 SENT CONTROL [client1]: 'PUSH_REPLY,route 192.168.1.0 255.255.255.0,route-gateway 10.8.0.1,topology subnet,ifconfig 10.8.0.2 255.255.255.0' (status=1)

                    sc2.png
                    sc2.png_thumb

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

                      Кстати, все делал по первому туториалу с хабра)
                      http://habrahabr.ru/post/197744/

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

                        С него пингую 10.8.0.2, но не пингую сервер 10.8.0.1 а очень хочется)

                        А причем тут ?!

                        добавил push "route 192.168.1.0 255.255.255.0" в конфиг сервера openvpn, сервис перезапустил, на клиентском pfsense сервис переподключился,

                        Может все таки :

                        В конфигурационном файле сервера - push "route 10.8.0.0 255.255.255.0" и перезапустить службу OpenVPN

                        Будьте внимательнее, п-та.

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

                          Вот вам ответ :

                          https://community.openvpn.net/openvpn/wiki/NatOverWindows2008

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

                            пардон - сначала напутал но потом заметил и исправил на

                            push "route 10.8.0.0 255.255.255.0"
                            нет эффекта.

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

                              @werter:

                              Вот вам ответ :

                              https://community.openvpn.net/openvpn/wiki/NatOverWindows2008

                              может все-таки научить openvpn или pfsense о том что за openvpn клиентом есть сетка?

                              сейчас пробую такой вариант, с директорией ccd
                              http://www.linux.org.ru/forum/admin/4125931

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

                                Вы определитесь - за сервром или за клиентом вам сетка нужна.
                                Из первого поста следует , что вам нужен доступ к серверу опенвпн.

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

                                  @werter:

                                  Вы определитесь - за сервром или за клиентом вам сетка нужна.
                                  Из первого поста следует , что вам нужен доступ к серверу опенвпн.

                                  Совершенно верно, нужна сетка за клиентом. Чтобы LAN клиент мог пинговать OpenVPN сервер. Не помешало бы чтобы сервер тоже пинговал клиентов за pfsense, чтобы принтеры удобно было подключать. Уже незнаю что еще пробовать.

                                  Дело в том, что пару лет назад делал тот же конфиг и спустя сутки ковыряний все завелось. Был старее pfSense и OpenVPN. Обошлось без поднимания маршрутизации на виндовой тачке. Может все-таки на pfSense прописать какой-то маршрут?

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

                                    Совершенно верно, нужна сетка за клиентом. Чтобы LAN клиент мог пинговать OpenVPN сервер

                                    Неверно понимаете работу Опенвпн и маршрутизации в целом . Вам нужно чтобы клиенты за пфсенсом-клиентом знали как добраться до сервера опенвпн?
                                    Для этого на Опенвпн-сервере и вводиться в конфиге директива push "route 10.8.0.0 255.255.255.0".

                                    Не помешало бы чтобы сервер тоже пинговал клиентов за pfsense, чтобы принтеры удобно было подключать

                                    Это уже совсем другая "песня". Для этого на серервере используется директива iroute и\или (неуверен, т.к. с Опенвпн-сервером, работающем на Win не работал) работа с конфигами клиентов в той самой папке ccd

                                    Далее , если вам нужны принтеры , то использовать прийдется tap-адаптер в туннеле (вместо tun). Ибо это NETBIOS.

                                    P.s. Честно ? Я уже "занянчился" объяснять то, что сами можете найти погуглив. И да, разберитесь сперва хотя бы с одной "хотелкой". Тем более что как настраивать Вин-сервер - прямую ссылку я дал.

                                    P.p.s. У вас клиенты за пфсенсом в кач-ве шлюза какой адрес имеют?

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

                                      Здравстуйте!
                                      Успешно поднял сервер, требуемая схема заработала. Большое спасибо за вашу помощь!
                                      Только не получается завести это дело в режиме tap  :( А нужны принтеры и расшаренные общие папки

                                      конфиг сервера в режиме tun (windows 2008):

                                      port 1194
                                      proto udp
                                      #proto tcp

                                      dev tun
                                      #dev tap

                                      #Пути до ключей
                                      ca ca.crt
                                      cert server.crt
                                      key server.key  # This file should be kept secret
                                      dh dh1024.pem

                                      server 10.8.0.0 255.255.255.0
                                      tun-mtu 1450

                                      Если нужно, что бы клиентам выдавался один и тот же адрес при

                                      client-config-dir ccd
                                      route 192.168.1.0 255.255.255.0
                                      route 192.168.3.0 255.255.255.0
                                      client-to-client

                                      keepalive 10 120

                                      comp-lzo
                                      max-clients 100
                                      user nobody
                                      group nobody

                                      persist-key
                                      persist-tun

                                      status openvpn-status.log
                                      log        openvpn.log
                                      verb 5

                                      После того как меняю dev tun на dev tap в логах сервера появляется:

                                      Mon Feb 03 11:31:39 2014 us=188476 OpenVPN ROUTE: OpenVPN needs a gateway parameter for a –route option and no default was specified by either --route-gateway or --ifconfig options
                                      Mon Feb 03 11:31:39 2014 us=188476 OpenVPN ROUTE: failed to parse/resolve route for host/network: 192.168.1.0
                                      Mon Feb 03 11:31:39 2014 us=188476 OpenVPN ROUTE: OpenVPN needs a gateway parameter for a --route option and no default was specified by either --route-gateway or --ifconfig options
                                      Mon Feb 03 11:31:39 2014 us=188476 OpenVPN ROUTE: failed to parse/resolve route for host/network: 192.168.3.0

                                      Нужно менять что-то еще?

                                      И еще смущает такая строчка:
                                      iroute only works with tun-style tunnels

                                      в папке ccd находится конфиги клиентов, вот содержимое:

                                      клиент1:
                                      iroute 192.168.3.0 255.255.255.0
                                      ifconfig-push 10.8.0.9 10.8.0.10

                                      клиент2:
                                      iroute 192.168.1.0 255.255.255.0
                                      ifconfig-push 10.8.0.5 10.8.0.6

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

                                        Проблема была в антивирусе касперского, он блокировал трафик на win-сервере

                                        с dev tun по udp файл-шара винды заработала, что в конечном счете и требовалось!

                                        to werter

                                        Еще раз большое спасибо за внимание и терпение!

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

                                          Пожалуйста. Вот и вы опыт в настройке приобрели. И это хорошо  :D

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