Установка прокси сервера дома,

Полезная информация. Ссылки. Инструкции.

Ответить
alexey99
Новичок
Сообщения:156
Зарегистрирован:Пт авг 20, 2004 11:25 am
Установка прокси сервера дома,

Сообщение alexey99 » Сб июл 22, 2006 4:00 am

или как нае%$#ть любимую компанию {mrgreen}

Некоторое время назад у нас в компании стали блокировать Skype. Это стало, как говорится, последней каплей и я стал искать способы это дело обойти. В общем, как я прочел на каком-то сайте во время моих поисков, бессмысленно закручивать гайки внутри сети, всегда найдется способ это дело обойти. И я предлагаю своё доказательство данного тезиса {wink}

В общем, вкратце схема выглядит так: на домашнем компе ставится прокси сервер, через который все «нежелательные» запросы будет перенаправляться в интернет. В принципе, этого уже достаточно. Но дабы совсем обезопасить себя от любопытных админов, можно запросики шифровать при помощи специального протокола SSH. Для этого надо поставить на домашнем компе SSH сервер, а на работе использовать SSH клиент.

Ну а ниже приведен пошаговый алгоритм.
  1. 1. Нужен домашний комп с публичным IP адресом, который, собственно, и станет прокси-сервером.
  1. 2. На нем устанавливается OpenSSH for windows отсюда http://sshwindows.sourceforge.net/
    1. A. Надо также завести нового пользователя (не админа), под которым вы будете логиниться к домашнему компу. Это делается через Control Panel -> Users. Пусть это будет test_user с каким-нибудь хитрым паролем.
    1. B. После этого его надо добавить в число разрешенных пользователей openssh. Идете в каталог с:\Program Files\OpenSSH\bin и выполняете следующие команды:

      mkgroup -l >> ..\etc\group
      mkpasswd -l -u test_user >> ..\etc\passwd
    1. C. Затем надо задать порт, по которому будет лазить в инет. По умолчанию это 22, но лучше поменять. В идеале это должен быть http - 80 (но может быть закрыт провайдером домашнего инета). Еще хорошо SSL – 443. А можно любой понравившийся, не суть важно. Для этого идем в c:\program files\openssh\etc\sshd_config, расскоментируем строку #Port и ставим желаемую циферку.
    1. D. И самое главное, стоившее мне 2 дней жесткого секса с компом и гуглом! В Windows Firewall надо добавить этот порт в список разрешенных! Я совсем про это забыл, блин.
    1. E. Все, openssl готов к работе. Запускаем его: net start opensshd
  1. 3. Что бы его проверить, можно использовать широко известный в узких кругах клиент PuTTY (http://www.chiark.greenend.org.uk/~sgta ... nload.html). Запускаете его (дома ли, на работе ли, не суть важно), вводите IP домашнего компа и заданный в пункте 2.С порт – должно появится приглашение на ввод логина/пароля. Если это отработало – отлично, защищенный туннель между 2 копьютерами установлен.
  1. 4. Потом надо настроить proxy server на домашнем компе. Я нашел 3proxy (http://www.security.nnov.ru/soft/3proxy/) и доволен. Мелкий и делает всё, что надо. После того, как вы его скачаете и разархивируете в желаемую папку, надо в подпапке bin создать файл 3proxy.cfg со следующим содержимым:
    • # DNS servers
      nserver ВАШ_ДНС_1
      nserver ВАШ_ДНС_2
      nscache 65536

      # interfaces
      external ВАШ_IP_ОТ_ПРОВАЙДЕРА
      internal 127.0.0.1

      # разрешаем прокси и SOCKS сервера.
      # аутентификация не нужна, т.к. ходят ТОЛЬКО localhost
      auth none
      proxy
      socks
    и запускаем 3proxy.exe
  1. 5. Что тепепрь происходит – 3proxy будет слушать порты 3128 и 1080 на localhost и перенаправлять их на external IP. Что бы на эти порты попасть, надо создать SSH туннель между рабочим компом и домашним сервером openssh. Для этого запускаем PuTTY, вводим порт и IP из пункта 3, потом идем на вкладку SSH->Tunnels. И там добавляем 3 туннеля:
    • Source port 5555; Destination 127.0.0.1:3128 - это для http-прокси
      Source port 4444; Destination 127.0.0.1:1080 – это для SOCKS-прокси
      Source port 3333; Destination 127.0.0.2:3389 – это для Windows Remote Desktop :)
    Т.е. PuTTY на рабочем компе мы говорим, что весь трафик, который приходит на порт 5555 в итоге должен оказаться на порту 3128 интерфейса 127.0.0.1 ДОМАШНЕГО компа. Где его и поджидает 3proxy, что бы послать в интернет. А на рабочем компе, что бы заставить любимые программы – Skype, MSN, ICQ, IE – в общем, всё что нужно, слать данные в порт 5555, надо прописать прокси сервер в виде 127.0.0.1:5555. Усё... вот и сказки конец ;)
  1. 6. Что бы запустить Remote Desktop (и лазить по домашнему компу), в Remote Desktop Connection на рабочем компе надо коннектиться к 127.0.0.1:3333
В общем, я доволен, как слон, Скайп работает, почту домашнюю читаю, а больше мне особо ничего и не надо ;) Если будут проблемы – пишите, попробую помочь.


Алексей.
Последний раз редактировалось alexey99 Сб июл 22, 2006 10:28 am, всего редактировалось 2 раза.

Аватара пользователя
dimkdimk
Гуру
Сообщения:2877
Зарегистрирован:Вт окт 30, 2001 12:00 am

Re: Установка прокси сервера дома,

Сообщение dimkdimk » Сб июл 22, 2006 5:16 am

Добавлю для любителей Линукса:

Дома можно также установить линукс на компьютере.
В таком случае ssh server будет уже внутри линукса обычно он устанваливается по умолчанию.
Еще вам нужно будет убедиться, что запущен squid - это такой линуксовый прокси сервер.

В результате, при создании туннелей по такому методу вы сразу получаете готовый и надежный механизм прокси.

Сквид также можно настроить и без туннелей, тобишь можно сделать из вашего компьютера прокси сервер. Только нужно продумать внимательно доступ к нему, ибо если неаккуртно это сделать то другие плохие люди смогут использовать его тоже

JohnnyB
Опытный
Сообщения:717
Зарегистрирован:Сб мар 13, 2004 12:00 am

Re: Установка прокси сервера дома,

Сообщение JohnnyB » Сб июл 22, 2006 6:45 am

alexey99 писал(а):или как нае%$#ть любимую компанию {mrgreen}
Вам в помощь еще предлагаю такие факты.

1) Поставьте дома прокси, поддерживающий CONNECT, и вы сможете устанавливать TCP-соединение через этот прокси с любым хостом. (Через обычный прокси, Вы можете лишь делать HTTP-запрос)

2) Даже если вдруг Ваша какая-то прога не позволяет прописывать проксю, Вы (речь идет про Линух!!) можете ее заставить ходить через Вашу CONNECT-проксю.. без ее (проги) ведома {mrgreen}
Даже через цепочку CONNECT-проксей! :D
Если понадобится "спросите меня как" (с)

Иными словами, если у вас на работе линух (как было у меня и у nicka) и дома прокся, то можно сделать чтобы любой софт (даже который и не знает про прокси) ходил куда ему вздумается... {mrgreen}

Думаю и под виндой такое же можно сделать.
... Нельзя дать всем всё, потому что всех много, а всего мало
:-D

alexey99
Новичок
Сообщения:156
Зарегистрирован:Пт авг 20, 2004 11:25 am

Re: Установка прокси сервера дома,

Сообщение alexey99 » Сб июл 22, 2006 7:33 am

JohnnyB писал(а):
alexey99 писал(а):или как нае%$#ть любимую компанию {mrgreen}
Вам в помощь еще предлагаю такие факты.

1) Поставьте дома прокси, поддерживающий CONNECT, и вы сможете устанавливать TCP-соединение через этот прокси с любым хостом. (Через обычный прокси, Вы можете лишь делать HTTP-запрос)
Скорее всего, вы говорите про т.н. SOCKS-прокси. Про это я тоже напишу ;) И это тоже работает с SSH туннелем.
JohnnyB писал(а): 2) Даже если вдруг Ваша какая-то прога не позволяет прописывать проксю, Вы (речь идет про Линух!!) можете ее заставить ходить через Вашу CONNECT-проксю.. без ее (проги) ведома {mrgreen}
Даже через цепочку CONNECT-проксей! :D
Если понадобится "спросите меня как" (с)
Да мало таких прог (я видел {mrgreen}), да и страшно далеки они от народа :)))
JohnnyB писал(а): Иными словами, если у вас на работе линух (как было у меня и у nicka) и дома прокся, то можно сделать чтобы любой софт (даже который и не знает про прокси) ходил куда ему вздумается... {mrgreen}


Думаю и под виндой такое же можно сделать.


freePCap, SocksCap и т.д.


Алексей

JohnnyB
Опытный
Сообщения:717
Зарегистрирован:Сб мар 13, 2004 12:00 am

Re: Установка прокси сервера дома,

Сообщение JohnnyB » Сб июл 22, 2006 9:12 am

alexey99 писал(а):
JohnnyB писал(а):
alexey99 писал(а):или как нае%$#ть любимую компанию {mrgreen}
Вам в помощь еще предлагаю такие факты.
1) Поставьте дома прокси, поддерживающий CONNECT, и вы сможете устанавливать TCP-соединение через этот прокси с любым хостом. (Через обычный прокси, Вы можете лишь делать HTTP-запрос)
Скорее всего, вы говорите про т.н. SOCKS-прокси. Про это я тоже напишу ;) И это тоже работает с SSH туннелем.
Нет. Я говорю именно про HTTP-прокси, поддерживающие метод CONNECT. Они обычные HTTP-прокси, только понимают не только команды GET/POST/..., но и одну очень важную команду CONNECT {mrgreen}

socks - это совсем другое, хотя тоже в тему {mrgreen}

Кстати, я не совсем понимаю необходимость SSH-туннеля в данном случае.
alexey99 писал(а):
JohnnyB писал(а): 2) Даже если вдруг Ваша какая-то прога не позволяет прописывать проксю, Вы (речь идет про Линух!!) можете ее заставить ходить через Вашу CONNECT-проксю.. без ее (проги) ведома {mrgreen}
Даже через цепочку CONNECT-проксей! :D
Если понадобится "спросите меня как" (с)
Да мало таких прог (я видел {mrgreen}), да и страшно далеки они от народа :)))
Для линуха есть - настраивается элементарно. Честное слово.
Для винды чувствую, что должно быть, но я и не искал никогда.
alexey99 писал(а):
JohnnyB писал(а): Думаю и под виндой такое же можно сделать.

freePCap, SocksCap и т.д.
Алексей
Первую не знаю. Вторая в тему, но socks, а не http.
... Нельзя дать всем всё, потому что всех много, а всего мало
:-D

Аватара пользователя
bambr
Опытный
Сообщения:388
Зарегистрирован:Сб апр 16, 2005 2:38 pm

Re: Установка прокси сервера дома,

Сообщение bambr » Сб июл 22, 2006 9:17 am

JohnnyB писал(а): Для линуха есть - настраивается элементарно. Честное слово.
Для винды чувствую, что должно быть, но я и не искал никогда.
Не обмануло тебя предчувствие. Прога ProxyCap зовется, работает под виндой.
http://proxylabs.netwu.com/

alexey99
Новичок
Сообщения:156
Зарегистрирован:Пт авг 20, 2004 11:25 am

Re: Установка прокси сервера дома,

Сообщение alexey99 » Сб июл 22, 2006 10:35 am

JohnnyB писал(а): Нет. Я говорю именно про HTTP-прокси, поддерживающие метод CONNECT. Они обычные HTTP-прокси, только понимают не только команды GET/POST/..., но и одну очень важную команду CONNECT {mrgreen}

socks - это совсем другое, хотя тоже в тему {mrgreen}

Кстати, я не совсем понимаю необходимость SSH-туннеля в данном случае.
аа... понял. Ну, я думаю, что тупых ХТТП проксей сейчас и не найти... по крайней мере, та что мне попалась, делает всё как надо ;)

А туннель.. ну назовите это параноей, если хотите.. или же наоборот, желанием соблюсти хоть видимость приличий. Я не хочу, что бы компания знала, ЧТО я делаю. И вдобавок, делая неразрешенное, я формально если и не нарушаю правила, то по крайней мере, откровенно плюю на них. А зачем лишние конфликты? Зашифруй, придумай отмазу, и все довольны, если что...
JohnnyB писал(а):
alexey99 писал(а): Да мало таких прог (я видел {mrgreen}), да и страшно далеки они от народа :)))
Для линуха есть - настраивается элементарно. Честное слово.
Для винды чувствую, что должно быть, но я и не искал никогда.
Я имел в виду те, что ходят в интернет и не знают, что такое прокся. Ну да ладно, это не суть важно.

Аватара пользователя
Gradient
Специалист
Сообщения:1269
Зарегистрирован:Вс май 07, 2006 3:51 pm

Re: Установка прокси сервера дома,

Сообщение Gradient » Ср янв 17, 2007 3:43 pm

Проблема с внешним IP, денег за него хотят ежемесячно, и не мало ....

Аватара пользователя
gazinur
Сообщения:118
Зарегистрирован:Пн апр 19, 2004 2:53 pm

Re: Установка прокси сервера дома,

Сообщение gazinur » Вт янв 23, 2007 3:26 am

Для обхода динамического IP (и не только) может помочь Hamachi
Если у вас нет собаки, ее не отварит сосед... (корейская народная мудрость).

Аватара пользователя
lelik
Опытный
Сообщения:889
Зарегистрирован:Ср апр 20, 2005 7:37 pm

Re: Установка прокси сервера дома,

Сообщение lelik » Ср янв 24, 2007 10:40 am

Ещё одно интересное решение:
http://www.htthost.com

Аватара пользователя
Gradient
Специалист
Сообщения:1269
Зарегистрирован:Вс май 07, 2006 3:51 pm

Re: Установка прокси сервера дома,

Сообщение Gradient » Ср янв 24, 2007 12:54 pm

Последний вариант требует статического IP - уже давно опробовал, не работает на кабельных модемах.

Ответить