Nainštalujte server Dante Socks v5 Proxy v Ubuntu 26.04
Toto je krok za krokom sprievodca, ktorý ukazuje, ako nainštalovať a nastaviť Dante socks5 proxy server v Ubuntu 26.04 LTS.
Dante je slobodný open-source softvér umožňujúci smerovať sieťovú prevádzku medzi klientmi a servermi. S ním môžete obchádzať sieťové obmedzenia, napríklad navštevovať sieťové zdroje, ktoré nie sú dostupné priamym prístupom.
Môžete ho tiež použiť na skrytie svojej pôvodnej IP adresy, takže cieľový server uvidí iba IP adresu servera Dante. V mojom prípade používam proxy Dante SOCKS na zníženie latencie pre lepšie herné zážitky.
Predpoklady:
Na sledovanie tohto tutoriálu potrebujete server s Ubuntu 26.04 s právami sudo.
V mojom prípade mám VPS server s 1 jadrom CPU, 1 GB pamäte a 20 GB úložiska.
Krok 1: Nainštalujte server Dante
Dante je dostupný v Ubuntu a vo väčšine systémových repozitárov iných distribúcií Linuxu. Ak ho chcete nainštalovať, pripojte sa k svojmu serveru Ubuntu a potom spustite nasledujúce príkazy jeden po druhom:
sudo apt updatesudo apt install dante-serverPo nainštalovaní serverového balíka automaticky vytvorí službu systemd a spustí ju potichu na pozadí.
Na kontrolu stavu služby použite príkaz:
systemctl status danted.servicePre Debian spustite systemctl enable --now danted.service, aby ste povolili a spustili službu, ak nebeží.
Ak je služba povolená, ale nepodarilo sa jej spustenie, nebojte sa, postupujte podľa kroku 2 na úpravu konfiguračného súboru.
Krok 2: Konfigurácia servera Dante
Dante štandardne načítava súbor /etc/danted.conf pre konfigurácie servera. Súbor má štandardne všetky konfigurácie zakázané, čo spôsobuje, že služba sa nepodarí spustiť.
Ak chcete upraviť konfiguračný súbor, pravdepodobne si najprv vytvorte zálohu (alebo súbor odstráňte, ak chcete) spustením príkazu:
sudo mv /etc/danted.conf /etc/danted.conf.backup
Ďalej spustite nižšie uvedený príkaz na úpravu súboru:
sudo nano /etc/danted.confPríkaz automaticky vytvorí súbor s prázdnym obsahom, ak ste pôvodný súbor zmazali alebo použili príkaz mv na zálohovanie.
Keď sa súbor otvorí, pridajte nasledujúci obsah a upravte ho podľa potreby.
logoutput: /var/log/danted.log
errorlog: /var/log/danted.errlog
user.privileged: root
user.unprivileged: nobody
# The listening network interface or address.
internal: 0.0.0.0 port=1080
internal: :: port = 1080
# The proxying network interface or address.
external: eth0
# socks-rules determine what is proxied through the external interface.
socksmethod: username
# client-rules determine who can connect to the internal interface.
clientmethod: none
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}Tu je viac o pravidlách:
logoutput: /var/log/danted.log- nastavuje umiestnenie prístupového logu (voliteľné).errorlog: /var/log/danted.errlog- nastavte umiestnenie záznamu chýb (voliteľné).user.privileged: root- spustiť pozadinskú službu ako root, neskôr stratí oprávnenia.user.unprivileged: nobody- spustiť normálnu prevádzku proxy s používateľomnobody.internal: 0.0.0.0 port=1080- počúva na všetkých IPv4 rozhraniach na porte 1080. Ak chcete, môžete podľa potreby zmeniť IP adresu a číslo portu.internal: :: port=1080- počúvať na IPv6 (voliteľné).external: eth0- nahraďte eth0 názvom sieťového rozhrania vášho servera. Spustite príkazip route get 1.1.1.1 | awk '{print $5; exit}'na serveri, aby ste zistili.clientmethod: none- znamená, že akákoľvek IP adresa vclient pass {}môže začať TCP pripojenie.socksmethod: username- je potrebné zadať používateľské meno a heslo na autentifikáciu, aj priclientmethod: none. Použitesocksmethod: none(hoci to nie je bezpečné), aby akákoľvek IP v sekciisocks pass {}mohla pristupovať bez autentifikácie.client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 ...}- prvá brána (TCP spojenie), keď sa klient pokúša pripojiť k dante serveru. Znamená to povolenie prístupu z akejkoľvek IP na akékoľvek sieťové rozhranie na serveri. Môžete použiťfrom: 23.168.111.125/32 to: 0.0.0.0/0, takže prístup bude povolený len určitej IP (v tomto prípade 23.168.111.125 je vaša VEREJNÁ IP).socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 ...}- kontroluje, čo môžu povolení klienti robiť. Ssocksmethod: usernameje potrebná autentifikácia heslom. Tiež môžete podľa potreby nahradiť IP.
Pravidlá vyššie sú pre TCP pripojenia. Môžete pridať viac sekcií client pass {} a socks pass {} s nasledujúcimi pravidlami:
from: ::/0 to: ::/0- povoliť prístup z akejkoľvek IPv6 adresy.command: udpreply- povoliť UDP asociáciu.udp.portrange: 40000-45000- nastaviť rozsah UDP portov.
Takto to môže vyzerať:
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}
client pass {
from: ::/0 to: ::/0
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect udpassociate
log: connect disconnect ioop
}
socks pass {
from: ::/0 to: ::/0
command: connect udpassociate
log: connect disconnect ioop
}
# Log UDP replies from remote hosts back to clients
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: udpreply
log: connect disconnect ioop
}
socks pass {
from: ::/0 to: ::/0
command: udpreply
log: connect disconnect ioop
}Po úprave súboru stlačte Ctrl+S na uloženie a Ctrl+X na ukončenie.
Krok 3: Vytvoriť používateľa pre overovanie
Na účely autentifikácie je potrebné vytvoriť používateľa na strane servera spustením nižšie uvedeného príkazu:
sudo useradd -M -s /usr/sbin/nologin USER_NAME_HEREPotom nastavte pre používateľa heslo:
sudo passwd USER_NAME_HERE
Nahradiť USER_NAME_HERE ľubovoľným menom, ktoré chcete. Potom môžete použiť používateľské meno a heslo na autentifikáciu počas pripojenia.
Krok 4: Vytvorte logovacie súbory a zmeňte vlastníctvo
Ak ste povolili záznamy, potom musíte tiež upraviť vlastníctvo súborov záznamov.
Najprv spustite príkaz na vytvorenie logovacích súborov:
touch /var/log/danted.logtouch /var/log/danted.errlogPotom zmeňte vlastníka na noboby a nogroup:
chown nobody:nogroup /var/log/danted.logchown nobody:nogroup /var/log/danted.errlogKrok 5: Nakonfigurujte firewall
Ak máte na serveri Ubuntu povolený firewall (spustite sudo ufw status), potom spustite nižšie uvedené príkazy na otvorenie portov pre proxy server Dante:
sudo ufw allow 1080/tcpSem nahraďte 1080 podľa toho, ktorý port používate, a tiež spustite nasledujúci príkaz, ak máte povolenú UDP asociáciu:
sudo ufw allow 40000:45000/udpKrok 6: Použiť zmeny
Nakoniec reštartujte službu dante, aby sa zmena uplatnila:
sudo systemctl restart dantedA spustite nasledujúci príkaz na kontrolu stavu služby:
sudo systemctl status danted --no-pagerAkákoľvek nesprávna konfigurácia v /etc/danted.conf môže spôsobiť zlyhanie spustenia služby.
Krok 7: Skúste sa pripojiť k serveru Dante
Po správnom nastavení servera môžete skúsiť spustiť nižšie uvedený príkaz na miestnom počítači s Linuxom na začatie pripojenia:
curl -v -x socks5://USER_NAME:PASSWORD@SERVER_IP:1080 http://www.google.com/It should output something looks like:
* Trying xx.xxx.xxx.xxx:1080...
* Host www.google.com:80 was resolved.
* IPv6: 2001:4860:482a:7700::, 2001:4860:4826:7700::, 2001:4860:482b:7700::, 2001:4860:4827:7700::, 2001:4860:4829:7700::, 2001:4860:482d:7700::, 2001:4860:4828:7700::, 2001:4860:482c:7700::
* IPv4: 142.251.153.119, 142.251.156.119, 142.251.150.119, 142.251.157.119, 142.251.152.119, 142.251.154.119, 142.251.151.119, 142.251.155.119
* Opened SOCKS connection from 192.168.0.104 port 49060 to www.google.com port 80 (via 23.106.152.194 port 1138)
* Established connection to 23.106.152.194 (23.106.152.194 port 1138) from 192.168.0.104 port 49060
* using HTTP/1.x
...Pre grafického klienta socks5 používam proxifier, ktorý však NIE JE slobodný softvér. Môžete skúsiť slobodný open-source ProxyBridge, ktorý funguje v Linuxe, Windows a macOS.



