OPNsense hinter einer Fritz!Box 6490

IPv4 wird heutzutage (leider) oftmals bei modernen Internetanschlüssen >150Mbit nur noch via DS-Lite angeboten und ist damit weitgehend unbrauchbar, will man mehr als nur 0-8-15 Internetsurfen (also z.B. ein VPN oder andere Serverdienste betreiben).

So oder so führt kein Weg an IPv6 vorbei, leider ist dieser Weg zur Zeit (noch) ziemlich steinig.

Meine Konfiguration sieht vor eine OPNsense Firewall (auf einem PC Engines APU) hinter einer Fritz!Box 6490 an einem Unitymedia IPv6 Anschluss zu betreiben.

Dabei funktioniert alles ziemlich „out-of-the-box“ bzw ist mit etwas Grundkenntnissen einfach einzurichten – bis auf eben IPv6.

Um IPv6 in obiger Konfiguration erfolgreich einzusetzen sind folgende Schritte notwendig:

1) In der Fritzbox unter Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv6 Adressen ist unter „DHCPv6-Server im Heimnetz“ auszuwählen:

Damit wird sichergestellt, dass das WAN Interface von OPNsense sowohl eine IPv6 bekommt als auch alle weiteren Informationen mitgeteilt werden, die notwendig sind für eine korrekte Konfiguration (DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA)).

2) Unter Schnittstellen -> [WAN] muss als IPv6 Konfigurationstyp = DHCPv6 ausgewählt sein. Für die Schnittstelle -> [LAN] muss als IPv6 Konfigurationstyp = Schnittstelle aufzeichnen verwendet werden. Das bewirkt, dass das zugewiesene IPv6 Subnetz von WAN im LAN verwendet wird.

Ferner funktioniert folgende DHCPv6 Clientkonfiguration:

Wichtig hierbei ist insb. „Request only an IPv6 prefix“, „Sende einen IPv6-Präfixhinweis“ sowie „Sende SOLICIT direkt“. Andernfalls wird die das IPv6 Präfix nicht korrekt übermittelt und der DHCPv6 weiß nicht, was er intern weiterverteilen soll. Evtl. hilft auch die Option „IPv4-Verbindung verwenden“ um dem DHCPv6 die Informationen zur Verfügung zu stellen.

Quellen:

Siehe auch:

Synology SSH mit keys

Wenn man bei DSM die /homes aktiviert, werden die Verzeichnisse zwar aktiviert, aber die Rechte nicht richtig gesetzt.

Das muss man korrigieren, sonst funktioniert eine SSH Authorisierung über keys nicht (siehe 8. des folgenden Links):

https://forum.synology.com/enu/viewtopic.php?t=126166

For each user that you want to grant SSH access to, generate SSH keys

  • You could do this while logged in as admin, but you would need to manually mess with changing ownership and permissions of files you create here. It is better / easier to log in as each individual user to perform the following.
  • Re-launch your SSH application (putty, or other) to open a new session with the Synology
  • Log in as the user you want to set up
  • Create folder for SSH keys for the user and set permissions
    • mkdir ~/.ssh
      • creates a hidden .ssh directory to hold the keys
    • chmod 0700 ~/.ssh
      • sets proper permissions for the folder (full rights to user, no rights to anyone else)
    • touch ~/.ssh/authorized_keys
      • Creates a new empty file named authorized_keys. This will hold the public keys of remote users that are allowed to log in here as this Synology user.

      chmod 0644 ~/.ssh/authorized_keys

      • Set permissions of the new authorized keys file. (read/write to current user, read-only to everyone else)
    • chmod 0644 ~/.ssh/authorized_keys
      • Set permissions of the new authorized keys file. (read/write to current user, read-only to everyone else)
  • ssh-keygen
    • Generate public and private keys
    • Press “enter” to accept default file location (should be user’s .ssh folder)
    • Press “enter” twice to indicate NOT to create passphrase. (The passphrase would prevent the login from working when used by rsync.)
    • Will add files id_rsa (private key) and id_rsa.pub (public key)
    • These should automatically be created with the correct permission (read/write by user only, i.e. chmod 600). You shouldn’t need to make any changes.

OpenVPN zwischen OpenWRT und OPNsense

Die Verbindung zwischen OpenWRT und OPNsense wird hergestellt wie zwischen jeden anderen OpenVPN-Servern auch. Es gibt allerdings ein paar Besonderheiten, die es einem erleichtern, OpenVPN zu konfigurieren und die man berücksichtigen muss, da andernfalls keine Verbindung hergestellt wird.

Am einfachsten wird OpenVPN bei OpenWRT konfiguriert über folgenden Trick: http://www.kammerath.net/openwrt-mit-openvpn-client.html

Da die OpenVPN Konfiguration via LuCi nur sehr kompliziert möglich ist, nutzt man besser die Konfiguration via Shell. In der Datei /etc/config/openvpn hinterlegt man

package openvpn
config openvpn cryptn_vpn
        # Set to 1 to enable this instance:
        option enable 1
        # Include OpenVPN configuration
        option config /etc/openvpn/meinvpnserver.ovpn

Die Schnittstellen müssen korrekt eingerichtet sein: https://wiki.openwrt.org/doc/howto/vpn.openvpn#tab__client

uci set network.vpn0=interface
uci set network.vpn0.ifname=tun0
uci set network.vpn0.proto=none
uci set network.vpn0.auto=1