Saya mencoba membuat klien saya meneruskan semua lalu lintas melalui VPS yang menjalankan OpenVPN. Seperti yang Anda lihat, itu akan memungkinkan ping ke domain dan alamat IP mentah, tetapi itu tidak akan mengizinkan lalu lintas seperti yang dilakukan melalui curl dan traceroute tidak menghasilkan apa-apa. Lalu lintas berfungsi dengan benar ketika tidak terhubung ke VPN.
Semua informasi ada di sini: https://pastebin.com/tGspNefn
Terima kasih.
Konfigurasi yang berfungsi berkat solusi di bawah ini:
Server:
port <integer>
proto udp
dev tun
ca ca.crt
cert vpnserver.crt
key vpnserver.key # This file should be kept secret
dh dh4096.pem
tls-auth ta.key 0
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway autolocal"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
Klien:
client
dev tun
proto udp
remote x.x.x.x <port number>
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert vpnclient.crt
key vpnclient.key
tls-auth ta.key 1
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3
/sbin/route add -net 0.0.0.0 netmask 128.0.0.0 gw 10.8.0.5
mengapa netmask 128.0.0.0?Jawaban:
Ada dua bagian ke dalam solusi:
1. Arahkan ulang semua lalu lintas ke dalam terowongan
Solusi termudah - gunakan
--redirect-gateway autolocal
opsi OpenVPN (atau masukkan dalam file konfigurasi sebagairedirect-gateway autolocal
.2. Menangani lalu lintas di server OpenVPN
Sekarang terowongan naik semua lalu lintas masuk ke terowongan dan muncul di ujung server dari
tun0
antarmuka.Anda perlu mengonfigurasi dua hal untuk membuatnya berfungsi:
Sebuah. Aktifkan penerusan paket
Secara default di sebagian besar distribusi penerusan paket dinonaktifkan, maka paket dari antarmuka terowongan tidak pernah sampai ke antarmuka publik. Anda harus mengaktifkan penerusan dengan:
Setelah diuji, lakukan perubahan permanen di
/etc/sysctl.conf
Pastikan
iptables
juga tidak memblokir lalu lintas yang diteruskan:Ini cukup baik untuk pengujian - dalam produksi Anda ingin membuat aturan firewall sedikit lebih spesifik, tapi itu di luar jangkauan di sini.
b. Pisahkan paket keluar dari terowongan
Dengan penerusan yang diaktifkan paket-paket secara default diteruskan dengan alamat sumbernya tidak berubah, yaitu dalam kasus Anda
10.8.0.6
- paket-paket seperti itu dijatuhkan di gateway ISP atau bahkan jika mereka membuatnya ke tujuan, balasannya tidak pernah menemukan jalan kembali. Alamat pribadi ini tidak dapat dirutekan di internet.Solusinya adalah untuk NAT lalu lintas keluar, yaitu mengganti
10.8.0.6
alamat pribadi dengan IP publik server VPN. Itu akan memastikan bahwa balasan mencapai server VPN dan di sana mereka akan diteruskan kembali ke terowongan.3. Uji itu
Sekarang coba
ping 8.8.4.4
dari klien VPN Anda. Anda akan melihat balasan. Beri tahu kami jika tidak :)sumber
Redirect all the traffic into the tunnel
langkah dalam Konfigurasi klien?