Perangkat lunak tun2socks saya (Linux, Windows) menciptakan antarmuka jaringan virtual yang meneruskan semua koneksi TCP yang masuk melalui server proxy yang ditentukan. Itu hanya dapat menggunakan proxy SOCKS, dan secara default hanya dapat meneruskan TCP, meskipun UDP juga dapat diteruskan jika Anda dapat menjalankan udpgw
forwarder saya di suatu tempat di belakang SOCKS. Dengan asumsi Anda memenuhi persyaratan tersebut, inilah cara Anda dapat mengaturnya:
Pertama buat antarmuka virtual dan konfigurasikan. Di Linux:
openvpn --mktun --dev tun0 --user <your_user>
ifconfig tun0 10.0.0.1/24
Atau, pada Windows, cukup instal OpenVPN untuk mendapatkan antarmuka virtual TAP-Win32, dan tetapkan IP 10.0.0.1, netmask 255.255.255.0.
Kemudian mulai tun2socks, yang melakukan penerusan aktual:
badvpn-tun2socks --tundev tun0
--netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0
--socks-server-addr <socks_server_address>:<socks_port>
Di sini, 10.0.0.2
adalah IP dari router virtual di dalam antarmuka virtual. Itu harus dalam subnet yang sama seperti, dan berbeda dari, yang ditugaskan ke antarmuka virtual itu sendiri ( 10.0.0.1/24
). Di Windows, alih-alih tun0
, gunakan:
--tundev "tap0901:<display_name_of_TAP-Win32_device>:10.0.0.1:10.0.0.0:255.255.255.0"
Pada titik ini Anda harus dapat melakukan ping ke router virtual 10.0.0.2
(dalam hal ini tun2socks
program yang sedang berjalan akan menjadi yang merespons). Untuk meneruskan koneksi melalui proxy, yang harus Anda lakukan adalah merutekannya melalui perangkat virtual. Di Linux:
route add default gw 10.0.0.2 metric 0
Atau di Windows:
route add 0.0.0.0 mask 0.0.0.0 10.0.0.2 metric 0
Bagian penting di sini adalah bahwa rute menimpa setiap rute default yang ada. Juga, jika server SOCKS Anda tidak berada di jaringan lokal, Anda harus menambahkan rute pengecualian dengan metrik yang lebih tinggi untuk mencegah koneksi dialihkan kembali ke antarmuka virtual. Lihat tautan di atas untuk informasi lebih lanjut.