Я могу установить ssh-соединение с моего компьютера с Windows (localhost - eth1) на мой компьютер с Linux (remotehost - eth0), выполнив:
ssh user@192.168.1.100
Вместо того, чтобы использовать это, потому что я использую нестандартные порты, я должен указать порт:
ssh -p remoteSSH user@192.168.1.100
Затем я пересылаю http и ssl на порты http и ssl удаленного хоста. У меня есть некоторые сервисы, которые я хочу использовать на Linux, поэтому я использую это:
ssh -L 80:127.0.0.1:80
ssh -L 443:127.0.0.1:443
Наконец, я пытаюсь "безопасно" перенаправить трафик переадресации с (localhost) через (remotehost) и обратно на (localhost). Но с этим соединением мне нужно, чтобы прокси socks был 127.0.0.1:proxy1. Мне удалось создать прокси-сервер не для socks, который указывает proxy1 на [конкретный порт aka proxy2] на (localhost) с помощью вышеуказанного метода пересылки, но я стараюсь избегать необходимости постоянно изменять html-файлы, чтобы они указывали на прокси-порт ,
Когда я использовал putty, у меня было соединение для всех вышеупомянутых соединений, кроме динамического соединения socks, которое работало только для пересылки стандартного трафика http/s. Я не хочу создавать прокси в интернете. Я прекратил использовать putty, потому что он разрывает соединения и падает при пересылке трафика. Последняя известная ошибка:
http://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html
These features were new in beta 0.61 (released 2011-07-12):
Bug fix: corruption of port forwarding is fixed (we think).
These features were new in beta 0.59 (released 2007-01-24):
Bug fix: SSH-1 connections tended to crash, particularly when using port forwarding.
These features were new in beta 0.58 (released 2005-04-05):
Fixed crashing bug with remote port forwarding.
These features were new in beta 0.53 (released 2002-10-01):
Various bug fixes, including (with luck) much greater stability in high-traffic port forwarding situations.
Итак, в окне Windows я перешел на Cygwin для OpenSSH. Команда, которую я до сих пор придумал:
ssh -t -t -L 80:127.0.0.1:80 -L 443:127.0.0.1:443 -p remoteSSH user@192.168.1.100 -R proxy1:127.0.0.1:randomport "ssh -D randomport 127.0.0.1"
Чтобы проверить соединение от proxy1 к proxy2, в Firefox я установил:
HTTP Proxy: Port:
SSL Proxy: Port:
FTP Proxy: Port:
SOCKS Host: 127.0.0.1 Port: proxy1
SOCKSv5
No Proxy for:
Я получаю ответ о том, что прокси-сервер отказывает в соединениях. Я создал правила в окне Windows, чтобы разрешить подключения. Я отключил брандмауэр Windows и разрешил соединение в iptables на коробке с Linux через:
$IPTABLES -A OUTPUT -o eth1 -p tcp -m tcp -s 192.168.1.100 -d 192.168.1.200 --dport randomport -j ACCEPT
iptables уже настроен для разрешения локального трафика. Я использую защищенную паролем аутентификацию на основе закрытого ключа. У меня есть syslog-ng (cygwin) протоколирование ssh.
Возможно, в качестве альтернативы или в дополнение к вопросу, кто-то может направить меня к инструментам Linux и / или Windows, которые могут помочь мне диагностировать проблему. Для Windows у меня есть Центр управления системой Windows с Sysinternals Suite и Nirsoft Utilities. Система Windows: Windows 7. Linux: Slackware 64
http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx