J'essaye de faire passer le trafic de mon serveur Socks5 Dante dans un tunnel OpenVPN.
En vain...
Le client OpenVPN est up and running
Code : Tout sélectionner
...
2023-05-27 10:30:27 TUN/TAP device tun0 opened
2023-05-27 10:30:27 net_iface_mtu_set: mtu 1500 for tun0
2023-05-27 10:30:27 net_iface_up: set tun0 up
2023-05-27 10:30:27 net_addr_v4_add: 10.7.0.128/16 dev tun0
2023-05-27 10:30:27 Initialization Sequence Completed
2023-05-27 10:30:27 Data Channel: cipher 'AES-256-GCM', peer-id: 0, compression: 'stub'
2023-05-27 10:30:27 Timers: ping 60, ping-restart 180
Code : Tout sélectionner
# ip a
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: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether e0:d5:5e:cc:5e:b5 brd ff:ff:ff:ff:ff:ff
inet 10.1.1.8/24 brd 10.1.1.255 scope global dynamic enp2s0
valid_lft 5389sec preferred_lft 5389sec
inet6 fe80::e2d5:5eff:fecc:5eb5/64 scope link
valid_lft forever preferred_lft forever
5: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
link/none
inet 10.7.0.128/16 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::274:c381:d07e:f611/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Code : Tout sélectionner
# ping 10.7.0.1
PING 10.7.0.1 (10.7.0.1) 56(84) bytes of data.
64 bytes from 10.7.0.1: icmp_seq=1 ttl=64 time=215 ms
64 bytes from 10.7.0.1: icmp_seq=2 ttl=64 time=215 ms
...
Code : Tout sélectionner
# systemctl status danted.service
● danted.service - SOCKS (v4 and v5) proxy daemon (danted)
Loaded: loaded (/lib/systemd/system/danted.service; enabled; preset: enabled)
Active: active (running) since Sat 2023-05-27 09:08:07 EAT; 1h 28min ago
Docs: man:danted(8)
man:danted.conf(5)
Process: 1931 ExecStartPre=/bin/sh -c uid=`sed -n -e "s/[[:space:]]//g" -e "s/#.*//" -e "/^user\.privileged/{s/[^:]*://p;q;}" /etc/danted.conf`; if [ -n "$uid" ]; then touch /var/run/danted.pid; chown $uid /var/run/danted.pid; fi (code=exited, status=0/SUCCESS)
Main PID: 1935 (danted)
...
Code : Tout sélectionner
# cat /etc/danted.conf
logoutput: syslog
user.privileged: root
user.unprivileged: nobody
# The listening network interface or address.
internal: 127.0.0.1 port=1080
# The proxying network interface or address.
external: tun0
# 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
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
}
Et je suis bien autorisé à passer par la serveur Dante (Localement...)
Code : Tout sélectionner
# curl -v -x socks5://user:password@localhost:1080 http://localhost
* Trying 127.0.0.1:1080...
* Connected to localhost (127.0.0.1) port 1080 (#0)
* SOCKS5 connect to IPv4 127.0.0.1:80 (locally resolved)
* SOCKS5 request granted.
* Connected to localhost (127.0.0.1) port 1080 (#0)
> GET / HTTP/1.1
> Host: localhost
> User-Agent: curl/7.88.1
> Accept: */*
...
Par contre impossible de sortir sur Internet...
Code : Tout sélectionner
# curl -v -x socks5://user:password@localhost:1080 http://144.76.60.126
* Trying 127.0.0.1:1080...
* Connected to localhost (127.0.0.1) port 1080 (#0)
* SOCKS5 connect to IPv4 144.76.60.126:80 (locally resolved)
* Can't complete SOCKS5 connection to 144.76.60.126. (6)
* Closing connection 0
curl: (97) Can't complete SOCKS5 connection to 144.76.60.126. (6)
Et je ne comprend pas pourquoi...
Les logs de Dante ne me parlent pas...
Code : Tout sélectionner
023-05-27T10:59:13.089063+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 12 marked as still connecting
2023-05-27T10:59:13.089337+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 14 marked as still connecting
2023-05-27T10:59:13.089551+03:00 seedbox danted[4085]: debug: run_io(): first select; readable/connected?
2023-05-27T10:59:13.089820+03:00 seedbox danted[4085]: debug: io_gettimeout(): last_time = 9632, tnow = 9633, last_timeout_isset = 1, last_timeout = 1.000000
2023-05-27T10:59:13.090118+03:00 seedbox danted[4085]: debug: io_gettimeout(): timeout for iov #0 is in 5s
2023-05-27T10:59:13.090404+03:00 seedbox danted[4085]: debug: io_gettimeout(): timeout for iov #1 is in 24s
2023-05-27T10:59:13.090668+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 12 marked as still connecting
2023-05-27T10:59:13.090950+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 14 marked as still connecting
2023-05-27T10:59:13.091168+03:00 seedbox danted[4085]: debug: io_gettimeout(): last_time = 9633, tnow = 9633, last_timeout_isset = 1, last_timeout = 5.999999
2023-05-27T10:59:13.091516+03:00 seedbox danted[4085]: debug: run_io(): second select; what is writable?
2023-05-27T10:59:14.090538+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 12 marked as still connecting
2023-05-27T10:59:14.090899+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 14 marked as still connecting
2023-05-27T10:59:14.091157+03:00 seedbox danted[4085]: debug: run_io(): first select; readable/connected?
2023-05-27T10:59:14.091421+03:00 seedbox danted[4085]: debug: io_gettimeout(): last_time = 9633, tnow = 9634, last_timeout_isset = 1, last_timeout = 1.000000
2023-05-27T10:59:14.091785+03:00 seedbox danted[4085]: debug: io_gettimeout(): timeout for iov #0 is in 4s
2023-05-27T10:59:14.091991+03:00 seedbox danted[4085]: debug: io_gettimeout(): timeout for iov #1 is in 23s
2023-05-27T10:59:14.092283+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 12 marked as still connecting
2023-05-27T10:59:14.092508+03:00 seedbox danted[4085]: debug: io_fillset_connectinprogress(): fd 14 marked as still connecting
2023-05-27T10:59:14.092956+03:00 seedbox danted[4085]: debug: io_gettimeout(): last_time = 9634, tnow = 9634, last_timeout_isset = 1, last_timeout = 4.999999
...
2023-05-27T10:59:38.119081+03:00 seedbox danted[4085]: info: pass(1): tcp/connect ]: 0 -> username%indexer@127.0.0.1.52624 127.0.0.1.1080 -> 0, 0 -> 10.7.0.128.52624 144.76.60.126.80 -> 0: connect timeout. Session duration: 31s#012accept to negotiate start : 0.000117s#012negotiate duration : 0.012763s#012negotiate finish to established : N/A#012session establish to first i/o : N/A#012total session duration : 31.050941s
2023-05-27T10:59:38.119480+03:00 seedbox danted[4085]: debug: io_timeuntiltimeout(): timeouttype = 2, protocoltimeout = 30, tnow = 9658, lastio = 9627 (31s ago), timeout reached -1s ago
2023-05-27T10:59:38.119704+03:00 seedbox danted[4085]: info: pass(1): tcp/accept ]: 0 -> 127.0.0.1.52624 127.0.0.1.1080 -> 0: connect timeout. Session duration: 31s#012accept to negotiate start : 0.000117s#012negotiate duration : 0.012763s#012negotiate finish to established : N/A#012session establish to first i/o : N/A#012total session duration : 31.050941s
Et il n'y a rien dans les logs de OpenVPN. C'est surement une piste...

C'est comme si le serveuy OpenVPN refusait la connexion. Je n'ai pas la main sur le serveur, seulement sur le client.
Pour info le Tunnel est en TCP (Je crois que c'est indispensable pour que ça fonctionne). J'ai essayé avec UDP, mais ça ne change rien.
Si vous avez une idée je suis preneur.

Merci.