Это обычно делается, да. (Хотя на стороне сервера чаще встречается stunnel.)
Тем не менее cipher=aNULL
, ваша главная проблема в том, какие недавние библиотеки TLS могут не принять. (Не говоря уже о том, что брандмауэры и IDS могут считать такое соединение очень необычным и подозрительным.)
Вместо этого используйте обычный TLS с проверкой подлинности на основе сертификата с самозаверяющим сертификатом:
openssl req -new -subj "/CN=ponies" -days 365 -extensions v3_req -x509 \ -out tunnel.crt -newkey rsa:2048 -keyout tunnel.key -nodes socat OPENSSL-LISTEN:10000,fork,cert=tunnel.crt,key=tunnel.key,verify=0 ...
(Это нужно сделать только на стороне сервера; по умолчанию клиенты не проходят проверку подлинности.)