OpenVPN über Terminal (OpenWRT)
Installation
opkg update opkg install openvpn-openssl openvpn-easy-rsa iputils-traceroute6 luci-app-openvpn
Dann den Router neustarten, damit der Service-Tab in Luci sichtbar wird.
Zertifikate
Anlegen
build-ca build-dh build-key-server --server <my-server> build-key-pkcs12 <my-client>
Übertragen
Server
cp /etc/easy-rsa/keys/ca.crt /etc/easy-rsa/keys/my-server.* /etc/easy-rsa/keys/dh2048.pem /etc/openvpn
Client
scp /etc/easy-rsa/keys/ca.crt /etc/easy-rsa/keys/my-client.* root@CLIENT_IP_ADDRESS:/etc/openvpn
bzw.
scp root@ROUTER_IP_ADDRESS:/etc/easy-rsa/keys/ca.crt . scp root@ROUTER_IP_ADDRESS:/etc/easy-rsa/keys/my-client.* .
Konfiguration
Netzwerk
1. VPN Schnittstelle mit dem Namen vpn0 anlegen
uci set network.vpn0=interface uci set network.vpn0.ifname=tun0 uci set network.vpn0.proto=none uci set network.vpn0.auto=1
2. In der Firewall den Port 1194 für eingehende Client-Verbindungen öffnen
uci set firewall.Allow_OpenVPN_Inbound=rule uci set firewall.Allow_OpenVPN_Inbound.target=ACCEPT uci set firewall.Allow_OpenVPN_Inbound.src=* uci set firewall.Allow_OpenVPN_Inbound.proto=udp uci set firewall.Allow_OpenVPN_Inbound.dest_port=1194
3. Anlegen einer Firewall-Zone mit dem Namen vpn0 für das neue vpn0-Netzwork. Sie erlaubt eingehende und ausgehende Verbindungen innerhalb des VPN-Tunnes:
uci set firewall.vpn=zone uci set firewall.vpn.name=vpn uci set firewall.vpn.network=vpn0 uci set firewall.vpn.input=ACCEPT uci set firewall.vpn.forward=REJECT uci set firewall.vpn.output=ACCEPT uci set firewall.vpn.masq=1
4. (Optional) Damit Clients Rechner im LAN erreichen können, ist es notwendig Verkehr zwischen VPN-Firewall-Zone und LAN-Firewall-Zone weiter zu leiten
uci set firewall.vpn_forwarding_lan_in=forwarding uci set firewall.vpn_forwarding_lan_in.src=vpn uci set firewall.vpn_forwarding_lan_in.dest=lan
Und Rechner im LAN erlauben Verbindungen zu den Clients aufzunehmen
uci set firewall.vpn_forwarding_lan_out=forwarding uci set firewall.vpn_forwarding_lan_out.src=lan uci set firewall.vpn_forwarding_lan_out.dest=vpn
5. (Optional) Damit Clients Verbindungen ins Internet durch den Tunnenl aufbauen können, muss der Verkehr zwischen VPN-Firewall-Zone und WAN-Firewall-Zone weitergeleitet werden
uci set firewall.vpn_forwarding_wan=forwarding uci set firewall.vpn_forwarding_wan.src=vpn uci set firewall.vpn_forwarding_wan.dest=wan
6. Änderungen gültig machen:
uci commit network /etc/init.d/network reload uci commit firewall /etc/init.d/firewall reload
7. Statische Route hinzufügen => testen, ob notwendig
OpenVPN
Konifuration als TUN-Server (Client verbindet sich zum Netzwerk hinter dem VPN-Server):
Router
echo > /etc/config/openvpn # clear the openvpn uci config uci set openvpn.myvpn=openvpn uci set openvpn.myvpn.enabled=1 uci set openvpn.myvpn.verb=3 uci set openvpn.myvpn.port=1194 uci set openvpn.myvpn.proto=udp uci set openvpn.myvpn.dev=tun uci set openvpn.myvpn.server='10.8.0.0 255.255.255.0' uci set openvpn.myvpn.keepalive='10 120' uci set openvpn.myvpn.ca=/etc/openvpn/ca.crt uci set openvpn.myvpn.cert=/etc/openvpn/my-server.crt uci set openvpn.myvpn.key=/etc/openvpn/my-server.key uci set openvpn.myvpn.dh=/etc/openvpn/dh2048.pem uci add_list openvpn.myvpn.push='route 10.0.0.0 255.255.255.0' uci add_list openvpn.myvpn.push='dhcp-option DNS 8.8.4.4' uci add_list openvpn.myvpn.push='dhcp-option DNS 8.8.8.8' uci commit openvpn
Server aktivieren und starten:
/etc/init.d/openvpn enable /etc/init.d/openvpn start
Die Datei kann auch unter /etc/config/openvpn
direkt bearbeitet werden:
config openvpn 'myvpn' option enabled '1' option verb '3' option port '1194' option proto 'udp' option dev 'tun' option server '10.8.0.0 255.255.255.0' option keepalive '10 120' option ca '/etc/openvpn/ca.crt' option cert '/etc/openvpn/sonnberg_router.crt' option key '/etc/openvpn/sonnberg_router.key' option dh '/etc/openvpn/dh2048.pem' list push 'route 10.0.0.0 255.255.255.0' list push 'dhcp-option DNS 8.8.4.4' list push 'dhcp-option DNS 8.8.8.8'
Client
Client Konfiguration unter der Endung *.ovpn
speichern:
dev tun proto udp log openvpn.log verb 3 ca /etc/openvpn/ca.crt cert /etc/openvpn/<my-client>.crt key /etc/openvpn/<my-client>.key client pull remote-cert-tls server remote SERVER_IP_ADDRESS 1194
Links
https://openwrt.org/docs/guide-user/services/vpn/openvpn/server
https://blog.doenselmann.com/openvpn-server-auf-openwrt-router-betreiben/
Zurück zu OpenVPN