Я хочу настроить обратный туннель udp, потому что мне нужно подключиться к моему серверу openvpn с удаленного компьютера, а сервер openvpn находится за NAT. Для этого я использую socat и ssh. Команда tcp tunnel:
socat exec:"ssh removeserver \"socat tcp-listen:10000,fork -\"" tcp-connect:localhost:22
работает правильно, и тогда я могу создать ssh-соединение с удаленным сервером: 10000.
Но когда я хочу сделать то же самое с udp:
socat exec:"ssh removeserver \"socat udp-listen:10000,fork -\"" udp-connect:localhost:1194
и затем попытаться создать соединение openvpn, я получаю следующую ошибку:
2011/12/23 13:27:43 socat[28241] E read(3, 0x80c3b08, 8192): Connection refused
Сначала кажется, что туннель работает, поскольку оба файла журнала (сервер и клиент) имеют записи для попытки подключения. Но соединение не может быть установлено.