/etc/default/openvpn
저는 최근에 구성 .conf 파일을 매개변수의 일부로 설정하여 OpenVPN이 시작 시 VPN 게이트웨이에 자동으로 연결되도록 하는 기본 제공 방법을 발견했습니다 AUTOSTART
. 글쎄, 그것은 매력적으로 작동하지만 연결이 끊어지면 OpenVPN에 다시 연결하는 좋은 방법은 무엇입니까?
저는 Linux를 처음 접했기 때문에 기본적으로 OpenVPN 게이트웨이의 IP를 핑할 수 있는지 확인하고 그렇지 않으면 다시 연결하는 bash 스크립트를 구현 sudo
했습니다 openvpn --config /path/to/ovpn
.
호스트가 자동으로 연결을 다시 설정하도록 하는 보다 안정적인 방법을 제안할 수 있습니까?
답변1
"man openvpn"에서:
--ping-restart n --ping-exit와 비슷하지만 n초 후에 원격지에서 ping이나 다른 패킷이 수신되지 않으면 SIGUSR1 재시작을 트리거합니다.
이 옵션은 원격 피어에 동적 IP 주소가 있고 낮은 TTL DNS 이름을 사용하여 IP 주소를 추적하는 경우 유용합니다.http://dyndns.org/+ ddclient와 같은 동적 DNS 클라이언트.
피어에 연결할 수 없는 경우 다시 시작이 트리거되어 --remote(--resolv-retry도 지정된 경우)와 함께 사용된 호스트 이름이 다시 확인됩니다.
서버 모드에서는 --ping-restart, --inactive 또는 내부적으로 생성된 다른 유형의 신호가 항상 전체 서버 자체가 아닌 단일 클라이언트 인스턴스 객체에 적용됩니다. 또한 서버 모드에서는 내부적으로 생성된 신호(일반적으로 재부팅을 초래함)로 인해 클라이언트 인스턴스 개체가 삭제됩니다.
클라이언트 모드에서 --ping-restart 매개변수의 기본값은 120초입니다. 이 기본값은 클라이언트가 서버 구성의 --keepalive 설정을 기반으로 서버에서 대체 값을 가져올 때까지 유지됩니다. 120초 기본값을 비활성화하려면 클라이언트에서 --ping-restart 0을 설정합니다.
SIGUSR1에 대한 자세한 내용은 아래 신호 섹션을 참조하세요.
SIGUSR1의 동작은 --persist-tun, --persist-key, --persist-local-ip 및 --persist-remote-ip 옵션을 사용하여 수정할 수 있습니다.
또한 --ping-exit와 --ping-restart는 상호 배타적이므로 함께 사용할 수 없습니다.