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

    VPN+VLAN+NAT

    Scheduled Pinned Locked Moved Russian
    6 Posts 2 Posters 1.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.
    • S
      schmel
      last edited by

      Приветствую, тема OpenVPN очень заезжена. Но тут не нашел решения.
      Есть два сервера pfsense, каждый является шлюзом для множества сетей (на каждом по 15Vlan.)
      Так же настроен OpenVPN на WAN интерфейсах. На одном pfsense в качестве сервера - на другом в качестве клиента.
      Сети сервера: 192.168.1.0, клиента 192.168.2.1

      Настройки сервера

      route 192.168.0.0 255.255.0.0;
      push "route 192.168.0.0 255.255.0.0";
      client-to-client;
      

      Все прекрасно работает.
      Но вот понадобилось поднять на одном из vlan клиент openvpn. Сервер на машине с Linux. Сеть за сервером 192.168.100.0, сеть клиента 10.2.16.0
      Клиент делаю на psense, где уже есть клиентское соединение. Создаю второй клиент, в качестве интерфейса выбираю 16 vlan (с этого интерфейса необходимо настроить доступ.)
      Конфиг сервера:
      eth0 - инет.
      virbr1 - lan

      /etc/arno-iptabless-firewall/custom-rules
      
      iptables -A FORWARD -i virbr1 -o eth0 -j ACCEPT
      iptables -A FORWARD -i eth0 -o virbr1 -m state --state ESTABLISHED,RELATED -j ACCEPT
      iptables -A FORWARD -i virbr1 -o tun0 -j ACCEPT
      iptables -A FORWARD -i tun0 -o virbr1 -m state --state ESTABLISHED,RELATED -j ACCEPT
      # Allow TUN interface connections to OpenVPN server
      iptables -A INPUT -i tun+ -j ACCEPT
       # Allow TUN interface connections to be forwarded through other interfaces
      iptables -A FORWARD -i tun+ -j ACCEPT
       # Allow TAP interface connections to OpenVPN server
      iptables -A INPUT -i tap+ -j ACCEPT
       # Allow TAP interface connections to be forwarded through other interfaces
      iptables -A FORWARD -i tap+ -j ACCEPT
      iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j SNAT --to-source 14.36.187.233
      
      ``` 
      /etc/openvpn/server.conf
      

      dev tun
      proto udp
      ca /etc/openvpn/keys/ca.crt
      cert /etc/openvpn/keys/server.crt
      key /etc/openvpn/keys/server.key  # This file should be kept secret
      dh /etc/openvpn/keys/dh1024.pem
      server 10.8.0.0 255.255.255.0
      ifconfig-pool-persist ipp.txt
      route 10.2.16.0 255.255.255.0 # сеть за клиентом
      push "route 192.168.100.0 255.255.255.0"
      push "dhcp-option DNS 8.8.8.8"
      push "dhcp-option DNS 4.4.4.4"
      comp-lzo
      persist-key
      persist-tun
      log        /var/log/openvpn.log
      verb 3

      
      настройки fw pfsense:
      vlnan16_net * * * * (разрешено все.)
      
      таблица на pfsense:
      
      > [2.1-RELEASE][admin@probi-vol.localdomain]/root(1): netstat -r
      > Routing tables
      > 
      > Internet:
      > Destination        Gateway            Flags    Refs      Use  Netif Expire
      > default            host-85-237-59-129 UGS        0 84724521 em1_vl
      > 
      > 10.2.16.0          link#25            U          0  1628062 em0_vl
      > 10.2.16.1          link#25            UHS        0        6    lo0
      > 
      > 10.8.0.1/32        10.8.0.33          UGS        0        0 ovpnc2
      > 10.8.0.33          link#39            UH          0        0 ovpnc2
      > 10.8.0.34          link#39            UHS        0        0    lo0
      > 
      > 10.16.0.0          10.16.0.29        UGS        0        0 ovpnc1
      > 10.16.0.29        link#32            UH          0        0 ovpnc1
      > 10.16.0.30        link#32            UHS        0        0    lo0
      > 85.237.59.128/28  link#9            U          0        0 em1_vl
      > host-85-237-59-130 link#9            UHS        0        0    lo0
      > localhost          link#5            UH          0      852    lo0
      > 192.168.0.0        10.16.0.29        UGS        0  1848182 ovpnc1
      > 192.168.1.0        10.16.0.29        UGS        0  205616 ovpnc1
      > 192.168.3.0        link#8            U          0 318126921 em0_vl
      > probi-vol          link#8            UHS        0        0    lo0
      > 192.168.100.0      10.8.0.33          UGS        0        6 ovpnc2
      
      если выбрать диагностику - пинг. интерфейс vlan16, ping 192.168.100.2 - пакеты отбрасываются. если выбрать default - то пинг идет.
      
      

      Ping output:
      PING 192.168.100.1 (192.168.100.1) from 10.2.16.1: 56 data bytes

      --- 192.168.100.1 ping statistics ---
      3 packets transmitted, 0 packets received, 100.0% packet loss

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

        Судя по таблице на pf :

        192.168.100.0      10.8.0.33          UGS        0        6 ovpnc2

        Он все пакеты , адресованные сети 192.168.100.0 отправляет через ovpnc2.
        Далее, выбирая в диагностике default в кач-ве интерфейса , то прохождение пакетов будет согласно таблице маршрутизации (см. выше). Не стоит выбирать конкретный интерфейс.

        Что Вас смущает?

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

          смущает то, что из сети 10.2.16.0 (сеть vlan_16, на этом же интерфейсе поднят клиент openvpn - ovpnc2) невозможно получить доступ к сети за сервером OpenVPN (192.168.100.0/24). Возможно дело в фаерволле.
          Но на интерфейсе OpenVPN разрешено все, и в правилах на vlan_16 тоже разрешено все.
          Причем из сети 10.2.16.0 пингуется ip туннеля 10.8.0.34
          Диагностикой я смотрю появляется ли доступ с интерфейса 10.2.16.1 в удаленную сеть, если появится на этом интерфейсе, то и у пользователей сети все должно быть ок.

          ![?????? ?????? ?? 2014-02-28 16:00:45.png](/public/imported_attachments/1/?????? ?????? ?? 2014-02-28 16:00:45.png)
          ![?????? ?????? ?? 2014-02-28 16:00:45.png_thumb](/public/imported_attachments/1/?????? ?????? ?? 2014-02-28 16:00:45.png_thumb)
          ![?????? ?????? ?? 2014-02-28 15:59:56.png](/public/imported_attachments/1/?????? ?????? ?? 2014-02-28 15:59:56.png)
          ![?????? ?????? ?? 2014-02-28 15:59:56.png_thumb](/public/imported_attachments/1/?????? ?????? ?? 2014-02-28 15:59:56.png_thumb)

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

            Разбирайтесь с Linux-сервером. Особенно с директивой iroute и с конфигурационным файлом клиента.

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

              спасибо, заработало.
              сделал папку ccd, в ней файл с именем как у сертификата, а в нем прописал iroute 10.2.16.0 255.255.255.0;
              в server.conf добавил route 10.2.16.0 255.255.255.0
              все работает.

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

                Ну и хорошо  :D

                P.s. Добавьте в название темы фразу [РЕШЕНО] , пож-та.

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