Terus memeriksa status koneksi OpenVPN

3

Saya mencoba untuk memeriksa dan menampilkan status (terhubung / tidak terhubung) dan nama host server / cn dari koneksi OpenVPN yang harus terhubung pada setiap boot.

Sekarang saya telah menemukan bahwa dalam /var/log/syslogkoneksi tersebut dicatat, yang dapat saya gunakan untuk menentukan apakah Initialization Sequence Completedtelah login dan mendapatkan nama host / cn, 19 baris di atas dari [brimstone] Peer Connection Initiated with [AF_INET]1.2.3.4:1234.

Diambil log ini, saya dapat memeriksa Initialization Sequence Completed, yang berarti bahwa saya terhubung dan nama host, yang saya inginkan untuk skrip yang berbeda.

Sekarang masalah saya adalah bahwa saya saat ini tidak tahu apakah koneksi masih hidup dan / atau apakah saya terhubung ke server lain. Saya secara berkala dapat memeriksa log untuk perubahan tetapi tampaknya sedikit ekstrem untuk tugas yang agak mendasar.

Bagaimana saya memeriksa status koneksi OpenVPN saya dan jika terhubung, dapatkan nama host Server / cn?

apoc
sumber

Jawaban:

4

Anda tidak perlu melakukan itu, tetapi Anda masih bisa melakukannya dengan cara memeriksa alamat IP eksternal Anda: perintah berikut

   wget 216.146.38.70:80

pertanyaan checkip.dyndns.org untuk IP eksternal Anda. Anda harus dapat mengenali status koneksi Anda saat ini dengan cara itu.

Atau, Anda dapat memeriksa tabel routing Anda:

   $ ip route show
   0.0.0.0/1 via 10.8.0.17 dev tun0 
   default via 192.168.73.1 dev eth0  proto static 
   10.8.0.0/24 via 10.8.0.17 dev tun0 
   10.8.0.17 dev tun0  proto kernel  scope link  src 10.8.0.18 
   128.0.0.0/1 via 10.8.0.17 dev tun0 
   192.168.73.0/24 dev eth0  proto kernel  scope link  src 192.168.73.74  metric 1 
   IP.Address.Of.Your.OpenVPN.server via 192.168.73.1 dev eth0 

(ini untuk OpenVPN yang dialihkan, tetapi ini tidak masalah). Baris penting adalah yang terakhir: jika Anda memiliki hal seperti ini, paket Anda akan dialihkan melalui OpenVPN.

Anda juga dapat menggunakan instrumen seperti mtritu pingsdan traceroutessecara bersamaan (dan terus-menerus !!) alamat ip yang diberikan, misalnya:

   mtr www.debian.org

Jika OpenVPN habis, Anda akan melihat paket-paket dialihkan melalui terowongan ( tun0atau tap0), bukan melalui gateway biasa Anda.

Seperti yang saya katakan di awal, Anda tidak perlu melakukan ini: OpenVPN memberi Anda mekanisme untuk terus memeriksa status koneksi, dan untuk me-restart jika perlu:

--menyiapkan nm

Arahan pembantu yang dirancang untuk menyederhanakan ekspresi --ping dan --ping-restart dalam konfigurasi mode server. Sebagai contoh, --keepalive 10 60 perluas sebagai berikut:

 if mode server:
   ping 10
   ping-restart 120
   push "ping 10"
   push "ping-restart 60"
 else
   ping 10
   ping-restart 60

Anda dapat menggunakan salah keepalivekombinasi atau cocok ping, ping-restart, ping-exit, untuk mengontrol secara otomatis status koneksi.

MariusMatutiae
sumber
1

Anda mungkin dapat menggunakan kombinasi openvpn:

atas, bawah, atasrestart dan ping-restart

file konfigurasi (atau perintah-baris yang sesuai) arahan?

Tim Small
sumber