Packet loss and high latency on client-to-client communication
Daniel Carmo Olops <daniel <at> olops.eti.br>
2009-04-01 18:43:09 GMT
Hi people,
It's my first post to the list. I've set up an OpenVPN environment with one server and several clients, and it works fine. But I'm facing considerable packet loss and high latency on clients that connects through cheap links (ADSL, 1 Mbps or more), when they try to reach another client, as you can see below:
--- 192.168.100.10 ping statistics ---
50 packets transmitted, 45 received, 10% packet loss, time 49013ms
rtt min/avg/max/mdev = 86.621/518.784/1045.346/223.954 ms, pipe 2
This is the same test using the other client's external IP address (ommited):
--- a.b.c.d ping statistics ---
50 packets transmitted, 50 received, 0% packet loss, time 48955ms
rtt min/avg/max/mdev = 32.720/63.983/242.638/35.962 ms
Just to make things clear, it's a connection between the DSL client to another one that is behind a dedicated 2 Mbps link. I've setup OpenVPN to allow client-to-client communication. The packet loss was higher, but it was reduced after playing a bit with the 'fragment' and 'mssfix' options. It was about 30-50%, now it's between 10-20%. Here's the ping results between the dedicated link client and the server, that also is behind a 2 Mbps dedicated link (fiber):
--- 192.168.100.10 ping statistics ---
50 packets transmitted, 50 received, 0% packet loss, time 49059ms
rtt min/avg/max/mdev = 32.297/82.671/247.125/58.747 ms
--- a.b.c.d ping statistics ---
50 packets transmitted, 50 received, 0% packet loss, time 49132ms
rtt min/avg/max/mdev = 30.355/85.371/236.315/48.426 ms
As you can see, in this side, there are no significant difference in RTT and packet loss between plain access and VPN. An interesting point is that when the acess is between the DSL client and the OpenVPN Server, RTT and packet loss is almos equal to plain access.
Is there something I could do in order to improve RTT and packet loss in this scenario? The server is a Debian Etch box, running OpenVPN 2.0.9. One of the problematic clients uses OpenVPN 2.0.9 on Debian Sarge (yeah, I know it needs updating), and the other is a Windows Server 2003 running OpenVPN 2.1_rc15. The client that is being accessed through the VPN (192.168.100.10) is a Debian Etch box with OpenVPN 2.0.9.
Here's the config files:
SERVER
================
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
keepalive 10 120
tls-auth ta.key 0
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
chroot /etc/openvpn/chroot
server 192.168.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir clients
push "dhcp-option WINS 172.2.16.2"
client-to-client
route 172.16.0.0 255.255.0.0
route 192.168.14.0 255.255.255.0
push "route 172.2.0.0 255.255.0.0"
push "route 172.16.0.0 255.255.0.0"
push "route 192.168.14.0 255.255.255.0"
fragment 1000
mssfix
================
CLIENT BEHIND DEDICATED LINK (192.168.100.10)
================
fragment 1000
mssfix
client
dev tun
proto udp
remote vpn.grupopolis.com.br 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert faj1.crt
key faj1.key
ns-cert-type server
tls-auth ta.key 1
cipher AES-128-CBC
comp-lzo
verb 3
================
CLIENT BEHIND DSL LINK
================
fragment 1000
mssfix
client
dev tun
proto udp
remote vpn.grupopolis.com.br 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert policamp.crt
key policamp.key
ns-cert-type server
tls-auth ta.key 1
cipher AES-128-CBC
comp-lzo
verb 3
================
Best regards,
Daniel
------------------------------------------------------------------------------
_______________________________________________
Openvpn-users mailing list
Openvpn-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-users