mikrotik+pfsense OpenVPN



  • добрый день.
    настраиваю OpenVPN pear to pear.
    имеется pfsene OpenVPN server(сертификаты сгенерил, добавил их на Milrotik), к нему цепляется Mikrotik, который выступает клиентом. Соединение устанавливается. с Mikrotik локальная сеть за Pfsense пингуется, а в обратном направлении нет.

    в чем может быть причина?



  • @ilshat said in mikrotik+pfsense OpenVPN:

    в чем может быть причина?

    Скорее всего - в отсутствии\неправильной настройке iroute (оно же - IPv4 Remote Network/s ) в Client Specific Overrides



  • Client Specific Overrides - IPv4 Remote Network/s - обязательно настраивать этот раздел?
    просто эти же настройки указываются в настройках сервера OpenVPN



  • @ilshat said in mikrotik+pfsense OpenVPN:

    просто эти же настройки указываются в настройках сервера OpenVPN

    А слово "client" ни о чем не говорит?
    Если коротко - этот раздел (это пункт в разделе) настраивать обязательно. Если вам нужна сеть за клиентом.



  • тогда помогите разобраться ,что писать.
    192.168.0.0/16 - сеть за pf
    192.168.1.0/24 - сеть за mik
    10.0.9.0/24 - сеть туннеля.

    что писать Client Specific Overrides?



  • @ilshat said in mikrotik+pfsense OpenVPN:

    192.168.0.0/16 - сеть за pf
    192.168.1.0/24 - сеть за mik

    Сеть за pf c маской /16 перекрывает сеть за МТ. Для роутинга это неприемлемо.
    Если бы обе стети были /24, в IPv4 Remote Network/s надо было бы писать 192.168.1.0/24



  • что в таком случае делать?



  • @ilshat said in mikrotik+pfsense OpenVPN:

    что в таком случае делать?

    Поменять адресацию сетей. Либо заузить маску за pf до /24, либо перейти, например, на 10.х.х.x/24 за МТ.
    Как вариант - всем любителям использовать 192.168.0.0 я меняю ее на 10.168.0.0/24.
    Необходимости заполнения IPv4 Remote Network/s в Client Specific Overrides это, естественно, не отменяет.



  • понял, спасибо.



  • @pigbrother сделал, результат тот же. трафик ходит только от микротика в сторону pfsense.



  • @serj161 said in mikrotik+pfsense OpenVPN:

    трафик ходит только от микротика в сторону pfsense.

    Где-то ошибка. При правильной настройке все работает.

    1. Все ПК за микротиком имеют шлюзом МТ
    2. Client Specific Overrides настроены правильно (точно ли используется common name клиента МТ?
    3. Брандмауэры в сети за МТ отключены?
    4. Сеть за МТ должна упоминаться и в настройках сервера и в Client Specific Overrides

    Иногда требуется добавить повыше на PF устаревшее, но иногда нужное правило:
    v4 * LAN net * a.b.c.0/24 * * none
    a.b.c.0/24 - сеть за МТ



  • @pigbrother может у вас есть skype? очень нужно закончить этот проект



  • @serj161 said in mikrotik+pfsense OpenVPN:

    @pigbrother может у вас есть skype? очень нужно закончить этот проект

    Могу привести настройки сервера\МТ



  • @pigbrother давайте



  • @serj161 said in mikrotik+pfsense OpenVPN:

    @pigbrother давайте

    Сервер
    /var/etc/openvpn

    dev ovpns4
    verb 1
    dev-type tun
    tun-ipv6
    dev-node /dev/tun4
    writepid /var/run/openvpn_server4.pid
    #user nobody
    #group nobody
    script-security 3
    daemon
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    proto tcp-server
    cipher AES-256-CBC
    auth SHA1
    up /usr/local/sbin/ovpn-linkup
    down /usr/local/sbin/ovpn-linkdown
    local a.b.c.d
    tls-server
    server 10.11.12.0 255.255.255.0
    client-config-dir /var/etc/openvpn-csc/server4
    ifconfig 10.11.12.1 10.11.12.2
    tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'ovpns2' 1"
    lport xxx5
    management /var/etc/openvpn/server4.sock unix
    push "route 10.0.2.0 255.255.255.0"
    ca /var/etc/openvpn/server4.ca 
    cert /var/etc/openvpn/server4.cert 
    key /var/etc/openvpn/server4.key 
    dh /etc/dh-parameters.1024
    crl-verify /var/etc/openvpn/server4.crl-verify 
    persist-remote-ip
    float
    topology subnet
    route 10.0.3.0 255.255.255.0
    

    Client Specific Overrides
    /var/etc/openvpn-csc/server4/common name клиента за Микротик

    iroute 10.0.3.0 255.255.255.0
    

    Микротик

    /interface ovpn-client
    add certificate=cert_name cipher=aes256 comment="OVPN to pfSense" connect-to=a.b.c.d name=\
        ovpn-out1 password=pass port=xxx5 user=user
    

    a.b.c.d - Wan IP pfSense
    xxx5 - Порт Open VPN сервера
    10.0.2.0 - Сеть за pfSense
    10.0.3.0 - сеть за Микротик
    10.11.12.0 - сеть тунеля

    Редактировать конфиги вручную не надо, привел просто для справки.



  • @pigbrother спасибо, попробую



  • @pigbrother видимо делаю что то не так. сеть за Микротик, в том числе и сам микротик недоступны



  • @pigbrother еще немного поясню. Микротик сам выступает клиентом. сертификаты на него загружены, соединяется без проблем



  • @serj161 said in mikrotik+pfsense OpenVPN:

    Микротик сам выступает клиентом. сертификаты на него загружены, соединяется без проблем

    Это как бы было ясно с самого начала.
    Строки, соответствующие моим
    route 10.0.3.0 255.255.255.0
    в настройках сервера
    и
    iroute 10.0.3.0 255.255.255.0
    в Client Specific Overrides
    в ваших конфигах есть?



  • @pigbrother имеются



  • @serj161
    Начиная с версии 6.41 (не уверен, это там где исчезло понятие master port) в RouterOS появились существенные изменения. Возможно - они требуют доп. усилий\правил при настройке Микротик.
    Я на эту(и) версии не переходил, поэтому это только предположения.



  • Наидобрейшего всем!
    Не хочу плодить новых тем, посему подниму эту.
    pfSense 2.3.4 p1 + mikrotik rb950G (6.40.8)
    Настраивал по http://qlr.ro/site-to-site-openvpn-between-pfsense-and-mikrotik/
    Если есть другие ссылки готов посмотреть.
    Естественно не работает.

    ping с pfSense до компьютеров за микротиком идет, при условии указания статического маршрута в отношении ovpn тунеля, (из примера БольшогоБрата) это 10.11.12.0/30 в ovpn-out1
    ping из сети за pfSense до компов за Микротиким нет, а если добавить статический маршрут типа 10.0.2.0/24 в ovpn-out1, (из примера БольшогоБрата), то будет работать.
    Ну и из-за микротика, в сторону pfSense ничего не пингуется, не ip pfSense не сеть за ним.

    @pigbrother said in mikrotik+pfsense OpenVPN:

    @serj161 said in mikrotik+pfsense OpenVPN:

    Микротик сам выступает клиентом. сертификаты на него загружены, соединяется без проблем

    Это как бы было ясно с самого начала.
    Строки, соответствующие моим
    route 10.0.3.0 255.255.255.0
    в настройках сервера
    и
    iroute 10.0.3.0 255.255.255.0
    в Client Specific Overrides
    в ваших конфигах есть?

    Это необходимо добавить в расширенных настройках?
    И что есть Common-Name!?



  • @toxansk Доброго дня
    Проблема , скорее всего , в маршрутизации
    Если делали по инструкции , то настройки Peer to Peer ???
    Local network и Remote Network настроены ??
    Можете показать настройки сервера ?
    Судя по всему Микротик ничего не знает о сети за pfsense
    Можете показать таблицу маршрутизации Микротик ?



  • @konstanti said in mikrotik+pfsense OpenVPN:

    @toxansk Доброго дня

    Если делали по инструкции , то настройки Peer to Peer ???

    Ссылку можно на инструкцию?
    Остально сейчас выложу.



  • @toxansk Вы же сами ссылку указали в своем сообщении
    При правильной настройке в режиме Peer-to-Peer ,
    Маршрут к Local Network передается клиенту
    а маршрут к Remote Network записывается в таблицу маршрутизации PF
    Поэтому , мне и кажется , что Микротик и не знает про Local Network ничего



  • @konstanti
    обрадовался, что еще, что то есть.

    сеть pfSense 192.168.0.0/24
    MK 172.16.4.0/24
    Тунель 10.88.88.0/30

     0 ADS  dst-address=0.0.0.0/0 gateway=172.16.164.1 
            gateway-status=172.16.164.1 reachable via  EOS distance=0 scope=30 
            target-scope=10 vrf-interface=EOS 
    
     1 A S  dst-address=10.88.88.0/30 gateway=ovpn-home-to-office 
            gateway-status=ovpn-home-to-office reachable distance=1 scope=30 
            target-scope=10 
    
     2 ADC  dst-address=172.16.1.0/24 pref-src=172.16.1.254 gateway=LAN 
            gateway-status=LAN reachable distance=0 scope=10 
    
     3   S  dst-address=172.16.2.0/24 gateway=Tula gateway-status=Tula unreachable 
            distance=1 scope=30 target-scope=10 
    
     4 ADC  dst-address=172.16.3.0/24 pref-src=172.16.3.254 gateway=GUEST 
            gateway-status=GUEST reachable distance=0 scope=10 
    
     5 ADC  dst-address=172.16.4.0/24 pref-src=172.16.4.254 gateway=OFFICE 
            gateway-status=OFFICE reachable distance=0 scope=10 
    
     6  DS  dst-address=172.16.4.0/24 gateway=255.255.255.255 
            gateway-status=255.255.255.255 reachable via  ovpn-home-to-office 
            distance=1 scope=30 target-scope=10 
    
     7 ADC  dst-address=172.16.164.0/23 pref-src=172.16.165.85 gateway=EOS 
            gateway-status=EOS reachable distance=0 scope=10 
    
     8 A S  dst-address=192.168.0.0/24 gateway=ovpn-home-to-office 
            gateway-status=ovpn-home-to-office reachable distance=1 scope=30 
            target-scope=10 
    
     9  DS  dst-address=192.168.0.0/24 gateway=255.255.255.255 
            gateway-status=255.255.255.255 reachable via  ovpn-home-to-office 
            distance=1 scope=30 target-scope=10 
    
    10 ADC  dst-address=255.255.255.255/32 pref-src=10.88.88.2 
            gateway=ovpn-home-to-office 
            gateway-status=ovpn-home-to-office reachable distance=0 scope=10
    


  • @toxansk Хммм
    знает Микротик про 192.168.0.0 /24
    Тогда все равно можно взглянуть на настройки сервера ?
    И еще ( для успокоения ) вывод команды
    netstat -r | grep 172.16.4 на pfsense
    Правила разрешаюшие на Openvpn интерфейсе прописаны ?



  • @konstanti said in mikrotik+pfsense OpenVPN:

    netstat -r | grep 172.16.4

    172.16.4.0 10.88.88.2 UGS ovpns1

    dev ovpns1
    verb 1
    dev-type tun
    dev-node /dev/tun1
    writepid /var/run/openvpn_server1.pid
    #user nobody
    #group nobody
    script-security 3
    daemon
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    proto tcp-server
    cipher AES-256-CBC
    auth SHA1
    up /usr/local/sbin/ovpn-linkup
    down /usr/local/sbin/ovpn-linkdown
    local 127.0.0.1
    tls-server
    ifconfig 10.88.88.1 10.88.88.2
    tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'my.name' 1"
    lport 1196
    management /var/etc/openvpn/server1.sock unix
    max-clients 1
    push "route 192.168.0.0 255.255.255.0"
    route 172.16.4.0 255.255.255.0
    ca /var/etc/openvpn/server1.ca 
    cert /var/etc/openvpn/server1.cert 
    key /var/etc/openvpn/server1.key 
    dh /etc/dh-parameters.1024
    push "route 172.16.4.0 255.255.255.0"
    

    common-name

    iroute 172.16.4.0 255.255.255.0
    iroute 172.16.4.0 255.255.255
    


  • 
     1 A S  dst-address=10.88.88.0/30 gateway=ovpn-home-to-office 
            gateway-status=ovpn-home-to-office reachable distance=1 scope=30 
            target-scope=10 
    
    
     8 A S  dst-address=192.168.0.0/24 gateway=ovpn-home-to-office 
            gateway-status=ovpn-home-to-office reachable distance=1 scope=30 
            target-scope=10 
    

    В ручную добавленные маршруты.



  • @toxansk Так-то все настроено верно
    не совсем понимаю смысл команды iroute в этом случае
    Pf про 172.16.4.0 знает
    Микротик тоже про 192.168.0.0
    Давайте так - PF пингует 172.16.4.254 ?
    Микротик пингует 192.168.0. XXX ( lan интерфейс pf) ?
    Правила разрешающие прописаны на OpenVpn интрефейсе PF ?
    и еще
    push "route 172.16.4.0 255.255.255.0" - вот это откуда в настройках сервера ?
    и еще не совсем понимаю - Local 127.0.0.1 - поменяйте на WAN



  • @toxansk Так-то все настроено верно
    не совсем понимаю смысл команды iroute в этом случае
    В примере настройки их нет. Выше в теме есть. Для чего не вразумил.
    Pf про 172.16.4.0 знает
    Микротик тоже про 192.168.0.0
    Давайте так - PF пингует 172.16.4.254 ?
    Если включить маршурeты созданyые вручную, то работае от микротика в pfSense
    Микротик пингует 192.168.0. XXX ( lan интерфейс pf) ?
    Да
    Правила разрешающие прописаны на OpenVpn интрефейсе PF ?
    на пфСенсе было v4 TCP LAN net * 172.16.4.0/24 * * none
    исправил
    v4 * LAN net * 172.16.4.0/24 * * none
    и еще
    push "route 172.16.4.0 255.255.255.0" - вот это откуда в настройках сервера ?
    Все пробывал подряд, не заню для чего и куда ее надо.
    и еще не совсем понимаю - Local 127.0.0.1 - поменяйте на WAN
    В примере так.



  • @toxansk
    Я правильно понял , что сейчас все работает ?
    ICMP - свой протокол ( не TCP)
    он был запрещен ??? теперь разрешен ??
    Мое резюме - push "route 172.16.4.0 255.255.255.0" не надо
    iroute - тоже
    127.0.0.1 я бы поменял на WAN
    и тогда не нужна непонятная переадресация портов на WAN интерфейсе
    и еще - вместо tcp использовал бы udp ( не забудьте открыть 1196 udp на WAN)



  • @konstanti
    udp микротик не может, как бы!?

    Сейчас вообще все поломалось :)



  • @toxansk не знаю микротик )) сорри , действую по алгоритму нормальных устройств )
    Просто на tcp openvpn работает ооочень медленно
    Итак , все работает ????



  • @konstanti said in mikrotik+pfsense OpenVPN:

    @toxansk не знаю микротик )) сорри , действую по алгоритму нормальных устройств )
    Просто на tcp openvpn работает ооочень медленно
    Итак , все работает ????
    Да. Если прописать маршрут на тунель и на подсеть за pfSense.
    А почем ув примере все само заработало не знаю.

    На, до 100Мбит канале, не более 7 Мбит.

    Но Микроти+пфСенсе временно. Скоро поставлю два пфСенсе.



  • @toxansk Ну , и отлично
    Поправьте конфиги ))
    Мне вообще OpenVpn не очень по душе приходится . Я больше к IPSEC тяготею
    А в 2.4.4 можно уже VTI спокойно использовать . Но это так , мысли вслух )



  • @konstanti said in mikrotik+pfsense OpenVPN:

    @toxansk Ну , и отлично
    Поправьте конфиги ))
    Мне вообще OpenVpn не очень по душе приходится . Я больше к IPSEC тяготею
    А в 2.4.4 можно уже VTI спокойно использовать . Но это так , мысли вслух )

    А поправить конфиги для повышения скорости?

    А что производительнее при профих равных условиях?

    Да и СпАСИБО :)

    Косяк был в настройка ovpn на стороне pfSense?прошляпил TCP, а не any.



  • @toxansk поддержка IPSEC встроена в ядро PFSENSE , поэтому при многоядерных системах используются все ядра , а вот с OpenVPn - вопрос
    Сколько не тестировал , у меня IPSEC туннель по скорости был раз в 2 выше чем OpenVPN



  • @toxansk где именно нужно указать TCP?



  • @serj161 Я так понял , в правилах на lan интерфейсе
    был указан только tcp
    поэтому пинги не бегали
    и микротик не поддерживает udp для OpenVpn