OPENVPN объединить две сети



  • Здравствуйте!
    У меня в качестве шлюза pfsense 2.1.
    На нем поднят openvpn сервер .
    Адреса в локалке 10.7.11.0/24.

    у другого провайдера стоит router openowrt,  на котором поднимается openvpn клиент panino.
    Адреса локалки за router 10.7.13.0/24.
    Соединение происходит нормально, однако доступа из локальной сети 10.7.11.0 в 10.7.13.0 отстутсвует.
    Помогите пожалуйста настроить. Конфиги ниже.
    Routing tables

    Destination Gateway Flags Refs Use Mtu Netif Expire
    0.0.0.0/24 link#1 U 0 0 1500 fxp0 =>
    default 192.168.2.1 UGS 0 96892 1492 fxp0
    10.0.0.1 link#26 UH 0 0 1492 pptp0
    10.0.4.32 link#26 UHS 0 0 16384 lo0
    10.1.4.0/24 link#3 U 0 2717536 1500 vr0
    10.1.4.226 link#3 UHS 0 0 16384 lo0
    10.7.11.0/24 link#2 U 0 123013983 1500 rl0
    10.7.11.1 link#2 UHS 0 0 16384 lo0
    10.7.12.0/24 10.7.12.2 UGS 0 5989 1500 ovpns1
    10.7.12.1 link#10 UHS 0 0 16384 lo0
    10.7.12.2 link#10 UH 0 4 1500 ovpns1
    10.7.13.0/24 10.7.12.2 UGS 0 19 1500 ovpns1

    Firewall: Rules

    OpenVPN
    ID Proto  Source Port Destination Port Gateway Queue Schedule Description

              • none   OpenVPN wizard

    сервер

    dev ovpns1
    dev-type tun
    dev-node /dev/tun1
    writepid /var/run/openvpn_server1.pid
    script-security 3
    daemon
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    proto udp
    cipher BF-CBC
    up /usr/local/sbin/ovpn-linkup
    down /usr/local/sbin/ovpn-linkdown
    local 192.168.2.101
    tls-server
    server 10.7.12.0 255.255.255.0
    client-config-dir /var/etc/openvpn-csc
    username-as-common-name
    auth-user-pass-verify /var/etc/openvpn/server1.php via-env
    tls-verify /var/etc/openvpn/server1.tls-verify.php
    lport 5861
    management /var/etc/openvpn/server1.sock unix
    max-clients 20
    push "route 10.7.11.0 255.255.255.0"
    client-to-client
    ca /var/etc/openvpn/server1.ca
    cert /var/etc/openvpn/server1.cert
    key /var/etc/openvpn/server1.key
    dh /etc/dh-parameters.1024
    tls-auth /var/etc/openvpn/server1.tls-auth 0
    comp-lzo
    persist-remote-ip
    float
    route 10.7.13.0 255.255.255.0

    ccd panino

    iroute 10.7.13.0 255.255.255.0
    ifconfig-push 10.7.11.0 255.255.255.0

    конфиг роутера  panino

    dev tun
    persist-tun
    persist-key
    proto udp
    cipher BF-CBC
    tls-client
    client
    resolv-retry infinite
    remote x.x.x.x 5861
    pull
    route 10.7.11.0 255.255.255.0
    tls-remote server sertif
    auth-user-pass
    ca [inline]
    cert [inline]
    key [inline]
    tls-auth [inline] 1
    comp-lzo



  • Routing tables
    …..
    10.7.13.0/24    10.7.12.2    UGS    0    19    1500    ovpns1

    Маршрут из сети сервера в сеть клиента есть.

    ccd panino
    iroute 10.7.13.0 255.255.255.0
    ifconfig-push 10.7.11.0 255.255.255.0

    В конфиге на пф во вкладке Client Specific Overrides в Common name правильно значение указано?
    Подсказка :

    NOTE: Common Name should be the same as specified in the clients certificate:

    If you have forgotten this name go to System\Cert Manager\Certificates and check the value of the CN for your VPN user

    Там же ниже в Advanced должно быть  :

    iroute 10.7.13.0 255.255.255.0**;**

    Именно с ;

    И что там делает ifconfig-push 10.7.11.0 255.255.255.0 ?! Уберите!
    Ибо написано неверно - это задание static ip для подключающегося клиента. И что вы ему выдаете???

    P.s. Для понимания - http://fastinetserver.wordpress.com/2013/03/09/pfsense-openvpn-static-ip-for-clients/



  • Спасибо!

    Теперь у меня вопрос на стороне openowrt. Не пускает в локалку, будем разбираться



  • Разбирайтесь с NAT-ом на OpenWRT

    P.s. Что-то типа - https://toster.ru/q/65028



  • Настроил нат на openwrt.
    СейчАс с сервера openvpn  пингует локалку за клиентом, т.е. 10.7.13.0.
    Однако из локалки 10.7.11.0 пинги в 10.7.13.0. не ходят



  • Таблицу маршрутов на Openwrt смотрите.



  • строчки
    iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE
    etc.rc.local
    недостаточно?

    route -n
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0             x.x.x.x              0.0.0.0         UG    0      0        0 eth0.2
    10.7.11.0       10.7.12.5       255.255.255.0   UG    0      0        0 tun0
    10.7.12.0       10.7.12.5       255.255.255.0   UG    0      0        0 tun0
    10.7.12.5       0.0.0.0         255.255.255.255 UH    0      0        0 tun0
    10.7.13.0       0.0.0.0         255.255.255.0   U     0      0        0 br-lan
    x.x.x.x           0.0.0.0         255.255.255.0   U     0      0        0 eth0.2
    


  • werterZ я прописал, то что вы указывали в другой теме на openwrt.

    Сервер pfsense с ip 10.7.11.1, является сервером openvpn. На  данный момент с него пингуются адреса из локалки за openwrt клиентом(10.7.13.х).
    Я с компьютера из локалки c ip 10.7.11.5, не могу достучаться до 10.7.13.х

    traceroute to 10.7.13.4 (10.7.13.4), 30 hops max, 60 byte packets
    1  192.168.2.1 (192.168.2.1)  1.671 ms  1.628 ms  1.981 ms
    2  192.168.1.1 (192.168.1.1)  4.501 ms  4.507 ms  4.452 ms

    Почему pfserver направляет  пакеты в 192.168.2.1?

    Правила в firewall

    ![Без имени.png](/public/imported_attachments/1/Без имени.png)
    ![Без имени.png_thumb](/public/imported_attachments/1/Без имени.png_thumb)



  • Рисуйте подробную схему ваших сетей.



  • При этом openvpn адрес  openwrt шлюза с моего компа (10.7.11.5) пингуется
    shor@shor-GX60:~$ traceroute 10.7.12.6
    traceroute to 10.7.12.6 (10.7.12.6), 30 hops max, 60 byte packets
    1  10.7.11.1 (10.7.11.1)  1.551 ms  2.200 ms  2.515 ms
    2  10.7.12.6 (10.7.12.6)  228.793 ms  231.124 ms  231.167 ms

    ![Untitled Diagram.png](/public/imported_attachments/1/Untitled Diagram.png)
    ![Untitled Diagram.png_thumb](/public/imported_attachments/1/Untitled Diagram.png_thumb)



  • Скрины вкладок OpenVPN сервера и Client можно?



  • 3 скрина

    ![Снимок экрана от 2014-02-27 21:08:50.jpg](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:08:50.jpg)
    ![Снимок экрана от 2014-02-27 21:08:50.jpg_thumb](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:08:50.jpg_thumb)
    ![Снимок экрана от 2014-02-27 21:08:16.jpg](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:08:16.jpg)
    ![Снимок экрана от 2014-02-27 21:08:16.jpg_thumb](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:08:16.jpg_thumb)
    ![Снимок экрана от 2014-02-27 21:08:33.jpg](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:08:33.jpg)
    ![Снимок экрана от 2014-02-27 21:08:33.jpg_thumb](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:08:33.jpg_thumb)



  • client

    ![Снимок экрана от 2014-02-27 21:07:49.jpg](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:07:49.jpg)
    ![Снимок экрана от 2014-02-27 21:07:49.jpg_thumb](/public/imported_attachments/1/Снимок экрана от 2014-02-27 21:07:49.jpg_thumb)



  • На первом скрине сверху в Advanced в директиве route в конце нет точки с запятой в конце. Может это и не существенно
    всего лишь для одной команды, но все же есть синтаксис и надо его придерживаться.

    Далее , вы уверены , что Common Name в Client Specific Overrides указано верно? Скрин System: Certificate Manager : Certificates покажите.



  • Пожалуйста
    Также скрин где видно, какой клиент подключился

    ![Снимок экрана от 2014-02-28 12:39:17.png](/public/imported_attachments/1/Снимок экрана от 2014-02-28 12:39:17.png)
    ![Снимок экрана от 2014-02-28 12:39:17.png_thumb](/public/imported_attachments/1/Снимок экрана от 2014-02-28 12:39:17.png_thumb)
    ![Без имени.png](/public/imported_attachments/1/Без имени.png)
    ![Без имени.png_thumb](/public/imported_attachments/1/Без имени.png_thumb)



  • Ок. Тогда так  - вы не можете "достучаться" до сети за Openwrt, верно? Судя по всему проблем с pf нет - коннект есть , маршруты есть.
    Разбирайтесь c Openwrt - правила iptables, NAT.

    P.s. http://theitdepartment.wordpress.com/2009/06/08/openwrt-openvpn-routed-lans/

    [root@client openvpn]# iptables -t nat -A POSTROUTING -s 192.168.255.2 -d 10.0.0.0/24 -j SNAT –to-source 192.168.1.1
    [root@client openvpn]# iptables -A FORWARD -i eth0 -o tun0 -s 192.168.1.0/24 -d 10.0.0.0/24 -j ACCEPT
    [root@client openvpn]# iptables -A FORWARD -i tun0 -o eth0 -s 10.0.0.0/24 -d 192.168.1.0/24 -j ACCEPT

    Правила адаптируйте под свои и включите NAT на Openwrt .
    И не забывайте после изменения правил iptables или перезапускать iptables или перезагружать роутер с OpenWRT!



  • мне кажется проблема все-таки в pf

    из локалки  10.7.11.x на openvpn ip openwrt  10.7.12.6
    traceroute to 10.7.12.6 (10.7.12.6), 30 hops max, 60 byte packets
    1 10.7.11.1 (10.7.11.1)  1.594 ms  1.968 ms  2.632 ms
    10.7.12.6 (10.7.12.6)  64.333 ms  72.619 ms  75.063 ms

    тогда как если я пытаюсь достучаться на 10.7.13.1(внутрений ip) openwrt
    traceroute to 10.7.13.1 (10.7.13.1), 30 hops max, 60 byte packets
    192.168.2.1 (192.168.2.1)  1.886 ms  1.852 ms  1.835 ms

    То pfsense направляет пакеты на wan интерфейс
    Почему?



  • Перезагрузите pfsense



  • Перезагрузка не помогла

    $traceroute 10.7.12.6
    traceroute to 10.7.12.6 (10.7.12.6), 30 hops max, 60 byte packets
    1  10.7.11.1 (10.7.11.1)  1.686 ms  1.666 ms  2.099 ms
    2  10.7.12.6 (10.7.12.6)  86.667 ms  90.031 ms  92.376 ms
    $ traceroute 10.7.13.1
    traceroute to 10.7.13.1 (10.7.13.1), 30 hops max, 60 byte packets
    1  192.168.2.1 (192.168.2.1)  1.577 ms  1.544 ms  1.528 ms



  • Еще раз route -n на pfsense при этом покажите.



  • по ssh

    [2.0.1-RELEASE][root@pfsense.work]/root(10): route -n
    usage: route [-dnqtv] command [[modifiers] args]
    

    gui
    Diagnostics->routes

    
    IPv4
    Destination 	Gateway 	Flags 	Refs 	Use 	Mtu 	Netif 	Expire
    0.0.0.0/24 	link#1 	U 	0 	0 	1500 	fxp0 	=>
    default 	192.168.2.1 	UGS 	0 	23513 	1500 	fxp0 	 
    10.7.11.0/24 	link#2 	U 	0 	2835752 	1500 	rl0 	 
    10.7.11.1 	link#2 	UHS 	0 	0 	16384 	lo0 	 
    10.7.12.0/24 	10.7.12.2 	UGS 	0 	44 	1500 	ovpns1 	 
    10.7.12.1 	link#10 	UHS 	0 	0 	16384 	lo0 	 
    10.7.12.2 	link#10 	UH 	0 	0 	1500 	ovpns1 	 
    10.7.13.0/24 	10.7.12.2 	UGS 	0 	4010 	1500 	ovpns1 	 
    192.168.2.0/24 	link#1 	U 	0 	716 	1500 	fxp0 	 
    192.168.2.101 	link#1 	UHS 	0 	0 	16384 	lo0 	 
    192.168.200.9 	00:0c:6e:58:8d:58 	UHS 	0 	11 	1500 	fxp0 	 
    192.168.200.10 	00:0c:6e:58:8d:58 	UHS 	0 	11 	1500 	fxp0 	 
    192.168.200.15 	00:0c:6e:58:8d:58 	UHS 	0 	11 	1500 	fxp0 	 
    


  • А покажите-ка правила NAT на pfsense.



  • эти?

    ![Без имени.png](/public/imported_attachments/1/Без имени.png)
    ![Без имени.png_thumb](/public/imported_attachments/1/Без имени.png_thumb)



  • А на локальной машине, с к-ой пингуете 13-ую сеть нет случаем старых постоянных маршрутов? Команда route print в Win.



  • Локальная машина Ubuntu
    route -n

    Таблица маршутизации ядра протокола IP
    Destination Gateway Genmask Flags Metric Ref Use Iface
    0.0.0.0         10.7.11.1       0.0.0.0         UG    0      0        0 wlan0
    10.7.11.0       0.0.0.0         255.255.255.0   U     9      0        0 wlan0
    

    Magic?



  • Радикальная мера:
    Вырузить конфиг -> сбросить pfsense в дефолтные настройки -> настроить только проблемный OpenVPN и проверить работоспособность.



  • В понедельник попробую, спасибо.



  • подскажите а возможно сохранить сертификат openvpn сервера, чтобы не генерирровать его заново?
    Или лучше сгенерировать по новой?



  • Лучше заново генерируйте. Это не сложно и не долго.

    P.s. Повторюсь, после переустановки настраивайте и проверяйте сперва самую проблемную часть!



  • нтересная ситуация. Я отключил резервный канал интернета и шлюз начал нормально пропускать меня в сеть 10.7.13.1.( за роутером).

    Получается проблема в мультиване.
    Возможно это как-то решить? С чего начать?


Log in to reply