Назад | Перейти на главную страницу

Как настроить интерфейс tun в Linux для перенаправления портов SSH?

Я пытаюсь перенаправить порт 139 с компьютера Windows на мой SSH-сервер Ubuntu через интерфейс tun с IP-адресом 10.0.0.1.

Это сделано для того, чтобы я мог получить доступ к общим ресурсам Windows на машине на моем сервере Ubuntu через обратный туннель.

Я могу перенаправить порты на 127.0.0.1, но не на 10.0.0.1.

В Windows я использую SSH-клиент Tunnelier.

На моем сервере Ubuntu в auth.log печатается следующее сообщение:

Received disconnect from 124.109.51.154: 11: Server denied request for client-side server-2-client forwarding on 10.0.0.1:139.

Пока что я пробовал следующие настройки:

GatewayPorts yes
PermitTunnel yes
AllowTcpForwarding yes 

в файле / etc / ssh / sshd_config, но это не сработало.

Настроил тюн так:

sudo tunctl -t loc_0 -u myusername
sudo ifconfig loc_0 inet 10.0.0.1 netmask 255.255.255.0 up

Настройки в ssh-клиенте Tunneler не должны иметь значения, потому что я могу успешно перенаправить порт 139 на адаптер обратной петли Microsoft на машине Windows, на которой запущен сервер WinSSHD.

Версии: Windows - XP SP3, Ubuntu - 10.10.


Обновить:

Пробовал пробросить порт на номер больше 1024 упоминая IP-адрес туннеля, и он успешно подключился но перенаправление было выполнено на 127.0.0.1 вместо IP-адреса туннеля 10.0.0.1.

Таким образом, при подключении с компьютера Windows возникают две отдельные проблемы:

1) Вероятно, пересылка на порты меньше 1024 запрещена. Как мы можем разрешить это на сервере?

2) Пересылка выполняется только на 127.0.0.1, даже если я упоминаю 10.0.0.1, который является IP-адресом туннеля.

Еще одна попытка: Я также попытался перенаправить порт 22 машины Linux на порт тунца 55567. Он показал успех. Но когда я попытался подключиться к этому порту по ssh, используя оба локальных адреса, на компьютере Linux в его отладочном дисплее я получил ошибку Connection failed: no route to host при использовании 127.0.0.1 для подключения и просто Connection refused при использовании IP-адреса тюна.

Таким образом, туннель не получает перенаправленный порт независимо от того, подключаемся мы с клиента Windows или клиента Linux.

Что касается <1024, вы можете сделать это только с помощью root для туннеля ssh:

http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-ssh-beyondshell-tcpip.html

Заметка

Для настройки переадресации портов для прослушивания портов ниже 1024 требуется доступ корневого уровня.

Что касается 127.0.0.1, вам, вероятно, нужно использовать '-g' в настройке ssh:

 -g      Allows remote hosts to connect to local forwarded ports.

Что насчет этого:

sudo ifconfig eth0:0 10.0.0.1 up
sudo ssh -g -L 139:10.0.0.1:139 user@sambahost