3.1 KiB
3.1 KiB
Operations Runbook: OpenVPN + Cloudflare Tunnel
Architecture
- OpenVPN server listens locally on TCP
1194 - Cloudflare Tunnel ingress routes
vpn.bhatfamily.intotcp://localhost:1194 - Clients connect through local
cloudflared access tcpforwarding, then OpenVPN to localhost
Service and Config Locations
- OpenVPN service:
openvpn-server@server - OpenVPN config:
/etc/openvpn/server/server.conf - PKI root:
/etc/openvpn/easy-rsa - Server cert/key files:
/etc/openvpn/server/ - Cloudflared service:
cloudflared - Cloudflared config:
/etc/cloudflared/config.yml - Tunnel credentials:
/etc/cloudflared/6a2e99c2-ce2c-49a9-a3f2-8bf1ad3073b0.json - Tunnel ID:
6a2e99c2-ce2c-49a9-a3f2-8bf1ad3073b0
OpenVPN Server Baseline
Expected key settings in /etc/openvpn/server/server.conf:
port 1194proto tcp-serverdev tunserver 10.8.0.0 255.255.255.0push "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 1.1.1.1"push "dhcp-option DNS 1.0.0.1"tls-crypt /etc/openvpn/server/tls-crypt.keydh noneecdh-curve prime256v1data-ciphers AES-256-GCM:AES-128-GCMauth SHA256
Cloudflared Ingress Baseline
Expected entries in /etc/cloudflared/config.yml:
vpn.bhatfamily.in -> tcp://localhost:1194- Existing routes:
web.bhatfamily.in -> http://localhost:8080ecom.bhatfamily.in -> http://localhost:8081ssh.bhatfamily.in -> ssh://localhost:22
Firewall / Routing (UFW)
Expected system settings for VPN egress:
/etc/default/ufwDEFAULT_FORWARD_POLICY="ACCEPT"
/etc/ufw/sysctl.confnet/ipv4/ip_forward=1
/etc/ufw/before.rules-A POSTROUTING -s 10.8.0.0/24 -o wlp2s0 -j MASQUERADE
Client Artifacts
- Generated profile:
/home/rbhat/rbhat-client-cloudflared.ovpn - Generated cert/key source:
/etc/openvpn/easy-rsa/pki/issued/rbhat-client.crt/etc/openvpn/easy-rsa/pki/private/rbhat-client.key
Service Operations
Start/enable services:
sudo systemctl enable --now openvpn-server@server
sudo systemctl enable --now cloudflared
Stop/start OpenVPN only:
sudo systemctl stop openvpn-server@server
sudo systemctl start openvpn-server@server
Status checks:
systemctl is-enabled openvpn-server@server cloudflared
systemctl is-active openvpn-server@server cloudflared
sudo systemctl --no-pager status openvpn-server@server --lines=30
sudo systemctl --no-pager status cloudflared --lines=30
Verification
Listener checks:
ss -tulpen | grep -E ':1194\b|:21194\b'
DNS checks:
dig +short vpn.bhatfamily.in CNAME
dig +short vpn.bhatfamily.in
OpenVPN server logs:
sudo journalctl --no-pager -u openvpn-server@server -n 120
Cloudflared logs:
sudo journalctl --no-pager -u cloudflared -n 120
Troubleshooting Notes
cloudflared access tcp --url localhost:1194may fail withaddress already in useif local OpenVPN server is already bound to1194on that machine.- Use another local forwarder port (e.g.
21194) and set OpenVPN clientremote 127.0.0.1 21194. vpn.bhatfamily.in:21194is not meant to be publicly reachable; it is client-local forwarding endpoint semantics.