Saya mencoba menggunakan server Google Compute Engine sebagai server VPN untuk semua lalu lintas saya (saya tinggal di Rusia, kami memiliki beberapa masalah dengan sensor di sini).
Ada mini-tutorial tentang VPN di GCE , tapi ini tentang jaringan antara 2 server di dalam GCE dan bukan dengan OpenVPN.
Saya telah membuat semua langkah dari tutorial lain, tentang pengaturan VPN dengan OpenVPN pada Debian , saya dapat terhubung ke VPN dari klien, tetapi kemudian saya tidak dapat membuka koneksi (bahkan tidak bisa ping google). Di server saya dapat melakukan ping dan mengunduh semuanya seperti biasa.
Saya memiliki VPN di Linode dengan pengaturan yang sama dan berfungsi dengan baik. Jadi masalah ada dalam aturan jaringan atau firewall GCE.
Saya sudah mencoba banyak varian tetapi tidak ada yang berhasil. Tolong, lihat pengaturan dan katakan padaku apa yang harus saya ubah.
// baris config dihapus, karena masalah terpecahkan //
Jawaban:
Pertama-tama, terima kasih kepada @Shivox untuk jawabannya .
Dan inilah cara cepat untuk:
sudo su
apt-key update && apt-get update && apt-get -y upgrade && apt-get -y install python-software-properties && apt-get -y install software-properties-common && add-apt-repository -y ppa:pritunl && apt-get update && apt-get -y install pritunl
https://instance_ip:9700
pritunl
sebagai nama pengguna dan kata sandiSaya menggunakan Viscosity untuk OS X dan OpenVPN terhubung untuk iOS sebagai klien. Dalam Viskositas, aktifkan opsi "Kirim semua lalu lintas melalui koneksi VPN" di tab "Jaringan".
sumber
Anda dapat mengatasi masalah tidak dapat menjelajahi web melalui VPN meskipun dapat melakukan ping, traceroute ... dengan salah satu dari dua cara berikut:
Pertama, Anda dapat menggunakan protokol TCP alih-alih UDP, dengan mengubah 'proto udp' menjadi 'proto tcp' di file klien dan server conf.
Kedua, Anda dapat menggunakan perangkat tap alih-alih tun, dengan mengubah 'dev tun' menjadi 'dev tap' di file klien dan server conf.
Tidak yakin apa masalahnya, sepertinya itu masalah dari Google.
sumber
Harap diingat bahwa Google VPC menjatuhkan paket yang memiliki
source_ip
selain IP internal VM yang memiliki IP eksternal.Doc ini https://cloud.google.com/compute/docs/vpc/advanced-vpc menyatakan:
Jadi jika openVPN Anda hanya meneruskan paket-paket dari jaringan lain, maka paket-paket ke internal publik akan dihapus karena
source_ip
tidak cocok dengan IP internal VM yang ada. Untuk alasan ini, Anda perlu NAT paket yang meninggalkan jaringan lokal Anda, misalnya pada simpul VPN Anda."Pritunl" yang disebutkan dalam jawaban OZ_ berfungsi, karena mengkonfigurasi NAT secara otomatis.
sumber
Ini sebenarnya bukan jawaban, tetapi situs itu tidak mengizinkan saya untuk menambahkannya sebagai komentar untuk pertanyaan Anda.
Namun demikian, saya memiliki konfigurasi yang hampir sama persis dengan yang Anda perincian di atas (saya tidak mengkonfigurasi dnsmaq pada server tangguh)
Sayangnya, VPN tidak berfungsi seperti yang diharapkan. Saya dapat menyelesaikan alamat, melakukan ping ke beberapa host Internet dan bahkan membuat jejak lengkap saat terhubung ke VPN. Namun ketika saya membuka browser dan menavigasi ke suatu situs, koneksi sangat lambat. Saya tidak tahu apa yang bisa memengaruhi koneksi, tetapi ini benar-benar masalah aneh.
Mungkin seseorang dari Google dapat membantu kami mengetahui apa yang sedang terjadi.
PS 1. Seperti yang disarankan orang lain sebelumnya, dapatkah Anda memverifikasi apakah penerusan ip diaktifkan? Bagi saya, satu-satunya cara untuk memastikan nilai net.ipv4.ip_forward dikembalikan dengan benar setelah reboot adalah setelah saya menggunakan aturan khusus di /etc/sysctl.d
Misalnya, Anda bisa menambahkan aturan menggunakan perintah berikut:
PS 2. Jika penerusan bekerja untuk Anda, dapatkah Anda menguji rute jejak ke host eksternal saat terhubung ke VPN ?. Output yang saya dapatkan ketika saya melakukan ini agak aneh (Mengapa ada beberapa hop pada IP yang sama ????):
PS 3. Satu-satunya hal yang tampaknya berfungsi dengan baik adalah VPN menggunakan IP eksternal dari host saya untuk mengakses Internet
sumber
Edit
/etc/sysctl.conf
dengan menghapus komentar#net.ipv4.ip_forward=1
Itu seharusnya memungkinkan OpenVPN untuk mengarahkan lalu lintas Anda.
sumber
Anda perlu IP forwarding diaktifkan untuk instance VM Anda di google cloud, jika tidak paket tidak akan mencapai VM Anda. Catatan, ini terpisah dari
net.ipv4.ip_forward = 1
yang dapat Anda atur di VM Anda.Penerusan IP hanya dapat diatur satu kali sebelum Anda membuat VM, dan tidak dapat dimodifikasi setelahnya. Untuk mengaktifkannya untuk VM baru klik
Management, security, disks, networking, sole tenancy
:Kemudian, di
Networking
tab klikNetwork Interface
dan atur IP Forwarding keON
:sumber
Anda perlu menambahkan aturan yang mengizinkan lalu lintas untuk OpenVPN itu sendiri:
sumber
Tentang Jaringan.
1) Aktifkan semua lalu lintas dari OpenVPN Subnet (mis. 10.8.0.0/24) di Konsol
2) Saya sangat menyarankan Anda untuk menambahkan Masquerade ke jaringan Anda
3) Jangan lupa untuk mengaktifkan perutean paket di kernel
a) satu kali
b) selamanya di /etc/sysctl.conf:
sumber