Üdv!
Mi a szép megoldás arra, hogy az openvpn kliens (linux) automatikusan újracsatlakozzon?
Egy teszt szerver openvpn-el szépen működik, de előfordul, hogy akár 1napig nem elérhető a szerver.
Az openvpn kliens nem is látszódik a szerver openvpn-status.log fájljában. Tehát már nem kapcsolódik vissza.
Találtam 1-2 lehetőséget, de nem tudom mi az igazi megoldás ilyenkor.
auto-ovpn.sh on github
auto reconnect openvpn client trick
- 3194 megtekintés
Hozzászólások
sub
- A hozzászóláshoz be kell jelentkezni
Debian szerű rendszereknél a /etc/default/openvpn -ben az AUTOSTART= -be beírod a config nevét, amit rebootnál automatikusan indítani akarsz, és ez leszakadáskor is újra próbál csatlakozni. Mondjuk 1-2 napos szerver kiesés nekem nem volt, lehet, hogy van valami timeoutja, de néhány (tíz) percig biztos próbálkozik. Gondolom más distroknál is van ez a paraméter valami hasonló módon.
- A hozzászóláshoz be kell jelentkezni
Rövid szakadás esetén az openvpn auto visszakapcsolódik, igen. De hosszabb időkiesés esetén már nem - ahogy tapasztaltam.
Ezért keresek erre megoldást.
Megnézem, amit írtál. Kösz!
A github-os auto reconnect script is jó lehet. Elvileg ilyenkor a kliensen a tun eszköz eltűnik, amit a script is figyel.
- A hozzászóláshoz be kell jelentkezni
vegigneztem debianon az "AUTOSTART" valtozo kezeleset de semmilyen parameterezesre nem hasznalja az openvpn mukodesevel kapcsolatban. nekem ugy tunik ez a valtozo csak az instance-ok config neveit tartalmazza es csak az init-script start/stop-nal van szerepe.
az en tapasztalataim alapjan az openvpn mindig automatikusan ujracsatlakozott akar fel nap utan is. squeeze es wheezy aminel ez biztosan igy van.
- A hozzászóláshoz be kell jelentkezni
Valószínű, ennyire nem néztem utána hirtelen, és átgondolva az újra konnektálást valószínű ez kevésbé befolyásolja, ha már elindult a kliens, az próbálkozik. Valószínű tényleg valami timeout-nak kellene utána nézni,ha van ilyen és egy idő után valóban abbahagyja a próbálkozást (nekem sem tűnt még ez fel).
- A hozzászóláshoz be kell jelentkezni
A keepalive beállításnak nem tudom van-e ilyenkor jelentősége (alapértelmezett: "keepalive 10 120").
- A hozzászóláshoz be kell jelentkezni
ez szerver oldalon mondja meg hogy mikor tekintse megszakadtnak a kapcsolatot a klienssel.
- A hozzászóláshoz be kell jelentkezni
nem, ez számít mind kliens, mind szerver oldalon, de mást jelent mindkét helyen.
- A hozzászóláshoz be kell jelentkezni
valoban. en azert nem probaltam hasznalni eddig kliens oldalon mert a szerver attolja a kliensnek a sajat keepalive beallitasat kapcsolodaskor.
- A hozzászóláshoz be kell jelentkezni
Céghez jön be vagy 100 feletti vpn kapcsolat, én 3 15-el használom ezt az opciót. Default értékekkel sokszor megszakadt a kapcsolat.
- A hozzászóláshoz be kell jelentkezni
Az AUTOSTART=true|false nem arra van,hogy maga az OpenVPN elinduljon-e boot során? Legalábbis tudtommal:)
Ami /etc/openvpn mappában van .conf file Linux alatt azokat automatikusan felhúzza boot során.
Erre kell egy script, ami figyeli, hogy él-e a kapcsolat és ha nem újraindítja.
- A hozzászóláshoz be kell jelentkezni
Igen, igen, revideáltam magam két commenttel feljebb.
- A hozzászóláshoz be kell jelentkezni
mondjuk lehet pingetni kliensbol a szerver vpn ip-jet, aztan ha nem ping akkor openvpn restart.
kozben rajottem, nekem miert nem volt gondom ilyesmivel: jellemzoen ha nem erik el a szervert az a kliens netkapcsolatanak hibajabol adodott, igy nem volt nevfeloldas es a "resolv-retry inifinte" megoldotta a vegtelen ujraprobalkozast.
- A hozzászóláshoz be kell jelentkezni
A resolv-retry infinite parancsot próbáltad már a configban?
- A hozzászóláshoz be kell jelentkezni
--resolv-retry n
If hostname resolve fails for --remote, retry resolve for n seconds before failing.
Set n to "infinite" to retry indefinitely.
By default, --resolv-retry infinite is enabled. You can disable by setting n=0.
Konkrét esetben a távoli openvpn szervernek csak IP címe van.
- A hozzászóláshoz be kell jelentkezni
Jó lenne tudni, hogy hogy van konfigurálva a tunnel. A leggyakoribb gond az, hogy a privilégiumok eldobása miatt nem tudja olvasni illetve létrehozni a megfelelő konfigurációkat. Sok dologtól függ
keepalive (ez befolyásolja a ping-restart értékét)
ping-exit van e deklarálva.
Melyik helyen (server, client) mi van beállítva ezekből illetve hogy SIGUSR1 (ping-restart) esetén van e persist-tun persist-key.
Ennek nagy része a logból kiolvasható, ha többet írnál a kapcsolat beállításról, lehet, hogy könnyebben menne.....
- A hozzászóláshoz be kell jelentkezni
# client.ovpn
client
dev tun
proto udp
remote your_server_ip 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca /path/to/ca.crt
cert /path/to/client.crt
key /path/to/client.key
# server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3
# -----------------------------------
Ez esetben a kliens meddig próbálkozik?
- A hozzászóláshoz be kell jelentkezni
Kliensbe is tedd be:
keepalive 10 60
Nálam hasonló konfig retry -vel + keepalive opciókkal napok után is visszajött a kliens, amikor online lett a szerver.
- A hozzászóláshoz be kell jelentkezni
Valóban újrakapcsolódik. :)
- A hozzászóláshoz be kell jelentkezni
proto udp esetén csak a ping szolgáltatás az amivel el tudja dönteni szakadt e kapcsolat. A fenti beállítás nem tartalmazza se a ping se a keepalive se a ping-exit se a ping-restart kulcsszót, a fenti szerverkonfiggal együtt elméletileg bármeddig kellene próbálkoznia. Mivel verb 3- van a log file el fogja mondani mi volt a leállás oka.
- A hozzászóláshoz be kell jelentkezni
"ping" és "ping-restart" openvpn config opciókkal
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni