OpenVPN PfSense&OpenWRT



  • Удавалось ли кому нибудь соединить эти два устройства?
    Проблема в выгрузке сертификатор, по умолчанию pfsense выгружает их в p12 формате, а openwrt воспронимает только по классическим трем ключам.



  • 1. Ключи и сертификаты можно забрать через SCP тут:
    /var/etc/openvpn
    2. Или тут System: Certificate Manager
    Справа от каждого сертификата есть кнопки export cert и export key



  • @pigbrother:

    1. Ключи и сертификаты можно забрать через SCP тут:
    /var/etc/openvpn
    2. Или тут System: Certificate Manager
    Справа от каждого сертификата есть кнопки export cert и export key

    Спасибо, сейчас попробую.



  • Если задействовано Enable authentication of TLS packets, то ключ берем (копируем в буфер обмена) в настройках сервера и сохраням напимер, как ta.key



  • 2 Olejka39

    Что за роутер у Вас и какая версия OpenWRT исп-ся ?



  • @werter:

    2 Olejka39

    Что за роутер у Вас и какая версия OpenWRT исп-ся ?

    Lynksys by Cisco WRT160NL
    прошивка OpenWrt Chaos Calmer 15.05



  • 2 Olejka39

    Действительно, Вам или ОпенВРТ или ДД-ВРТ подойдут. В последней - настройка ОпенВПН из ГУИ.

    З.ы. Жаль, что Ваш роутер на Атеросе, а не на Броадкоме построен. Так бы tomatousb туда встала (http://tomato.groov.pl/?page_id=31).

    2 All

    Коллеги, сейчас в продаже имеется недорогой Asus RT-N11P  - https://wikidevi.com/wiki/ASUS_RT-N11P
    После перепрошивки по статье http://nastroisam.ru/asus-padavan/, роутер превращается в тыкву приличный аппарат (openvpn-клиент\сервер и т.д.).

    Прямая ссылка - https://drive.google.com/folderview?id=0B0clSzFg6jb9ejVLX0cyR0ZpMWs&usp=sharing#list

    Спасибо ув. Padavan-у за труды.

    З.з.ы. Еще имеется wive-ng (hw nat offload eth\wireless) под него - http://sourceforge.net/projects/wive-ng/



  • tomatousb - вкуснее?
    Пока вожусь с опенвпн, не подключается, хотя сертификаты верно подсунул… пока думаю где косячу =)

    Победил все кроме роутинга, но это тоже сейчас сделаю.
    Вообщем, для коннекта OpenWRT к Серверу OpenVPN via PfSense, достаточно штатным механизмом сделать выгрузку ключей, и прописать их. Можно в консоли. Выкладываю рабочий пример.

    config openvpn 'malygina'
            option nobind '1'
            option float '1'
            option client '1'
            option reneg_sec '0'
            option dev 'tun'
            option verb '3'
            option persist_tun '1'
            option persist_key '1'
            option remote '195.9.20.20'
            option pkcs12 '/root/ded.p12'
            option tls_client '1'
            option cipher 'AES-128-CBC'
            option auth 'SHA1'
            option comp_lzo 'no'
            option proto 'udp'
            option tls_auth '/root/ded-tls.key 1'
            option enabled '1'
            option pull '1'



  • Для устройства OpenWRT видно полученные со стороны сервера маршруты.
    Они корректны.
    Но пингов до сети сервера ( 192.168.2.1 ) нету.
    Куда копать? Файервол на OpenWRT?

    root@Dedovsk:~# route
    Kernel IP routing table
    Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
    default        host-77-41-48-1 0.0.0.0        UG    0      0        0 eth1
    10.3.8.0        10.3.8.5        255.255.255.0  UG    0      0        0 tun0
    10.3.8.5        *              255.255.255.255 UH    0      0        0 tun0
    77.41.48.0      *              255.255.240.0  U    0      0        0 eth1
    77.41.48.1      *              255.255.255.255 UH    0      0        0 eth1
    192.168.1.0    *              255.255.255.0  U    0      0        0 br-lan
    192.168.2.0    10.3.8.5        255.255.255.0  UG    0      0        0 tun0
    192.168.3.0    10.3.8.5        255.255.255.0  UG    0      0        0 tun0



  • tracert с машины за сервером до машины за клиентом и смотреть где затыкается.

    Вы iroute до сети за клиентом на pfsense добавили в Client specific overrides?

    Куда копать? Файервол на OpenWRT?

    Вполне.

    http://wiki.openwrt.org/doc/howto/vpn.client.openvpn.tun

    Modify your firewall

    In LuCI go Network → Interfaces

    Create new Interfaces

    Add new interface → vpn → Protocol = Unmanaged on Tab Physical Settings click Ehternet Adapter: tun0 and Save

    Add new interface → vpn2 → Protocol = Unmanaged on Tab Physical Settings click Ehternet Adapter: tun1 and Save

    Now the Firewall go to Network → Firewall → General Settings

    Zones Add

    Name: VPN

    Input: accept

    Output: accept

    Forward: accept

    Masquerading: x

    Covered networks: vpn = x , vpn2=x

    Inter-Zone Forwarding

    Allow forward to destination zones: lan=x

    Allow forward from source zones: lan=x

    The result of firewall config

    /etc/config/firewall

    config defaults
    	option syn_flood '1'
    	option input 'ACCEPT'
    	option output 'ACCEPT'
    	option forward 'REJECT'
    
    config zone
    	option name 'lan'
    	option input 'ACCEPT'
    	option output 'ACCEPT'
    	option forward 'REJECT'
    	option network 'lan'
    
    config zone
    	option name 'wan'
    	option network 'wan'
    	option input 'REJECT'
    	option output 'ACCEPT'
    	option forward 'REJECT'
    	option masq '1'
    	option mtu_fix '1'
    
    config zone
    	option name 'vpn'
    	option input 'ACCEPT'
    	option output 'ACCEPT'
    	option forward 'ACCEPT'
    	option masq '1'
    	option network 'vpn vpn2'
    
    config forwarding
    	option src 'lan'
    	option dest 'wan'
    
    config rule
    	option name 'Allow-DHCP-Renew'
    	option src 'wan'
    	option proto 'udp'
    	option dest_port '68'
    	option target 'ACCEPT'
    	option family 'ipv4'
    
    config rule
    	option name 'Allow-Ping'
    	option src 'wan'
    	option proto 'icmp'
    	option icmp_type 'echo-request'
    	option family 'ipv4'
    	option target 'ACCEPT'
    
    config forwarding
    	option src 'vpn'
    	option dest 'lan'
    
    config include
    	option path '/etc/firewall.user'
    
    config forwarding
    	option dest 'vpn'
    	option src 'lan'
    
    


  • 2 Olejka39

    И еще.  Для доступа из сети за сервером в сеть за клиентом , на сервере в fw на LAN необходимо создать явное разрешающее правило вида :

    • LAN net * remote_net * * *

    Поставить его самым первым (в зав-ти от условий, конечно). Можно и во Floating rules впихнуть вместо lan.

    Это особенность 2.1.х и новее.


Log in to reply