OpenVPN zu Mikrotik



  • Hallo,

    ich probiere jetzt schon ein paar Tage herun, bekommen es aber nicht zum Laufen. Ich möchte einen OpenVPN-Tunnel zum Mikrotik bei meiner Mutter aufbauen. Die Pfsense soll der Server sein, und der Mikrotik der Client der die Verbindung aufbaut.

    Von meinem Smartphone kann ich eine OpenVPN aufbauen, das funktioniert prima.

    Nur vom Mikrotik bekomme ich es nicht zum laufen. Kennt jenamd eine deutsche Anleitung. Wenn ich es richtig verstanden habe brauche ich auf der pfsense einen OpenVPN-Server und auf dem Mikrotik einen Client. Welche Zertifikate muss ich auf den Mikrotik übertragen.

    Google ist ein bisschen verwirrend.

    Danke für die Unterstützung. :'(



  • Hallo,

    habe nach diesen Howto meinen OpenVPN aufgebaut:

    : site-to-site between pfSense and MikroTik:

    172.29.174.0/24 -> (pfSense 1.1.1.1) -> Internet <- (2.2.2.2 NetgearRouter)  <- Mikrotik 192.168.179.215/24

    pfSense:

    1. System -> Cert Manager -> CAs
    Create new CA (vpn-tunnel-ca). Export "CA cert" file (my-ca.crt).

    2. System -> Cert Manager -> Certificates
    Create two certificates (use CA created above) - one for the VPN Server (vpn-tunnel) and one for the MikroTik client (mik-vpn). Export cert and key files for client certificate (mik-vpn.crt and mik-vpn.key).

    3. VPN -> OpenVPN -> Server
    Create new VPN server:

    Server Mode: Peer to Peer (SSL/TLS)
    Protocol: TCP
    Device Mode: tun
    Interface: ITD
    Local port: 24100
    TLS Authentication: (clear checkbox, MikroTik doesn't support shared TLS key)
    Peer Certificate Authority: vpn-tunnel-ca
    Server Certificate: vpn-tunnel
    Encryption algorithm: BF-CBC (128-bit)
    Auth Digest Algorithm: SHA1 (160-bit)
    IPv4 Tunnel Network: 10.30.30.0/29
    IPv4 Local Network/s: 172.29.0.0/24
    IPv4 Remote Network/s: 192.168.179.0/24
    Compression: No Preference
    Advanced: client-to-client

    4. VPN -> OpenVPN -> Client Specific Overrides
    Create new override:

    Common name: mik-vpn
    Advanced: iroute 192.168.179.0 255.255.255.0

    MikroTik:

    1. Copy two certificate files and the key file to Files. Import all of them from System/Certificates.

    2. PPP -> Interface - create new OVPN Client:
    Name: ovpn-office
    Connect To: 1.1.1.1
    Port: 24100
    Mode: ip
    User: any
    Certificate: mik-vpn.crt_0
    Auth: sha 1
    Cipher: blowfish 128
    Add Default Route: (do not check this)

    Die Verbindung wird vom Mikrotik auch aufgebaut.
    ich kann vom Mikrotik die pfsense anpingen, aber nicht von einem PC im selben Netz wie der Mikrotik obwohl ich eine Statische Route im NetgearRouter habe.
    Von der pfsense kann ich den Mikrotik nicht anpingen.

    Was habe ich vergessen?




  • @be1001:

    ich kann vom Mikrotik die pfsense anpingen, aber nicht von einem PC im selben Netz wie der Mikrotik obwohl ich eine Statische Route im NetgearRouter habe.

    Der PC ist also im selben Netz wie der Microtik? Dann wird dir die statische Route am Netgear nix bringen. Die Route müsstest du auf dem Rechner setzen, den du erreichen möchtest.

    Wenn das viele sind und du legst keinen Wert auch Verfolgbarkeit der Quelle, kannst du das auch mit Source-NAT am Mikrotik lösen, sofern der das unterstützt.



  • Hallo,

    wenn ich das  richtig interpetiere steht meine OpenVPN Verbindung, nur mein Routing ist noch nicht richtig. Die PC`s in den jeweiligen Netzen haben im den Internet Router als Gateway.
    Hauptstandort pfsense, Unterstandort Netgear.
    Wenn ich auf dem PC an unterstandort ein Traceroute mache. sehe ich das das Routing zum Mikrotik geht, aber nicht weiter.

    Routenverfolgung zu 172.29.174.10 über maximal 30 Abschnitte

    1    2 ms    2 ms    2 ms  192.168.179.1
      2    2 ms    *        *    192.168.179.215
      3    *        *        *    Zeitüberschreitung der Anforderung.
      4    *        *        *    Zeitüberschreitung der Anforderung.

    Von der pfsense komme ich gar nicht zur Mikrotik, irgendwie fehlt mir ein Gateway oder eine statische Route????



  • Hallo,

    habe mir dein Setup noch einmal angesehen. Da ist einiges nicht in Ordnung.

    Auf der pfSense stimmt das IPv4 Local Network/s nicht mit deiner Grafik und mit dem, was du oben geschrieben hast, zusammen. Demnach hast du am Hauptstandort intern 172.29.174.0/24. Damit passt auch die Route am Mikrotik nicht.

    Was heißt in der Server Konfig "Advanced: client-to-client"? In den Custom options? Soweit ich weiß, ist hier kein Eintrag nötig.

    Wenn du einen Peer to peer Server einrichtest, kannst du dir für diese Verbindung Client Specific Overrides ersparen. Diese Servertype geht ohnehin von nur einem Client aus und welche Subnetze hinter diesem liegen, also die Routen, werden mit "IPv4 Remote Network/s" in der Server-Konfig angegeben.

    Von der Konfig des Mikrotik habe ich leider keine Ahnung. Womöglich hat er auch die Möglichkeit, ein Netz anzugeben, für das eine Route gesetzt wird. Wenn er Routen vom Server zieht, was bei OpenVPN Standard ist, sollte die Route aber ohnehin richtig gesetzt werden.

    Nicht klar ist mir allerdings, warum du von der pfSense nicht den Mikrotik pingen kann. Wenn du die Source address auf default lässt, müsste die VPN Interface-IP verwendet werden und es sollte trotz falscher Route funktionieren.

    Apropos VPN Interface: Hast du auf der pfSense noch andere OpenVPN Instanzen aktiv?

    Grüße



  • Hallo,

    kurze zwischenfrage, gibt es die Möglichkeit ais der pfsense skripte oder Logs abzurufen wie bei Linux.
    Also die Programmierung eines Server in Text darzustellen.

    Ich kenne eigentlich nur die GUI. Wenn ich über Putty einlogge bekomme ich zwar ein Login, so richtig helfen tut das aber nicht, wenn ich die Shell (8) aufrufe fehlt mir der Befehlssatz.



  • Hab was gefunden shell (8)  ist Linux.

    Wo liegen den die Skripe für die Firewall???


  • Moderator

    What? Dir ist schon klar, dass pfSense kein Linux ist? Und welche Skripte für die Firewall!?



  • wollte mal die Einstellungen des OpenVPN-Servers in Befehlszeile kopieren um sie zu posten, ähnlich wie ich es bei Linux machen kann, dazu muss ich aber wissen wo sie liegen.

    $FreeBSD: src/etc/networks,v 1.3 1999/08/27 23:23:42 peter Exp $

    #      @(#)networks    5.1 (Berkeley) 6/30/90

    Your Local Networks Database

    your-net        127                            # your comment
    your-netmask    255.255.255                    # subnet mask for your-net

    Your subnets

    subnet1        127.0.1        alias1          # comment 1
    subnet2        127.0.2        alias2          # comment 2

    Internet networks (from nic.ddn.mil)

    ~
    ~
    ~



  • In /var/etc/openvpn/
    Da liegen sowohl Server als auch Client Konfigs und Zertifikate.

    Da kommst du allerdings auch über die GUI hin: Diagnostics > Command Prompt



  • Hallo,

    anbei meine aktuelle Serverconfig, der OpenVPN Tunnel steht.

    dev ovpns3
    verb 1
    dev-type tun
    tun-ipv6
    dev-node /dev/tun3
    writepid /var/run/openvpn_server3.pid
    #user nobody
    #group nobody
    script-security 3
    daemon
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    proto tcp-server
    cipher BF-CBC
    auth SHA1
    up /usr/local/sbin/ovpn-linkup
    down /usr/local/sbin/ovpn-linkdown
    local 5.xx.xx.xx (feste IP)
    tls-server
    server 10.30.30.0 255.255.255.0
    client-config-dir /var/etc/openvpn-csc/server3
    ifconfig 10.30.30.1 10.30.30.2
    tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'VPN-Muenchen-CA' 1"
    lport 24100
    management /var/etc/openvpn/server3.sock unix
    max-clients 4
    push "route 172.29.174.0 255.255.255.0"
    route 192.168.179.0 255.255.255.0
    ca /var/etc/openvpn/server3.ca
    cert /var/etc/openvpn/server3.cert
    key /var/etc/openvpn/server3.key
    dh /etc/dh-parameters.1024
    topology subnet
    
    

    pfsense to Mikrotik

    Enter a host name or IP address: 192.168.179.1
    
    PING 192.168.179.1 (192.168.179.1): 56 data bytes
    
    --- 192.168.179.1 ping statistics ---
    3 packets transmitted, 0 packets received, 100.0% packet loss
    
    

    Mikrotik zu pfsense von der Mikrotik möglich allerdings nicht vom PC aus.Im Routing auf der Mikrotik habe ich für 172.29.174.0/24 das OpenVPN als Gateway eingetragen.
    Ich habe noch einen zweiten OpenVPN-Tunnel für meine Smartphone, der arbeitet super.



  • Hallo,

    wenn du in der Sache unsere Hilfe möchtest, solltest du auf unsere Fragen eingehen und Ratschläge befolgen, ansonsten ist der Thread hier zwecklos.
    Ich versuch es noch einmal.

    @be1001:

    pfsense to Mikrotik

    Enter a host name or IP address: 192.168.179.1
    
    PING 192.168.179.1 (192.168.179.1): 56 data bytes
    
    --- 192.168.179.1 ping statistics ---
    3 packets transmitted, 0 packets received, 100.0% packet loss
    
    

    192.168.179.1 ist die IP des Netgear Routers laut deinen vorigen Angaben.

    @be1001:

    Mikrotik zu pfsense von der Mikrotik möglich allerdings nicht vom PC aus.Im Routing auf der Mikrotik habe ich für 172.29.174.0/24 das OpenVPN als Gateway eingetragen.

    Die PCs brauchen eine Route für 172.29.174.0/24 auf den Mikrotik, hab ich schon oben erwähnt, oder du machst NAT, das auch schon.

    @be1001:

    Ich habe noch einen zweiten OpenVPN-Tunnel für meine Smartphone, der arbeitet super.

    Mehrere VPN Instanzen ändert eine Kleinigkeit an der Konfiguration. Auch danach hatte ich schon gefragt.
    In diesem Fall musst du zu jeder Instanz ein Interface hinzufügen. Interfaces > (assign). Unter Network ports die VPN Instanz auswählen, add klicken auf das neue Interface klicken, da dann auf Enable und unten auf Save.
    Anschließend musst du unter Firewall > Rules die Regel auf den neuen Interface setzen. Man kann die Regel auch einfach ändern, in dem man sie öffnet und das Interface ändert.



  • Hallo zusammen,

    nachdem ich heute wieder Zeit habe, meine aktuellen Einstellungen und Änderungen.

    Die OpenVPN- Verbindung zwischen pfsense und Mikrotik ist connected. Nur dieser Server ist aktiv, den anderen Server habe ich erstmal zum testen dieser Verbindung deaktiviert. ( Wo muss ich das Interface bei einem OpenVPN-Server angeben, oder brauche ich nur die Firewallregel)

    Im Netgearrouter 192.169.179.1 ist für den Bereich 172.29.174.0 eine Route auf den Mikrotik eingerichtet. Laut tracert von PC wird die Anfrage ja auch an den Mikrotik weitergeleitet.

    Bild 003

    Eine Route im Mikrotik für 172.29.174.0und weitere Netze ist eingerichtet. Ein ping direkt vom Mikrotik auf die Pfense geht ja, bzw. ich erreiche auch Stationen hinter der Pfsense, z.B. 172.29.174.90 oder 172.29.124.225.

    Bild 001

    Von der Pfsense erreiche ich den Mikrotik nicht.

    Bild 002

    Nachfolgend noch meine aktuelle Serverconfig.

    dev ovpns3
    verb 1
    dev-type tun
    tun-ipv6
    dev-node /dev/tun3
    writepid /var/run/openvpn_server3.pid
    #user nobody
    #group nobody
    script-security 3
    daemon
    keepalive 10 60
    ping-timer-rem
    persist-tun
    persist-key
    proto tcp-server
    cipher BF-CBC
    auth SHA1
    up /usr/local/sbin/ovpn-linkup
    down /usr/local/sbin/ovpn-linkdown
    local WAN Interface
    tls-server
    server 10.30.30.0 255.255.255.0
    client-config-dir /var/etc/openvpn-csc/server3
    ifconfig 10.30.30.1 10.30.30.2
    tls-verify "/usr/local/sbin/ovpn_auth_verify tls 'VPN-XXX-CA' 1"
    lport 24100
    management /var/etc/openvpn/server3.sock unix
    max-clients 4
    push "route 172.29.174.0 255.255.255.0"
    route 192.168.179.0 255.255.255.0
    ca /var/etc/openvpn/server3.ca
    cert /var/etc/openvpn/server3.cert
    key /var/etc/openvpn/server3.key
    dh /etc/dh-parameters.1024
    topology subnet
    
    

    Client Specific Overrides habe ich deaktiviert.

    Ich hoffe ich habe jetzt alle Informationen zusammen, wenn nicht bitte melden.

    Danke Christian








  • @be1001:

    Die OpenVPN- Verbindung zwischen pfsense und Mikrotik ist connected. Nur dieser Server ist aktiv, den anderen Server habe ich erstmal zum testen dieser Verbindung deaktiviert. ( Wo muss ich das Interface bei einem OpenVPN-Server angeben, oder brauche ich nur die Firewallregel)

    Diese Interfaces sollten für dein Zwecke gar nicht nötig sein. Das war zu schnell geschossen.
    Die werden nur benötigt, wenn die Interface Adresse in einer Regel auf der pfSense verwendet wird, machst du aber vermutlich nicht. Schaden tut es aber in keinem Fall.

    @be1001:

    Eine Route im Mikrotik für 172.29.174.0und weitere Netze ist eingerichtet. Ein ping direkt vom Mikrotik auf die Pfense geht ja, bzw. ich erreiche auch Stationen hinter der Pfsense, z.B. 172.29.174.90 oder 172.29.124.225.

    Traceroute, ping und sonstige Kommunikation sind ganz unterschiedlich paar Schuhe.
    Um hier ein Problem, zumindest einmal für den Ping, auszuschließen würde ich mir mal den Traffic am Mikrotik ansehen, bzw. auf der pfSense mit Packet Capture.

    @be1001:

    Bild 001
    Von der Pfsense erreiche ich den Mikrotik nicht.

    Dass dieses Traceroute nichts liefert ist normal, da ist ja kein Gerät dazwischen, so bedarf es auch keinen Hop, der angezeigt werden sollte.
    Versuch es mit einem Rechner im Netz des Nebenstandorts.

    Ich sehe keinen Grund, weswegen auf der pfSense die Route für das 192.168.179.0/24 Netz nicht passen sollte. Du kannst im Diagnostic Menü > Routes diese auch überprüfen.
    Gibt es ein Problem beim setzen der Route, macht pfSense einen entsprechenden Log Eintrag. Also, falls sie fehlen sollte, mal nachsehen.

    Grüße



  • Aktueller Stand:

    Von der Mikrotikseite funktioniert jetzt alles, ich kann Webserver im 172.29.174.0 und 172.29.124.0 Netz aufrufen.

    Bild 004

    Von der pfsense seite aus geht immer noch nichts. In Route Liste ist der Eintrag enthalten

    Bild 005






  • Keine Ahnung, was du nun geändert hat. Das willst du offenbar nicht verraten. Jedenfalls fehlt jetzt in deinem traceroute auch die pfSense der Microtik.
    Geht das nun vom Netgear direkt auf die pfSense ohne VPN?  ???  Oder hast du am Netgear eine VPN laufen?



  • Also was ich im Mikrotik geändert habe, weiß ich selbst nicht, habe einfach alle Firewallregeln deaktiviert und aktiviert, und den Mikrotik einmal neu gestartet.

    Bild 004 waren zwei Traceroutes jeweils vom PC 192.168.179.100 auf der Clientseite zur Serverseite.

    NetgearRouter, Defaultgateway der Clientseite  ->
    Mikrotik ->
    OpenVPN ->
    pfsense Server ->
    Webserver auf Serverseite



  • Ja, ich weiß schon, welche Ziel die Traceroutes haben sollten, hast ja schließlich eine schöne Netzwerkgrafik gepostet.

    Hab mich vorhin verschrieben, deshalb war der 3. Satz nicht verständlich, sollte "auf" anstatt "auch" vor pfSense stehen.
    Also, bei dem erstern Traceroute vom PC zur pfSense fehlt der Mirkrotik als Hopp.



  • Stimmt, habs nochmal probiert selber Ausdruck, weiss nicht worum. Interessanterweise zeigt er bei Aufruf eines PC im Servernetzwerk das Interface des Tunnes auf der Serverseite an.

    Bild 006

    Spaßeshalber habe ich das MikrotikWebinterface mal über die OpenVPN-IP-Adresse auf der Clientseite aufgerufen, und siehe da es funktioniert. Ich gehe mal davon aus, das ich gabe noch irgendwo ein Übersetzungsproblem der Adresse. Ich weis jetzt nur nicht wo.

    Von der Clientseite funktioniert alles.
    Von der Serverseite kann ich scheinbar nur Tunneladressen auf der Clientseite erreichen.