Plus d’un an sans article, oui je sais c’est long mais sinon je ne suis toujours pas mort 🙂 Aujourd’hui un rapide billet expliquant comment configurer un proxy socks5 sous Debian. Après avoir suivi ce rapide mémo vous aurez un configurer un proxy socks5 avec deux types d’identification : user/mot de passe et liste blanche d’ip.
Configurer un proxy socks5 sous Debian : Introduction
Ici nous utiliserons Dante dans sa version 1.4.x disponible de base sous Debian 9. Si vous êtes toujours sous Jessie vous pouvez essayer cette configuration sous 1.3.x (aucune idée si cela fonctionnera), tenter d’installer Dante via les backports ou alors le compiler vous même.
J’ai choisi de configurer un proxy avec deux types d’identification car Chrome ne supporte pas l’identification user/mot de passe…(oui oui j’utilise Chrome, je sais c’est le mal).
Configurer un proxy socks5 sous Debian : Installation de Dante
Ici le plus simple, connectez vous en SSH à votre serveur puis lancer la commande suivante
sudo apt-get install dante-server
L’installation est rapidement effectué et le service devrait essayé de se lancer pour lamentablement foiré. Ne vous inquiétez pas c’est tout à fait normal.
invoke-rc.d: initscript danted, action "start" failed. ● danted.service - SOCKS (v4 and v5) proxy daemon (danted) Loaded: loaded (/lib/systemd/system/danted.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since Fri 2018-06-01 11:45:50 CEST; 20ms ago Docs: man:danted(8) man:danted.conf(5) Process: 24475 ExecStart=/usr/sbin/danted -D (code=exited, status=1/FAILURE)
Configurer un proxy socks5 sous Debian : Configuration de dante
Nous allons maintenant éditer la configuration de dante.
sudo nano /etc/danted.conf
Modifiez votre configuration (attention certaines lignes sont à commenter pour éviter les redites) afin qu’elle ressemble à celle ci-dessous. N’oubliez pas de remplacer :
- eth0 si votre interface réseau est nommée différemment
- AAA.AAA.AAA.AAA par l’ip que vous souhaitez autoriser à se connecter.
- le port (ici 50000)
internal: 0.0.0.0 port=50000 external : eth0 socksmethod: username none user.privileged: root user.unprivileged: nobody user.libwrap: nobody # allow everyone from everywhere so long as they auth, log errors client pass { from: AAA.AAA.AAA.AAA/24 port 1-65535 to: 0.0.0.0/0 log: error # connect disconnect iooperation socksmethod: none username } client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error # connect disconnect iooperation socksmethod: username } # allow everyone from everywhere so long as they auth, log errors socks pass { from: AAA.AAA.AAA.AAA/24 port 1-65335 to: 0.0.0.0/0 command: bind connect udpassociate log: error # connect disconnect iooperation socksmethod: none username } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: bind connect udpassociate log: error # connect disconnect iooperation socksmethod: username }
Vous pouvez maintenant relancer dante
sudo service danted restart
Pour tester votre proxy depuis un autre serveur, utilisez la commande suivante
curl -v -x socks5://user:mdp@IP.DU.SERVEUR.PROXY:port https://www.noobunbox.net
Si tout se passe bien vous devriez voir ceci
* TCP_NODELAY set * SOCKS5 communication to www.noobunbox.net:443 * SOCKS5 connect to IPv4 IP.DU.SERVEUR.PROXY (locally resolved) * SOCKS5 request granted. * Connected to (nil) (IP.DU.SERVEUR.PROXY) port (#0)
Voilà 😉 Amusez vous bien