OpenVPN keepalive

OpenVPN keepalive
« kdy: 20. 09. 2022, 12:03:25 »
Dokázal by mi prosím někdo vysvětlit, jak ty dvě hodnoty u keepalive přesně fungují? Já to z nápovědy OpenVPN nejsem schopen pochopit. Ideálně na dvou příkladech, restartovat spojení, když linka vypadne na 30s a na 60s.
Předem moc děkuji.


Re:OpenVPN keepalive
« Odpověď #1 kdy: 20. 09. 2022, 12:34:16 »
Já myslím, že to moc pěkně vysvětluje referenční příručka k OpenVPN. Zkusím to nějak převyprávět:

  • parametr ping určuje, po kolika sekundách ticha se má poslat prázdný paket
  • parametr ping-restart určuje, po kolika sekundách ticha protistrany se má tunel restartovat
  • parametr keepalive pak je vlastně makro nad těmi volbami a jeho použití se liší mezi serverem a klientem

Když nastavíte třeba keepalive na 10 60, tak si server nastaví ping na 10 sekund (když je ticho, pošli každých 10 sekund prázdnou zprávu) a ping-restart na 120 (dvojnásobek timeoutu, aby klient měl šanci detekovat problém dřív než server). Kromě toho také server pomocí volby push nastaví tyhle hodnoty i klientovi, tentokrát bez dvojnásobku, takže klient bude mít ping na 10 a ping-restart na 60.

Pokud je ta volba explicitně v konfiguraci klienta, pak tento si přímo sám nastaví ping na 10 a ping-restart na 60.

Stačí to tak?

Re:OpenVPN keepalive
« Odpověď #2 kdy: 20. 09. 2022, 13:52:55 »
To jsem z příručky pochopil, že keepalive spojuje hodnoty těchto dvou parametrů. A jak to počítat? Když nastavím keepalive 10 60, tak to znamená, že po 10s bez komunikace pošle ping a pokud během 60s se nevrátí odezva na některý ping, tak se pokusí znovu navázat spojení?
Jinými slovy, pokud bych chtěl resetovat spojení přesně po minutě, nastavím keepalive 10 50? A má smysl používat nějakou nižší hodnotu ping, než je těch 10s?

Re:OpenVPN keepalive
« Odpověď #3 kdy: 20. 09. 2022, 15:27:44 »
Keepalive obecně bez kontextu je cokoli. Například http keepalive u Connection- keep-alive.
Ale asi myslíš, to, že klient je za natem a musí posílat každou chvílí keepalive pakety, aby NAT mimo kontrolu užuivatele nerozvázal spojení(mapping)

To zjistíš experimentálně, kdy se bude ze serveru připojovat na klienta v prodlužujících intervalech.

U mě 2 MINUTY.

Re:OpenVPN keepalive
« Odpověď #4 kdy: 20. 09. 2022, 16:20:47 »
Když nastavím keepalive 10 60, tak to znamená, že po 10s bez komunikace pošle ping a pokud během 60s se nevrátí odezva na některý ping, tak se pokusí znovu navázat spojení?

Pozor, tam žádná odezva není. To není ICMP echo request, na který následuje ICMP echo reply. Keepalive jde jedním směrem a na konci se ignoruje. Takže 10 se týká mě a 60 se týká druhé strany. Já posílám při tichu každých 10 sekund a očekávám, že druhá strana se mi ozve alespoň jednou za 60.


Re:OpenVPN keepalive
« Odpověď #5 kdy: 21. 09. 2022, 15:32:11 »
Už to konečně chápu, děkuji.