Nggawe dalan ing SOCKS ing laptop nganggo Debian 10
Kanggo setaun (utawa rong taun) aku nolak nerbitake artikel iki amarga alasan utama - aku wis nerbitake rong artikel ing ngendi aku nerangake proses nggawe router ing SOCKS saka laptop sing biasa banget karo Debian.
Punika diagram pemblokiran prasaja saka struktur internal router kasebut.
Dadi, aku ngelingake sampeyan apa tujuan saka seri artikel iki:
Rute kabeh sambungan OS menyang SOCKS, uga sambungan saka kabeh piranti ing jaringan sing padha karo laptop.
Laptop ing kasusku kudu tetep mobile. Yaiku, kanggo menehi kesempatan kanggo nggunakake lingkungan desktop lan ora diikat menyang lokasi fisik.
Titik pungkasan nuduhake sambungan lan nuntun mung liwat antarmuka nirkabel sing dibangun.
Inggih, lan mesthi, nggawe pandhuan lengkap, uga analisis teknologi sing cocog kanggo paling apik saka kawruh andhap asor.
Apa sing bakal dibahas ing artikel iki:
Go - download repositori proyek kaos kaki tun2dibutuhake kanggo rute lalu lintas TCP kanggo SOCKS, lan nggawe_ap β script kanggo ngotomatisasi persiyapan saka titik akses virtual nggunakake hostapd.
kaos kaki tun2 - mbangun lan nginstal layanan systemd ing sistem.
systemd-jaringand - ngatur antarmuka nirkabel lan virtual, tabel rute statis lan pangalihan paket.
nggawe_ap - nginstal layanan systemd ing sistem, ngatur lan miwiti titik akses virtual.
Langkah opsional:
ntp - nginstal lan ngatur server kanggo nyinkronake wektu ing klien titik akses virtual.
dnscrypt-proxy β kita bakal encrypt panjalukan DNS, rute menyang SOCKS lan mateni domain iklan kanggo jaringan lokal.
Ateges kita nambahake router encrypting kapindho minangka laptop ing ngarepe router asli lan nggunakake sambungan Internet router asli kanggo panjalukan SOCKS laptop kang wis ndhelik, kang siji rute lan encrypts panjalukan saka klien LAN.
Saka sudut pandang panyedhiya, kita terus nyambung menyang siji server kanthi lalu lintas sing dienkripsi.
Mulane, kabeh piranti disambungake menyang titik akses virtual laptop.
Instal tun2socks ing sistem
Anggere mesin sampeyan duwe internet, download kabeh alat sing dibutuhake.
apt update
apt install git make cmake
Unduh paket badvpn
git clone https://github.com/ambrop72/badvpn
Folder bakal katon ing sistem sampeyan badvpn. Nggawe folder kapisah kanggo mbangun
NetworkManager-ngenteni-online minangka layanan sing ngenteni sambungan jaringan sing bisa digunakake sadurunge systemd terus miwiti layanan liyane sing gumantung saka anane jaringan. Kita mateni nalika ngalih menyang analog systemd-networkd.
Ayo langsung aktifake:
systemctl enable systemd-networkd-wait-online
Setel antarmuka jaringan nirkabel
Nggawe file konfigurasi systemd-networkd kanggo antarmuka jaringan nirkabel /etc/systemd/network/25-wlp6s0.network.
jeneng iku jeneng antarmuka nirkabel sampeyan. Ngenali karo printah ip a.
IPForward - arahan sing mbisakake pangalihan paket ing antarmuka jaringan.
Alamat tanggung jawab kanggo nemtokake alamat IP kanggo antarmuka nirkabel. Kita nemtokake statis amarga kanthi arahan sing padha DHCP=yes, systemd-networkd nggawe gateway standar ing sistem. Banjur kabeh lalu lintas bakal liwat gateway asli, lan ora liwat antarmuka virtual mangsa ngarep ing subnet beda. Sampeyan bisa mriksa gateway standar saiki kanthi printah ip r
Nggawe rute statis kanggo server SOCKS remot
Yen server SOCKS sampeyan ora lokal, nanging adoh, sampeyan kudu nggawe rute statis. Kanggo nindakake iki, nambah bagean Route nganti pungkasan file konfigurasi antarmuka nirkabel sing digawe kanthi isi ing ngisor iki:
[Route]
Gateway=192.168.1.1
Destination=0.0.0.0
Gateway β iki gateway gawan utawa alamat titik akses asli sampeyan.
Destination - Alamat server SOCKS.
Konfigurasi wpa_supplicant kanggo systemd-networkd
systemd-networkd nggunakake wpa_supplicant kanggo nyambung menyang titik akses sing aman. Nalika nyoba "ngunggahake" antarmuka nirkabel, systemd-networkd miwiti layanan kasebut wpa_supplicant@ΠΈΠΌΡngendi Deleng iku jeneng antarmuka nirkabel. Yen sampeyan durung nggunakake systemd-networkd sadurunge titik iki, layanan iki mbokmenawa ora ana ing sistem sampeyan.
Dadi nggawe karo printah:
systemctl enable wpa_supplicant@wlp6s0
tak nggo wlp6s0 minangka jeneng antarmuka nirkabel. Jeneng sampeyan bisa uga beda. Sampeyan bisa ngenali karo printah ip l.
Saiki layanan digawe wpa_supplicant@wlp6s0 bakal diluncurake nalika antarmuka nirkabel "diunggahake", nanging, bakal golek setelan SSID lan sandhi titik akses ing file kasebut. /etc/wpa_supplicant/wpa_supplicant-wlp6s0. Mulane, sampeyan kudu nggawe nggunakake sarana wpa_passphrase.
ngendi SSID iku jeneng titik akses, sandi iku sandi, lan wlp6s0 - jeneng antarmuka nirkabel sampeyan.
Miwiti antarmuka virtual kanggo tun2socks
Nggawe file kanggo initialize antarmuka virtual anyar ing sistem/etc/systemd/network/25-tun2socks.netdev
[NetDev]
Name=tun2socks
Kind=tun
jeneng iku jeneng sing systemd-networkd bakal nemtokake kanggo antarmuka virtual mangsa nalika iku initialized.
Kind minangka jinis antarmuka virtual. Saka jeneng layanan tun2socks, sampeyan bisa guess sing nggunakake antarmuka kaya tun.
netdev iku extension saka file sing systemd-networkd Migunakake kanggo miwiti antarmuka jaringan virtual. Alamat lan setelan jaringan liyane kanggo antarmuka kasebut ditemtokake ing .jaringan- file.
Nggawe file kaya iki /etc/systemd/network/25-tun2socks.network kanthi isi ing ngisor iki:
Name - jeneng antarmuka virtual sing sampeyan nemtokake netdev-file.
Address - Alamat IP sing bakal ditugasake menyang antarmuka virtual. Kudu ana ing jaringan sing padha karo alamat sing sampeyan nemtokake ing layanan tun2socks
Gateway - Alamat IP "router" kaos kaki tun2, sing sampeyan nemtokake nalika nggawe layanan systemd.
Dadi antarmuka kaos kaki tun2 duwe alamat 172.16.1.2, lan layanan kaos kaki tun2 - 172.16.1.1, yaiku, iku gateway kanggo kabeh sambungan saka antarmuka virtual.
Nggawe titik akses virtual
Instal dependensi:
apt install util-linux procps hostapd iw haveged
Ngundhuh repositori nggawe_ap menyang mobil sampeyan:
git clone https://github.com/oblique/create_ap
Pindhah menyang folder repositori ing mesin sampeyan:
cd create_ap
Instal ing sistem:
make install
Konfigurasi bakal katon ing sistem sampeyan /etc/create_ap.conf. Mangkene pilihan panyuntingan utama:
GATEWAY=10.0.0.1 - iku luwih apik kanggo nggawe subnet reserved kapisah.
NO_DNS=1 - mateni, amarga parameter iki bakal dikelola dening antarmuka virtual systemd-networkd.
NO_DNSMASQ=1 - mateni kanthi alasan sing padha.
WIFI_IFACE=wlp6s0 - antarmuka nirkabel laptop.
INTERNET_IFACE=tun2socks - antarmuka virtual digawe kanggo tun2socks.
SSID=hostapd - jeneng titik akses virtual.
PASSPHRASE=12345678 - sandi.
Aja lali ngaktifake layanan:
systemctl enable create_ap
Aktifake server DHCP ing systemd-networkd
Layanan create_ap initializes antarmuka virtual ing sistem ap0. Ing teori, dnsmasq macet ing antarmuka iki, nanging kok nginstal layanan ekstra yen systemd-networkd ngemot server DHCP dibangun ing?
Kanggo ngaktifake, kita bakal nemtokake setelan jaringan kanggo titik virtual. Kanggo nindakake iki, nggawe file /etc/systemd/network/25-ap0.network kanthi isi ing ngisor iki:
Sawise layanan create_ap initializes antarmuka virtual ap0, systemd-networkd bakal kanthi otomatis menehi alamat IP lan ngaktifake server DHCP.
strings EmitDNS=yes ΠΈ DNS=10.0.0.1 ngirim setelan server DNS menyang piranti sing disambungake menyang titik akses.
Yen sampeyan ora rencana nggunakake server DNS lokal - ing kasusku iku dnscrypt-proxy - sampeyan bisa nginstal DNS=10.0.0.1 Π² DNS=192.168.1.1ngendi 192.168.1.1 - alamat gateway asli sampeyan. Banjur panjaluk DNS kanggo host lan jaringan lokal bakal ora dienkripsi liwat server panyedhiya.
Tambah alamat server umum, contone Google Public NTP:
server time1.google.com ibrust
server time2.google.com ibrust
server time3.google.com ibrust
server time4.google.com ibrust
Nyedhiyani akses menyang server menyang klien ing jaringan sampeyan:
restrict 10.0.0.0 mask 255.255.255.0
Aktifake siaran menyang jaringan:
broadcast 10.0.0.255
Pungkasan, tambahake alamat server kasebut menyang tabel rute statis. Kanggo nindakake iki, bukak file konfigurasi antarmuka nirkabel /etc/systemd/network/25-wlp6s0.network lan nambah menyang mburi bagean Route.
Sawise urip maneh utawa miwiti maneh, sampeyan bakal duwe jalur akses kapindho sing ngarahake host lan piranti LAN menyang SOCKS.
Iki minangka output sing katon ip a laptop biasa:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: tun2socks: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
link/none
inet 172.16.1.2/24 brd 172.16.1.255 scope global tun2socks
valid_lft forever preferred_lft forever
inet6 fe80::122b:260:6590:1b0e/64 scope link stable-privacy
valid_lft forever preferred_lft forever
3: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether e8:11:32:0e:01:50 brd ff:ff:ff:ff:ff:ff
4: wlp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 4c:ed:de:cb:cf:85 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/24 brd 192.168.1.255 scope global wlp6s0
valid_lft forever preferred_lft forever
inet6 fe80::4eed:deff:fecb:cf85/64 scope link
valid_lft forever preferred_lft forever
5: ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 4c:ed:de:cb:cf:86 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/24 brd 10.0.0.255 scope global ap0
valid_lft forever preferred_lft forever
inet6 fe80::4eed:deff:fecb:cf86/64 scope link
valid_lft forever preferred_lft forever
Ing pungkasan
Panyedhiya mung ndeleng sambungan sing dienkripsi menyang server SOCKS, tegese ora weruh apa-apa.
Nanging ndeleng panjaluk NTP sampeyan, kanggo nyegah iki, mbusak rute statis kanggo server NTP. Nanging, ora mesthi server SOCKS sampeyan ngidini protokol NTP.
Kruk katon ing Debain 10
Yen sampeyan nyoba miwiti maneh layanan jaringan saka console, bakal gagal karo kesalahan. Iki amarga kasunyatan manawa bagean kasebut ing wangun antarmuka virtual diikat menyang layanan tun2socks, sing tegese digunakake. Kanggo miwiti maneh layanan jaringan, sampeyan kudu mungkasi layanan tun2socks dhisik. Nanging, aku mikir, yen sampeyan maca nganti pungkasan, iki mesthi ora dadi masalah kanggo sampeyan!