Vreau să folosesc o conexiune OpenVPN pentru a accesa resursele mele locale.
eu am iptables
setat pentru a permite conexiunea de la 192.168.1.0/24
subrețea.
Când mă conectez de pe telefonul meu sau de la mașina Windows, totul funcționează perfect.
Dar când încerc să mă conectez de la Ubuntu, nu.
După verificare tcpdump
și citind o mulțime de jurnale văd că pachetele de la Ubuntu au SRC = ip alb real
în timp ce pentru telefon sau Windows SRC = ip tunel local
și funcționează conform așteptărilor.
Apoi mi-am inspectat rutele când sunt conectat la VPN și am găsit următoarele (să presupunem 77.77.77.77
- server OpenVPN, 192.168.8.1
- routerul meu):
Destination Gateway Genmask Flags Metric Ref Utilizare Iface
0.0.0.0 192.168.255.5 0.0.0.0 UG 50 0 0 tun0
0.0.0.0 192.168.8.1 0.0.0.0 UG 600 0 0 wlp2s0
77.77.77.77 192.168.8.1 255.255.255.255 UGH 600 0 0 wlp2s0
192.168.8.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0
192.168.8.1 0.0.0.0 255.255.255.255 UH 600 0 0 wlp2s0
192.168.255.1 192.168.255.5 255.255.255.255 UGH 50 0 0 tun0
192.168.255.5 0.0.0.0 255.255.255.255 UH 50 0 0 tun0
Cred că rădăcina problemei mele este:
77.77.77.77 192.168.8.1 255.255.255.255 UGH 600 0 0 wlp2s0
așa cum spune să folosesc routerul meu ca gateway pentru a accesa serverul VPN în sine. Ca rezultat, văd adresa mea IP reală în loc de o adresă IP de tunel.
Dar nu înțeleg cum să rezolv asta. Am încercat deja să modific ruta manual pentru a direcționa traficul către server prin tunel, dar nu a ajutat:
77.77.77.77 192.168.255.5 255.255.255.255 UGH 600 0 0 tun0
Deci, dacă toată investigația mea a fost înțeleasă corect, pentru a rezolva problema trebuie să direcționez traficul către serverul vpn însuși prin tunel în loc de gateway-ul implicit.
Am presupus redirect-gateway def1
directiva ar trebui să redirecționeze TOATE trafic prin VPN, inclusiv el însuși.Dar se pare că nu.
Ale mele server.conf:
server 192.168.255.0 255.255.255.0
verbul 3
cheie /etc/openvpn/pki/private/vpn.example.com.key
ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/vpn.example.com.crt
dh /etc/openvpn/pki/dh.pem
tls-auth /etc/openvpn/pki/ta.key
direcția tastei 0
menține în viață 10 60
cheie-persiste
persist-tun
proto udp
portul 1194
dev tun0
stare /tmp/openvpn-status.log
utilizator nimeni
grup fără grup
ruta 192.168.254.0 255.255.255.0
apăsați „block-outside-dns”
apăsați „dhcp-option DNS 192.168.1.1”
apăsați „dhcp-option DOMAIN lan”
Ale mele client.ovpn:
client
nobind
dev tun
server remote-cert-tls
remote vpn.example.com 1194 udp
...certificate...
direcția cheii 1
redirect-gateway def1