Saya menggunakan klien OpenVPN melalui plugin OpenVPN Network Manager pada dual stack (artinya dikonfigurasi untuk konektivitas IPv4 dan IPv6) Ubuntu 13.10 untuk mengarahkan ulang semua lalu lintas melalui VPN (redirect-gateway). Biasanya berfungsi dengan baik.
Namun, karena fakta bahwa IPv6 lebih disukai oleh sistem, VPN "bocor" dan ketika terhubung ke situs yang juga tersedia melalui IPv6 (seperti Google, atau Wikipedia), peramban terhubung langsung.
Salah satu solusinya adalah dengan mengkonfigurasi server OpenVPN untuk menyediakan konektivitas IPv6. Meskipun dimungkinkan dengan OpenVPN, plugin untuk Network Manager saat ini tidak mendukungnya.
Karena konektivitas IPv6 melalui VPN tidak sepenuhnya diperlukan, saya ingin menonaktifkan IPv6 pada klien saat menghubungkan ke server OpenVPN. Apa itu mungkin? Jika demikian, bagaimana saya bisa melakukannya?
sumber
Jawaban:
Tambahkan ini ke baris kernel Anda di boot loader Anda untuk menonaktifkan IPv6 sama sekali:
Jika Anda menggunakan Grub (jika Anda belum menginstal boot-loader Anda sendiri, maka Anda menggunakan Grub), baris kernel Anda akan terlihat seperti ini:
Pendekatan yang disarankan, untuk menambahkan sesuatu ke baris kernel, adalah menambahkan parameter kernel yang diinginkan ke
GRUB_CMDLINE_LINUX_DEFAULT
variabel dalam/etc/default/grub
file:Setelah Anda menambahkannya ke
/etc/default/grub
, jalankan perintah berikut untuk membuat ulanggrub.cfg
:Atau, menambahkan
ipv6.disable_ipv6=1
bukan akan membuat tumpukan IPv6 berfungsi tetapi tidak akan menetapkan alamat IPv6 ke perangkat jaringan Anda.ATAU
Untuk menonaktifkan IPv6 via sysctl, tempatkan yang berikut ini ke
/etc/sysctl.conf
file Anda :Jangan lupa untuk mengomentari host IPv6 di
/etc/hosts
file Anda :CATATAN
reboot mungkin diperlukan untuk metode sysctl, dan reboot pasti diperlukan untuk pendekatan garis kernel.
ATAU
Untuk menonaktifkan sementara ipv6:
Untuk mengaktifkannya untuk sementara :
Jadi jika Anda perlu menonaktifkan ipv6 pada kondisi tertentu , maka tulis skrip bash di suatu tempat di sepanjang baris berikut:
CATATAN
Anda mungkin perlu menonaktifkan host ipv6 dalam
/etc/hosts
file Anda untuk metode ini juga, seperti yang saya sarankan dalam metode sebelumnya.sumber
nmcli
untuk memeriksa apakah Anda terhubung ke VPN; jika itu tidak berhasil maka saya yakin ada utilitas bersih command-line di luar sana yang akan memberikan akses ke info itu.sysctl
) tidak mengaktifkan kembali IPv6 untuk WiFi dengan benar. Anda perlu menyambung kembali ke jalur akses untuk mengaktifkannya.Anda dapat menonaktifkan ipv6 di tingkat klien untuk koneksi Network Manager tertentu dengan mengatur opsi IPv6 ipv6. Metode untuk "abaikan"
// SOP: Buat kembali koneksi LAN saya menggunakan FIXED IP 192.168.0.95 ke Ethernet. `` ``
`` ``
sumber
Saya menggunakan Ubuntu 16.04.03 LTS, menghubungkan ke server Pi-Hole melalui PiVPN.
Inilah yang saya lakukan untuk mengaktifkan dan menonaktifkan IPv6 secara otomatis saat menghubungkan ke VPN melalui Network Manager:
Buat skrip di
/etc/NetworkManager/dispatcher.d
:Tambahkan konten berikut ke dalam file (modifikasi konten untuk kebutuhan Anda):
Jadikan skrip dapat dieksekusi:
Itu dia. Saya harus menambahkan DNS Pi-Hole secara manual karena ada
dnsmasq
bug yang mencegahresolv.conf
pembaruan dengan benar, jadi ubah baris yang ditunjukkan jika Anda menemukan DNS Anda bocor.sumber
Saya pikir itu kurang intrusif untuk menonaktifkan ip6 di file klien (edit client_conf_file.ovpn) yang memodifikasi stack tcp kernel.
Buka conf_file.ovpn Anda dan tambahkan baris ikuti:
Saya mencobanya dan setelah ini IPv6 menghilang.
Sebelum. Saya menjalankan
ip a |grep global
dan hasilnya adalah:Setelah. Saya menjalankan
ip a |grep global
dan hasilnya adalah:sumber
Edit profil OpenVPN di NetworkManager, buka tab IPv6 dan tambahkan rute secara manual:
Alamat: 2000 Awalan: 3 Gerbang: 0100 :: 1
2000 :: / 3 menangkap semua alamat IPv6 yang dapat dirutekan secara publik. 0100 :: / 64 awalan adalah awalan khusus yang ditujukan untuk membuang lalu lintas. Pada dasarnya Anda akan mengirim semua lalu lintas IPv6 ke gateway yang tidak ada.
Terbalik: mudah dan sepenuhnya otomatis.
Kelemahan: beberapa aplikasi, yaitu alat baris perintah, mungkin tidak mundur ke IPv4 secepat yang diinginkan ketika metode ini digunakan.
sumber
Coba skrip lurus ke depan yang baru saya buat sekarang, ini akan,
Jika masih ada alamat ipv6 pada antarmuka tertentu, klien masih mencoba routing ipv6 tetapi karena DNS menggunakan UDP, ada kemungkinan Kebocoran DNS yang TCPwrapper tidak berhasil untuk menonaktifkan.
Script ini juga bekerja dengan baik dengan antarmuka lain karena tidak bergantung pada argumen NetworkManager lagi, seperti vpn-up vpn-down.
buat file yang dapat dieksekusi di /etc/NetworkManager/dispatcher.d/
rekatkan kode di bawah ini
kemudian membuatnya bisa dieksekusi
PS OpenVPN dengan Network Manager kehilangan banyak opsi manfaat OpenVPN dari versi baris perintah.
sumber