Bagaimana cara membuat antarmuka virtual dari proxy kaus kaki?


2

Saya ingin membuat antarmuka jaringan dari proxy SOCKS 5 di localhost. Ini pada akhirnya akan dijembatani dengan antarmuka nirkabel yang saya miliki yang akan beroperasi dalam mode AdHoc. Ini akan memungkinkan semua klien pada antarmuka ini untuk menggunakan proksi kaus kaki meskipun mereka tidak memiliki dukungan untuk SOCKS. Ini akan mendukung iDevices, PSP, dll, saat saya bepergian. Itu akan lari dari laptop saya. Adakah yang bisa memberikan beberapa sumber daya yang berguna yang akan membantu saya mendapatkan pengaturan antarmuka proxy SOCKS pada mesin Ubuntu saya? Terima kasih sebelumnya!

Jawaban:



1

Anda tidak dapat melakukan ini, karena SOCKS tidak beroperasi pada lapisan yang cukup rendah - ini hanya dapat mem-proxy koneksi TCP, bukan paket IP mentah. Ini diperlukan untuk mengatur perutean, dengan atau tanpa NAT; tetapi menjembatani (seperti pada brctl) membutuhkan lebih banyak lagi - kemampuan untuk mengirim frame Ethernet mentah.

Anda harus melihat ke dalam VPN sebagai gantinya - OpenVPN cukup mudah untuk diatur.


1

Anda memerlukan tun2socks, ini adalah bagian dari proyek BadVPN ( https://github.com/ambrop72/badvpn ). Sudah ada jawaban di sini merekomendasikan tun2socks, tetapi tidak memiliki contoh.

Anda dapat membangun tun2socks dari sumber atau menginstal paket yang sudah dikompilasi. Misalnya, di Ubuntu:

sudo add-apt-repository ppa:hda-me/badvpn-tun2socks
sudo apt-get update
sudo apt-get install badvpn-tun2socks

ip tuntap add dev tun1 mode tun user nobody
ifconfig tun1 up 10.0.0.1/24

# --netif-ipaddr 10.0.0.2 is not a typo.
# It specifies the IP address of the virtual router inside the TUN device,
# and must be different than the IP of the TUN interface itself.
# This command assumes you have tor up and running on 127.0.0.1:9050.
# Of course, you can use any other SOCKS proxy instead.
badvpn-tun2socks --tundev tun1 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:9050

Selanjutnya, Anda perlu memutuskan apakah Anda ingin merutekan semua lalu lintas melalui proxy, atau hanya lalu lintas ke beberapa IP atau host tertentu. Jika Anda memiliki daftar tersebut (atau dapat membuatnya dengan upaya yang wajar), ini adalah solusi yang paling efisien.

# Here list of hosts or IPs to route through proxy is just an example.
# You need to specify your own list.
list_of_IPs_to_route_via_proxy="example.com 203.0.113.5"
for IP in $(echo $list_of_IPs_to_route_via_proxy); do
  route add $IP gw 10.0.0.2; done

Jika Anda perlu merutekan semua lalu lintas melalui proxy, ini akan sedikit lebih rumit. Dalam hal ini saya sarankan untuk membaca https://github.com/ambrop72/badvpn/wiki/Tun2socks dengan hati-hati . Dokumentasi resmi mengasumsikan Anda ingin menggunakan localhost: 1080 sebagai proxy Anda, dan memberikan instruksi cara membuat server SOCKS lokal dengan penerusan dinamis SSH. Bagian terpenting dari dokumentasi:

Sambungkan ke server SSH, dengan -D localhost: 1080 ke perintah ssh untuk mengaktifkan penerusan dinamis. Ini akan membuat ssh membuka server SOCKS lokal yang akan digunakan badvpn-tun2socks. Jika Anda menggunakan Putty, buka Connection-> SSH-> Tunnels, ketik 1080 di port Source, pilih Dynamic dan klik Add.

Yang tersisa hanyalah merutekan koneksi melalui perangkat TUN alih-alih gateway default yang ada. Ini dilakukan sebagai berikut:

Tambahkan rute ke server SSH melalui gateway Anda yang ada, dengan metrik yang lebih rendah dari rute default aslinya. Jika server DNS Anda ada di Internet (bukan jaringan lokal Anda), tambahkan juga rute untuk mereka (seperti untuk server SSH). Ini diperlukan karena tun2socks tidak meneruskan UDP secara default (lihat di bawah). Tambahkan rute default melalui router virtual di perangkat TUN, dengan metrik lebih rendah dari rute default asli, tetapi lebih tinggi dari rute SSH dan DNS.

Ini akan membuat semua koneksi eksternal melalui perangkat TUN, kecuali untuk koneksi SSH (kalau tidak SSH akan pergi melalui perangkat TUN, yang akan melalui ... SSH).

Misalnya (dengan asumsi tidak ada rute default yang ada dengan metrik <= 6; kalau tidak hapus atau ubah metriknya), di Linux:

route add <IP_of_SSH_server> gw <IP_of_original_gateway> metric 5 <same for DNS>
route add default gw 10.0.0.2 metric 6

The dokumentasi juga memiliki contoh untuk menggunakan tun2socks untuk UDP forwarding, bagaimana rute semua lalu lintas melalui Tor, bagaimana untuk mendapatkan dukungan IPv6.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.