Bagaimana saya bisa mengaitkan skrip ke OpenVPN agar berjalan saat VPN berhasil terhubung?
Jawaban Terbaik
network-manager-openvpn
tidak menyediakan fungsionalitas seperti itu, Anda harus menggunakan openvpn
secara langsung.
Lewati --script-security 2 --up /path/to/your/script
untuk itu saat menghubungkan. Jika Anda menggunakan file konfigurasi yang terletak di /etc/openvpn/
, tambahkan baris berikutnya ke file konfigurasi Anda:
script-security 2
# run /etc/openvpn/up.sh when the connection is set up
up /etc/openvpn/up.sh
Dari halaman manual OpenVPN:
--script-security level [method] This directive offers policy-level control over OpenVPN’s usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). --up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). The up script is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel. Script Order of Execution --up Executed after TCP/UDP socket bind and TUN/TAP open. --down Executed after TCP/UDP and TUN/TAP close.
Ada lebih banyak acara untuk eksekusi skrip, yang dapat ditemukan di halaman manual.
Buat /etc/openvpn/up.sh
, dan berikan izin eksekusi (misalnya, 755 atau 700). Contoh konten untuk menambahkan alamat dan rute IPv6 (ditampilkan untuk tujuan pendidikan, jangan disalin secara langsung):
#!/bin/sh
# add an IPv6 address to device $dev (environment variable)
ip -6 addr add 2001:db8::1:2/112 dev $dev
# and the IPv6 route for this net using gateway 2001:db8::1
ip -6 route add 2001:db8::1:0/112 via 2001:db8::1 dev $dev
Perhatikan bahwa up
skrip dijalankan sebagai root. Jika Anda belum menentukan User
dan Group
pengaturan, OpenVPN akan menjalankan skrip seperti down
sebagai root juga.