Задіяні машини: (клієнт) A - B - C (вихід)
A / B - cygwin ssh / sshd, C - Linux
Що я хочу:
Http (и) http і носки трафіку тунелюються через B, C.
Пункт призначення - це будь-який IP, тому лише L не працює.Трафік A - B, B - C повинен бути зашифрований. (Тому я намагаюся використовувати ssh)
Що я зробив налаштування:
Проксі-сервер (3proxy) працює на C: http (s) на 3998, socks5 на 3999.
Я протестував проксі-сервер. працює як для 127.0.0.1, так і для зовнішнього IP.команда ssh на A: (я хочу переслати локальне: 3998 до C: 3998, локальне: 3999 до C: 3999)
ssh -At -L 3998: B: 6998 користувачB @ B ssh -At -L 6998: C: 3998 userC @C
ssh -At -L 3999: B: 6999 userB @ B ssh -At -L 6999: C: 3999 userC @ C
Я перевірив реєстрацію мульти-хоп: працює.Використовуйте 127.0.0.1:3998 як http (s) проксі. Використовуйте 127.0.0.1:3999 як проксі-шкарпетки.
Проблема:
Firefox не працює ні з http, ні з шкарпетками, скаржачись, що з'єднання скидається.
(cygwin) wget не працює з http
Повідомлення про помилку типу "канал 8: відкрито не вдалося: з'єднання не вдалося: з'єднання відмовлено" відображається на консолі ssh C.
Деталі з -vvv:
on A:
$ export http_proxy=http://127.0.0.1:3998; wget www.bing.com
--2014-04-13 08:54:14-- http://www.bing.com/
Connecting to 127.0.0.1:3998... connected.
Proxy request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.
on C:
root@C:~# debug1: Connection to port 3998 forwarding to B port 6998 requested.
debug2: fd 9 setting TCP_NODELAY
debug3: fd 9 is O_NONBLOCK
debug3: fd 9 is O_NONBLOCK
debug1: channel 3: new [direct-tcpip]
channel 3: open failed: connect failed: Connection refused
debug2: channel 3: zombie
debug2: channel 3: garbage collecting
debug1: channel 3: free: direct-tcpip: listening port 3998 for B port 6998, connect
from 127.0.0.1 port 65460 to 127.0.0.1 port 3998, nchannels 4
debug3: channel 3: status: The following connections are open:
#2 client-session (t4 r0 i0/0 o0/0 fd 6/7 cc -1)
Я також спробував переадресувати лише на C:
(one tty) ssh -vvv -L 127.0.0.1:1234:127.0.0.1:3998 root@127.0.0.1
(another tty) export http_proxy=http://127.0.0.1:3998; wget www.bing.com
Це спрацювало, і я навіть розгублений, чому це не спрацювало в моїх налаштуваннях.
===================================================== ================================
Якщо я використовую цю команду, то вона працює ?!
ssh -At -L 3998:127.0.0.1:6998 userB@B ssh -At -L 6998:127.0.0.1:3998 userC@C
Але це не працює
ssh -At -L 3998:ip_of_B:6998 userB@B ssh -At -L 6998:ip_of_C:3998 userC@C
ssh -At -L 3998:ip_of_B:6998 userB@B ssh -At -L 6998:127.0.0.1:3998 userC@C
Може хтось мені це пояснить?
Я поняття не маю, як opensh реалізує -L, щоб він поводився так дивно.