LINUX.ORG.RU
ФорумAdmin

SSH тоннель Windows » Linux + iptables


0

1

Поднимаю с помощью plink.exe тоннель, с винды на линукс. На линуксе iptables режет всё, кроме разрешенного. Разрешил абсолютно всё с IP'шника виндовой машины (а точнее она находится внутри локальной сети, по этому IP'шник на самом деле принадлежит к шлюзу). Так вот прописал я правило, для этого IP'шник: «можно всё».

Тоннель поднялся. Но вот только через него ничего не ходит. Почему так может быть?

★★★

1. С какими ключами запускаете plink?

2. Если просто соединиться с помощью PuTTY на линукс и набрать uptime будет работать?

3. Покажите вывод iptables-save на линуксе.

4. AllowTcpForwarding должен быть yes (в /etc/ssh/sshd_config) или вообще не установлен.

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

1.

:loop
"c:\Program Files\WinSCP\PuTTY\plink.exe" -N -i C:\WebAccount\etc\blahblah.ppk ^
   -L 13306:127.0.0.1:3306 ^
   -R 11433:127.0.0.1:1433 ^
   -R 13389:127.0.0.1:3389 ^
   -R 2323:127.0.0.1:2323  ^
   webaccount@blahblah.ru
goto loop:loop

2. Входит, и работает. Правда после ввода логина, но перед предложением ввести пароль довольно таки долго тупит.

3.

*filter
:INPUT DROP [267:20352]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [946:125770]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8443 -j ACCEPT
-A INPUT -d ip.of.windows.machine/32 -j ACCEPT
COMMIT

4. Не установлен.

VirRaa ★★★
() автор топика
Ответ на: комментарий от anonymous

И что, то что это удалённый шелл? Мне он-то собственно и нужен.

VirRaa ★★★
() автор топика
Ответ на: комментарий от edigaryev

-s — source address, в данном случае мне как раз таки нужен destination, не?

В любом случае не работает. Всё равно.

VirRaa ★★★
() автор топика
Ответ на: комментарий от anonymous
     -w local_tun[:remote_tun]
             Requests tunnel device forwarding with the specified tun(4)
             devices between the client (local_tun) and the server
             (remote_tun).

             The devices may be specified by numerical ID or the keyword
             “any”, which uses the next available tunnel device.  If
             remote_tun is not specified, it defaults to “any”.  See also the
             Tunnel and TunnelDevice directives in ssh_config(5).  If the
             Tunnel directive is unset, it is set to the default tunnel mode,
             which is “point-to-point”.

Таким образом через ssh можно гонять любой IP траффик.

Можно еще извратиться с netcat и mkfifo — http://www.qcnetwork.com/vince/doc/divers/udp_over_ssh_tunnel.html

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

А мне ничего подсказать не можешь?

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa
P.S. Если политику сменить на ACCEPT, то всё работает.

Каким образом проверяете?

Попробуйте поднять тоннель, затем зайти на компьютер с линуксом и выполнить:

nmap -p 1433,3389,2323 localhost

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

Каким образом проверяете?

Просто, делаю iptables -P INPUT ACCEPT и по тоннелю всё начинает бегать.

Попробуйте поднять тоннель, затем зайти на компьютер с линуксом и выполнить

Interesting ports on localhost (127.0.0.1):
PORT     STATE  SERVICE
1433/tcp closed ms-sql-s
2323/tcp open   unknown
3389/tcp closed ms-term-serv

Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds
VirRaa ★★★
() автор топика
Ответ на: комментарий от edigaryev

Ещё раз поясню, что тоннель поднимается, но по нему не бегает траффик. Если поставить ACCEPT, то тоннель тоже поднимается, но траффик по нему не бегает.

Сейчас ещё заметил, что когда стоит DROP, у меня даже качать не захотел nmap с помощью apt-get install nmap… С чем это связано?

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

Страдалец...

iptables -I INPUT -i lo -j ACCEPT

anonymous
()
Ответ на: комментарий от VirRaa

у меня даже качать не захотел nmap с помощью apt-get install nmap… С чем это связано?

С тем что исходящие пакеты к веб-серверу отправляются, но не приходят (их блокирует iptables). Чтобы iptables пропускал внутрь уже установленные соединения, нужно добавить:

iptables -I INPUT -m state --state ESTABLISHED -j ACCEPT

edigaryev ★★★★★
()
Ответ на: комментарий от VirRaa

И да, сделай iptables -P INPUT ACCEPT && chmod -x `which iptables` и не трогай его до тех пор, пока не осилишь хотя бы соответствующую статью на википедии.

anonymous
()
Ответ на: комментарий от edigaryev

Все равно через tcp идет для voip не годно.

anonymous
()

Упрощенно, потому, что надо делать два правила:
iptables -A INPUT -s ip.of.windows.host -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
где tun0 это интерфейс OpenVPN. Каждый пакет OpenVPN проходит по IP-стеку два раза, один раз как пришедший от eth0, второй раз как пришедший с IP удаленной стороны по tun-интерфейсу

Nastishka ★★★★★
()
Ответ на: комментарий от edigaryev

Виновата, но при слове «туннель» у нормальных людей возникают ассоциации «VPN», «GRE», «IP-in-IP» :-)

Nastishka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.