Я пытаюсь использовать netcat для ретрансляции трафика SSH (двунаправленно) с порта 2222 на одном хосте на порт 22 на другом хосте. В целях тестирования я перенаправляю сюда 127.0.0.1:22 вместо удаленного хоста.
Вот команда и ошибка, которую я получаю:
nc -n –l 2222 0<backpipe | nc -n 127.0.0.1 22 1>backpipe
getaddrinfo: Name or service not known
Должно быть, я упускаю здесь что-то действительно очевидное, но не вижу этого. Я использую только IP-адреса (и даже «-n», чтобы ничего не разрешить), но похоже, что он все еще пытается выполнить поиск в DNS.
Это CentOS 6.x [64].
Что мне не хватает?
У меня это работает. Проблема заключалась в том, что мне пришлось указать хост для первой команды nc, например:
nc -n 192.168.1.2 -l 2222 0<backpipe | nc -n 127.0.0.1 22 1>backpipe"
Обычно хост не требуется с "-l" (по умолчанию это локальный хост), согласно странице руководства.