
Ich habe die Anweisungen befolgtHier(mit geringfügigen Anpassungen, wie unten aufgeführt), um OpenVPN auf einem OpnSense-Router einzurichten, aber die Clients können keine Verbindung herstellen.
Unterschiede:
- Ich habe den lokalen Port auf 1179 eingestellt.
- Ich habe das IPv4-Tunnelnetzwerk auf 10.79.0.0/24 eingestellt. Ich glaube, das ist willkürlich?
- Ich war gezwungen,deaktivierenRedirect Gateway, da ohne dieses die Option „IPv4 Lokales Netzwerk“ ausgeblendet war und (soweit ich weiß) dieser Wert auf den IP-Bereich meines Heimnetzwerks eingestellt werden muss, um den Zugriff zu ermöglichenZudieses Netzwerk von über VPN verbundenen Geräten aus – und welchen Sinn hätte ein VPN ohne diesen Zugriff überhaupt?
- Die vom DHCP-Server (der ebenfalls auf dem OpnSense-Router läuft) den Geräten im Netzwerk zugewiesenen IP-Adressen lauten
192.168.1.0/24
. Mir ist bewusst, dass die Verwendung dieses CIDR problematisch sein kann, wenn es zu Konflikten mit den Konfigurationen anderer privater Netzwerke kommt, aber an diesem Punkt habe ich zu viele andere Geräte und Dienste im Netzwerk eingerichtet, als dass ich HCP einfach neu definieren könnte. Ich möchte alle anderen Fehlerquellen ausschließen, bevor ich diesen Schritt mache.
- Die vom DHCP-Server (der ebenfalls auf dem OpnSense-Router läuft) den Geräten im Netzwerk zugewiesenen IP-Adressen lauten
- Ich habe „DNS-Server“ aktiviert (nicht im Originalhandbuch erwähnt) und den Wert auf die IP-Adresse des DNS-Servers im privaten Netzwerk (also meinem OpnSense-Router) eingestellt. Außerdem habe ich „DNS-Cache-Update erzwingen“ eingestellt.
Aufbau
Server
dev ovpns1
verb 1
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 AES-128-CBC
auth SHA512
up /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkup
down /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkdown
multihome
client-disconnect "/usr/local/etc/inc/plugins.inc.d/openvpn/attributes.sh server1"
tls-server
server 10.79.0.0 255.255.255.0
client-config-dir /var/etc/openvpn-csc/1
username-as-common-name
auth-user-pass-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify user 'Local Database' 'false' 'server1'" via-env
tls-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify tls 'OpenVPN+Cert' 1"
lport 1179
management /var/etc/openvpn/server1.sock unix
push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.1"
push "register-dns"
ca /var/etc/openvpn/server1.ca
cert /var/etc/openvpn/server1.cert
key /var/etc/openvpn/server1.key
dh /usr/local/etc/dh-parameters.4096.sample
tls-auth /var/etc/openvpn/server1.tls-auth 0
persist-remote-ip
float
topology subnet
Klient
Exportiert mit „Client Export“
dev tun
persist-tun
persist-key
cipher AES-128-CBC
auth SHA512
client
resolv-retry infinite
remote vpn.scubbo.org 1179 udp
lport 0
verify-x509-name "C=US, ST=CA, L=Berkeley, O=Avril, [email protected], CN=OpenVPN Cert" subject
remote-cert-tls server
auth-user-pass
<ca>
-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
REDACTED
-----END PRIVATE KEY-----
</key>
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
REDACTED
-----END OpenVPN Static key V1-----
</tls-auth>
key-direction 1
Protokolldateien
Server
<27>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 91882 - [meta sequenceId="1"] event_wait : Interrupted system call (code=4)
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 91882 - [meta sequenceId="2"] /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkdown ovpns1 1500 1621 10.79.0.1 255.255.255.0 init
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 91882 - [meta sequenceId="3"] SIGTERM[hard,] received, process exiting
<28>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27558 - [meta sequenceId="4"] DEPRECATED OPTION: --cipher set to 'AES-128-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore --cipher for cipher negotiations. Add 'AES-128-CBC' to --data-ciphers or change --cipher 'AES-128-CBC' to --data-ciphers-fallback 'AES-128-CBC' to silence this warning.
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27558 - [meta sequenceId="5"] OpenVPN 2.5.7 amd64-portbld-freebsd13.0 [SSL (OpenSSL)] [LZO] [LZ4] [MH/RECVDA] [AEAD] built on Jul 6 2022
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27558 - [meta sequenceId="6"] library versions: OpenSSL 1.1.1q 5 Jul 2022, LZO 2.10
<28>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="7"] NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="8"] TUN/TAP device ovpns1 exists previously, keep at program end
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="9"] TUN/TAP device /dev/tun1 opened
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="10"] /sbin/ifconfig ovpns1 10.79.0.1 10.79.0.2 mtu 1500 netmask 255.255.255.0 up
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="11"] /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkup ovpns1 1500 1621 10.79.0.1 255.255.255.0 init
<28>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="12"] Could not determine IPv4/IPv6 protocol. Using AF_INET6
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="13"] setsockopt(IPV6_V6ONLY=0)
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="14"] UDPv6 link local (bound): [AF_INET6][undef]:1179
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="15"] UDPv6 link remote: [AF_UNSPEC]
<29>1 2023-10-24T19:26:40-07:00 OPNsense.avril openvpn 27799 - [meta sequenceId="16"] Initialization Sequence Completed
Zum Zeitpunkt des Verbindungsversuchs liegen keine Protokollierungsmeldungen vor – diese wurden beim Start des Dienstes protokolliert, danach wird trotz wiederholter Verbindungsversuche nichts mehr protokolliert.
Ich stelle fest, Could not determine IPv4/IPv6 protocol. Using AF_INET6
welchesieht auswie ein Fehler, obwohldieser Kommentardeutet darauf hin, dass dies nicht der Fall ist. Auf jeden Fall habe ich proto udp4
die Serverkonfiguration ergänzt und den Server neu gestartet, und die Verbindungsversuche schlugen immer noch auf die gleiche Weise fehl.
Klient
[Oct 24, 2023, 19:33:47] OpenVPN core 3.6.7 mac x86_64 64-bit built on Nov 28 2022 04:35:53
⏎[Oct 24, 2023, 19:33:47] Frame=512/2048/512 mssfix-ctrl=1250
⏎[Oct 24, 2023, 19:33:47] UNUSED OPTIONS
1 [persist-tun]
2 [persist-key]
6 [resolv-retry] [infinite]
8 [lport] [0]
⏎[Oct 24, 2023, 19:33:47] EVENT: RESOLVE ⏎[Oct 24, 2023, 19:33:47] Contacting 23.93.75.229:1179 via UDP
⏎[Oct 24, 2023, 19:33:47] EVENT: WAIT ⏎[Oct 24, 2023, 19:33:47] UnixCommandAgent: transmitting bypass route to /var/run/agent_ovpnconnect.sock
{
"host" : "23.93.75.229",
"ipv6" : false,
"pid" : 87514
}
⏎[Oct 24, 2023, 19:33:47] Connecting to [vpn.scubbo.org]:1179 (23.93.75.229) via UDPv4
⏎[Oct 24, 2023, 19:33:57] EVENT: CONNECTION_TIMEOUT BYTES_OUT : 860
PACKETS_OUT : 10
CONNECTION_TIMEOUT : 1
⏎[Oct 24, 2023, 19:33:57] EVENT: DISCONNECTED ⏎[Oct 24, 2023, 19:33:59] Raw stats on disconnect:
BYTES_OUT : 860
PACKETS_OUT : 10
CONNECTION_TIMEOUT : 1
⏎[Oct 24, 2023, 19:33:59] Performance stats on disconnect:
CPU usage (microseconds): 39543785
Network bytes per CPU second: 21
Tunnel bytes per CPU second: 0
Debugging-Schritte
Ist Ihr Domänenname/Ihre IP-Adresse korrekt?
Ja: Die Antwort curl ifconfig.io
vom Router entspricht dem Ergebnis nslookup vpn.scubbo.org
von einem Client.
Sind Ihre Firewall-Regeln richtig eingestellt?
Ich glaube schon? Ich habe die Anweisungen im Handbuch befolgt. In jedem Fall zeigt „Firewall > Protokolldateien > Live-Ansicht“ in OpnSense, gefiltert nach „Aktion=Blockieren“, keine Ergebnisse an, die mit Verbindungsversuchen korrelieren.