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

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

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

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

На окнах я использую Tunnelier ssh клиент.

На моем сервере 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 на адаптер Loopback Microsoft на компьютере с Windows, на котором работает сервер WinSSHD.

Версии: Windows XP 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 на порт tun 55567. Он показал успех. Но когда я попытался подключиться к этому порту с помощью обоих локальных адресов, на машине с Linux в окне отладки я получил ошибку Connection failed: no route to host при использовании 127.0.0.1 для подключения и просто Connection refused при использовании IP-адреса туннеля.

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

2 ответа

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

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

Заметка

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

Что касается 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
Другие вопросы по тегам