Files
racknerd/openvpn/server.conf
T
2026-07-15 21:24:42 -07:00

66 lines
2.1 KiB
Plaintext

# OpenVPN road-warrior endpoint — RackNerd hub
# Auth chain: AD user/pass -> PAM -> RADIUS
# -> Duo Auth Proxy (127.0.0.1:1812) -> LDAPS to the DCs.
# No individual client certs: identity is LDAP + Duo only. tls-crypt
# (shared key in the profile) still gates who can attempt a handshake.
port 1194
proto udp4
dev tun0
topology subnet
server 172.31.8.0 255.255.255.0
ifconfig-pool-persist /var/lib/openvpn/ipp.txt
# Split tunnel: only the AD sites + transfer net ride the VPN.
push "route 192.168.20.0 255.255.255.0"
push "route 192.168.7.0 255.255.255.0"
push "route 172.31.255.0 255.255.255.0"
# All client DNS goes to Technitium on this box (block-outside-dns stops
# Windows from leaking AD lookups to the local LAN resolver).
push "dhcp-option DNS 172.31.8.1"
push "dhcp-option DOMAIN ad.atlashorizon.net"
push "dhcp-option DOMAIN-SEARCH ad.atlashorizon.net"
push "dhcp-option DOMAIN-SEARCH ad.calliecorner.net"
push "dhcp-option DOMAIN-SEARCH ad.oswaldtheotter.net"
push "dhcp-option DOMAIN-SEARCH ad.trochalakis.net"
push "block-outside-dns"
# PKI — server certificate only (offline CA, see pki/README.md);
# clients present no certificate.
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/server.crt
key /etc/openvpn/pki/server.key
dh none
tls-crypt /etc/openvpn/pki/ta.key
tls-version-min 1.2
data-ciphers AES-256-GCM:CHACHA20-POLY1305
auth SHA256
# User auth via Duo (password only = push; "password,123456" = passcode)
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn
verify-client-cert none
username-as-common-name
hand-window 120 # allow time for the Duo push round-trip
reneg-sec 0 # no mid-session TLS renegotiation (would re-prompt Duo)
auth-gen-token 43200 # reconnects within 12h reuse a token instead of a new push
keepalive 10 60
explicit-exit-notify 1
# wg0 MTU is 1420; keep the client tunnel small enough that client->site
# packets never fragment inside the WireGuard leg.
tun-mtu 1400
mssfix 1360
user nobody
group nogroup
persist-key
persist-tun
status /var/lib/openvpn/status.log 30
management 127.0.0.1 7505
verb 3