"Destination unreachable" tells you that you're not running a server or it's blocked by a firewall. Hi, Robin!
Have you updated your OpenSSL installation? Ubuntu 10.04 comes with an old 0.9.8 release in which the DTLS implementation is entirely broken. You need to update OpenSSL to at least 1.0.0a. Make sure that you either overwrite your base installation or use appropriate paths when compiling. A "./configure && make && make install" installs to /usr/local which is ignored because you already have an installation in /usr by default. So either configure OpenSSL with --prefix=/usr to overwrite your default installation or compile your client and server with -L and -I to the lib and include paths where you installed the newer OpenSSL, e.g. "-L/usr/local/lib -I/usr/local/include". I have Openssl 1.0.0.c with the latest patches and updates for DTLS. As far as I know, both server and client are compiled succesfully. I used wireshark again, and this time a simple udp server (no encryption), listening on port 23232. The server received the encrypted datagrams from the DTLS client, so I guess that port 23232 is not blocked. Then I tried to see wether the server is really started and listening, using netstat: ~# netstat -nap ... udp6 0 0 :::23232 :::* 15209/dtls_udp_echo ... so is this meaning that the server would listen only for IPv6 addresses? I use only IPv4. If it is so, is there any way that I could add an argument so that the server listens on udp(without 6 at the end)? Thank you and best regards! Sebastian