Прокси сервер из любого компьютера с любой системой.

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

  1. В заголовке этой статьи написано что можно сделать прокси сервер из любого компьютера и с любой операционной системой? Да это действительно так и есть, свой прокси сервер который будет работать даже на дедушкином компьютере с Windows XP. Причем выполнять свою работу будет на все 100%. Название этого прокси сервера Зараза, но Вы не подумайте плохо что это типо вирус или Зараза в плохом смысле этого слова. Ниже если Вас заинтересовал этим прокси сервером, Я расскажу почему его назвали Зараза и поверьте дочитав до конца статью Вы и сами поймете почему такое название было выбрано, смешно будет.
  2. Для чего нужен прокси сервер?

  3. Его можно использовать как в локальной сети дома или офиса, для выхода в интернет компьютеров сети и тем самым применять любые настройки к трафику. Ограничивать определенным компьютерам скорость интернет, запретить посещать определенные сайты. Если вы работаете дома и у вас настроен доступ к рабочему серверу или компьютеру с определенного, домашнего вашего ip, не как не подключиться с других адресов для выполнения работы. А вы хотели отъехать по делам и взяли с собой ноутбук чтобы поработать в дороге, вы можете подключиться к своему прокси серверу и выходит в интернет под своим домашним адресом. Так же можно сканировать проходящий трафик на ваши компьютеры антивирусом на отдельной машине. Ваши устройства в сети будут куда лучше защищены если трафик будет сканироваться еще до попадания скажем на телефон. Можно настроить DnsCrypt на прокси сервере, что тоже даст дополнительную защиту. Возможно удастся ускорить интернет, так как страницы сайтов будут кешироваться на сервере.
  4. Установка прокси сервера.

  5. Установить прокси сервер можно на систему Windows, Linux, Unix и версия lite встанет на операционные системы Windows 95/98/NT/2000/XP/2003. Полная версия может работать на новых версиях Windows. Требования к железу настолько минимальны что можно даже не задавать такой вопрос. Единственное конечно сколько трафика вы хотите пропустить, а сам прокси практически не требует ресурсов. Весит чуть больше мегабайта и последний дистрибутив скачанный мной в начале 2018 года для x64 ос весит 1,18 МБ. Установить прокси можно двумя способами как службу в Windows и как переносную portable версию, отдельное приложение, программа. Не спешите ставить как службу, это можно сделать и позже командой в командной строке:
  6. 3proxy --install
  7. Если вы поставите как службу тогда вам придется открывать логи для просмотра ошибок и соединений, это так сказать более скрытый вариант, чтобы работало все в фоне. А если оставить как отдельную программу тогда вся информация будет выводится в окне, что более удобней и на стадии настройки более подойдет. Если запускать как отдельное приложение то можно также добавить запись в лог файл и вывод в окне информации, более обширно и под рукой на данный момент времени, все что надо для комфортного администрирования. Скачанный вариант с официального сайта или с GitHub для разрядности вашей операционной системы и версии. Распаковываем в папку и отправляем на диск C:\ в корень диска. Получиться так:
  8. C:\3proxy
  9. Заходим в папку 3proxy и далее bin64 если у вас x64 система, создаем в ней файл 3proxy.cfg это и будет файл конфигурации в котором будем настраивать данный прокси сервер. Открываем созданный файл в блокноте или другом текстовом редакторе в котором вы любите работать, я лично notepad++ работать люблю. С установкой прокси сервера закончили, вы можете даже уже его запустить, правда без настроенного файла конфигурации он не будет работать. Запустить его можно кликнув по файлу 3proxy.exe в этой же папки bin64, где и файл конфигурации сделали.
  10. Настройка прокси сервера.

    Расположение сервера.

  11. Как распределить положение сервера где он будет стоят, зависит от того как у вас приходит интернет и какая у вас локальная сеть. Если у вас скажем в квартире только один роутер wifi и от него получают ваши устройства интернет. Тогда можно поставить сервер перед роутером, чтобы он был первым от провайдера интернет и уже к серверу подключить wifi роутер. Для наглядности картинка ниже как это выглядит:
  12. Для прокси можно в таком случае применить прямые меры защиты это - Network Address Translation (NAT), что закроет видимость всей локальной сети из вне, можете кликнуть по ссылке и прочитать на wiki более подробней. Такое расположение подойдет что для домашнего использования, что в офисе. Более детально о защите и подключениях к серверу чуть ниже. Если у вас соединение с интернет модем+роутер(wifi)+ваши устройства, тогда прокси надо ставить между модемом и роутером wifi.
  13. Настройка прокси, входящий и исходящий интерфейс.

  14. Для настройки прокси сервера как выше писал будем использовать файл конфигурации, в который будем вносить необходимые настройки для правильной работы сервера. Для того чтобы прокси сервер работал надо чтобы на компьютере где будет стоять прокси, были две сетевые карты. Одна будет глядеть в сторону интернет а другая в локальную сеть, может даже подключаться к маршрутизатору или wifi точке с которой потом получают ваши устройства интернет, выше я это тоже описывал. Для начала открываем в текстовом редакторе файл конфигурации 3proxy.cfg и пишем показывая тем самым какая карта у нас смотрит в интернет а какая в локалку:
  15. internal 192.168.0.1
  16. external 211.xx.xx.xx
  17. internal это адрес который смотрит в локальную сеть, адрес сетевой карты в локальной сети к которой будут подключаться пользователи, домашние компьютеры.
  18. external это адрес который выдал вам ваш провайдер, под которым вы подключаетесь к серверам провайдера или внешний ip адрес под которым вы выходите в интернет. Также к нему можно будет подключиться для использования домашнего адреса вашего в интернете, тоже выше писал об этом. Для внешнего адреса надо смотреть настройки провайдера, как он вас выпускает, можете прочитать в этой статье: Белые, серые, динамические, статические ip адреса, там более подробней есть описание о подключениях и адресах ip. Если у вас нет постоянного внешнего адреса, вы можете поставить на прокси сервер утилиту от сервиса NO-IP и регистрировавшийся на сайте получить постоянный адрес. Собственно external вам надо вписать адрес который смотрит в интернет, а как его получить или узнать я вам уже намекнул.
  19. настройка DNS

  20. Dns в файл конфигурации прописываем сразу под ip адресами о которых говорил чуть выше. Как выше писал можете настроить DNSCrypt и потом вписать адрес в файл конфигурации. Также можете прописать DNS сервера своего провайдера или другие доступные скажем от Яндекс. После как определитесь какие адреса DNS хотите, делается это так:
  21. nserver 8.8.8.8
  22. nserver 8.8.4.4
  23. nscache 65536
  24. С адресами первыми двумя строчками понятно а что такое nscache 65536? Это размер кеша DNS можете задать любой или оставить как есть у меня. Вы можете уже запустить сервер и попробовать его в работе. Правда не какие ограничения или конкретные настройки мы не указали только самые основные, как и через кого выходить в интернет, простой маршрут скажем так.
  25. Настройка логирования.

  26. Теперь давайте добавим команду log и покажем где сохранять файл в котором будет собираться вся статистика проходившая через сервер, если кто не знает что такое лог файлы.
  27. log c:\3proxy\log\logs.log D
  28. Такой вот строчкой в файле конфигурации мы показали где сохранять файлы отчета трафика. Log это указываем что будет собираться статистика и далее указываем путь к файлу в который будет собираться. Функция D означает что каждый день будет писаться новый лог файл, также есть следующие варианты, D-день,W-неделя,M-месяц,H-час. Если добавить строчку:
  29. rotate 15
  30. Тогда лог файлы будут копиться только пол месяца. Добавляем формат в котором будет собираться статистика.
  31. logformat "L%C - %U [%d/%o/%Y:%H:%M:%S] ""%T"" %E %I %O"
  32. После добавления формата в лог файлах будет собираться следующая информация, IP-адрес компьютера, название пользователя, дата, время, адрес сайта куда пошел пользователь в интернет, номер ошибки если была, принято и отправлено байт.
  33. Ограничения для определенной программы или порта в локальной сети.

    Если вы хотите снять ограничения с определенной программы, которая используется у вас в сети или хотите не ограничивать определенный порт, тогда пишем так.
  34. nobandlimin * * * 135
  35. Снимаем ограничения для определенной программы, снимая ограничения с порта которым пользуется нужная вам программа, вся доступная скорость от провайдера не будет ограничиваться для определенного порта.
  36. Определение скорости подключения для пользователей.

  37. Для входящего подключения определенным ip адресам можно назначить так:
  38. bandlimin 163840 * 192.168.0.5,192.168.0.6,192.168.0.7
  39. Такой строчкой в конфигурационном файле разрешаем входящую скорость в килобитах трем адресам из локальной сети. Если надо добавить еще скорость отдельно определенному или нескольким адресам, тогда пишем еще одну такую же строчку, только с другими характеристиками. Таким образом можно практически запретить скачивать файлы с интернет сайтов, выставив скорость только для просмотра, серфинга в интернет. А скачивание будет настолько медленное что лучше не качать или не выключать компьютер дня два, хотя если вы воспользуйтесь способами ниже, тогда и по времени запретить можно. Тогда пользователю на работе точно отпадет мысль скачивать файлы.
  40. Исходящую скорость тоже можно определять конфигурацией.
  41. bandlimout 163840 *
  42. Такая строчка в конфигурационном файле разрешит всем адресам исходящую скорость в зависимости сколько получаете от провайдера, то есть всю исходящую скорость которая доступна. Для входящей скорости если хотите разрешить всем одинаковую скорость убираем просто адреса, оставляя пустым часть строки после звездочки. Если хотите разрешить конкретным адресам, конкретную исходящую скорость, тогда дописываем адреса. Меняем положения или убираем, дописываем информацию в строчки для определения исходящей и входящей скорости, меняем местами, скажем так. Если вам надо использовать несколько адресов, которые идут по порядку, то что на входящее и на исходящее правило, можно прописать так:
  43. bandlimin 163840 * 192.168.0.5/10
  44. Такая строка разрешит использовать сразу 5 адресов, от 5 до 10, также можно менять свои цифры.
  45. Ограничения пользователей по времени.

  46. Ограничивать определенных пользователей по времени, скажем детей дома или работников на работе. Команды для конфигурационного файла будут deny - это запретить и allow - это разрешить. Хотя одно другому не мешает и можно было использовать только один термин, запретить или разрешить, но есть вариант в котором не обойтись без двух команд, ниже расскажу. Скажем если вам надо разрешить пользователю выход в интернет в определенное время, то можно использовать команду запретить обозначив время в которое он не должен выходить в интернет. Таким образом можно и наоборот использовать запретить для разрешения выхода в определенное время.
  47. deny * 192.168.0.7 * * * 1-5 18:00:00-23:59:59,00:00:00-08:00:00
  48. Таким способом разрешаем использовать интернет, для всех протоколов с 8 утра и до 18 вечера, противоположное время запрещает. Остальное время идет под запрет выхода по всем протоколам и обратите внимание на время запрета оно стоит от 18.00 вечера до 23.59 вечера далее от 00.00 до 08.00 утра. Это связанно с переходом на новые сутки, поэтому записано так сказать двойное время, 1-5 в строке обозначают с понедельника по пятницу.
  49. Разрешить использование я опишу с примером почты, так как и так все понятно с примером выше с разрешением, разрешение будет также только наоборот с командой allow. Но если вам надо разрешить определенную программу или порт по времени, тогда в место звездочек дополняем порт программы. Также вы можете указать через запятую адреса или через слеш указать диапазон.
  50. deny * 192.168.0.7/12 * 110 * 1-5 18:00:00-23:59:59,00:00:00-08:00:00
  51. Думаю понятно стало все с запретом или наоборот с разрешением, насколько все гибко можно настраивать, одно удовольствие получается работать с этим прокси сервером от Заразы. Если Вам еще нужны примеры то вот таким способом можно разрешить доступ на всю неделю но только для посещения интернет сайтов. Для этого прописываем порты которые отвечают за открытия интернет контента а именно те порты которыми пользуются браузеры. Потом пишем дни недели и время круглосуточно. В таком случае запрет не подойдет, если прописать deny тогда пользователь совсем не выйдет в интернет гулять, но зато будет почта и ftp работать круглосуточно.
  52. allow * 192.168.0.7 * 80,443 * 1-7 00:00:00-23:59:59
  53. Да если оставить авторизацию - auth none - без авторизации, тогда то что писали ограничения по времени или по адресам будут бессмысленны. Другие адреса которые не входят не в одно правило будут проходить без ограничений. После всего написанного добавляем - auth iponly - авторизация по ip адресам.
  54. Какие службы будут запущены и на каких портах.

  55. Службы можно запускать как на родных портах так и на других удобных вам.
  56. proxy -p8080
  57. ftppr -p2121
  58. socks -p1931
  59. Если хотите оставить по умолчанию тогда пропишите просто службы.
  60. Подведем итог.

  61. После описываемого выше файл конфигурации должен выглядеть так как показано ниже:
  62. 1.) internal 192.168.0.1
  63. 2.) external 211.xx.xx.xx
  64. 3.) nserver 8.8.8.8
  65. 4.) nserver 8.8.4.4
  66. 5.) nscache 65536
  67. 6.) logformat "L%C - %U [%d/%o/%Y:%H:%M:%S] ""%T"" %E %I %O"
  68. 7.) log c:\3proxy\log\logs.log D
  69. 8.) rotate 15
  70. 9.) bandlimin 163840 * 192.168.0.5,192.168.0.6,192.168.0.7
  71. 10.) deny * 192.168.0.7 * * * 1-5 18:00:00-23:59:59,00:00:00-08:00:00
  72. 11.) auth iponly
  73. 12.) socks -p1931
  74. 13.) ftppr -p2121
  75. 14.) proxy -p8080
  76. Настройка прокси сервера на компьютере пользователя с операционной системой Windows.

  77. Настройку в ос Windows проделаю с браузером explorer, так как он самый замороченный и потом многие другие браузеры берут настройки с него. Если какой то браузер у вас не заработал то перейдите в его настройки и в поле прокси сервер выставите адрес вашего сервера прокси, на котором вы настраивали прокси. А с настройками IE покажу сей час, переходим в "панель управления" и выставив в верхнем правом углу маленькие значки, находим "Свойства браузера". Открываем кликнув мышкой по "свойствам браузера" на вкладке "Подключения" нажимаем на кнопку "Настройка сети".
  78. В открывшемся окне "Настройка сети" убираем галочку "Автоматическое определение параметров", ставим галочку "Использовать прокси сервер для локальных подключений", Кликаем по кнопке "Дополнительно".
  79. В окне "Настройки прокси сервера" выставляете ip адрес и настройки служб как настраивали в вашем файле конфигурации.
  80. Подтверждаете кнопками ок и применить, закрываете и можете пользоваться. Если на сервере все настроили правильно то пользователь может выходить в интернет. Другие пользователи сети у которых не будет настроен ваш прокси сервер не смогут выйти в интернет.
Ссылки упоминающиеся в статье.
Перейти На официальный сайт
Перейти на GitHub

Статьи похожей тематики:

Ваш провайдер использует целенаправленные помехи в Вашем интернет соединении(Цензура)(ooni)?
Поисковые системы интернета. Находить нужную информацию быстро и точно.
Обзор программы Wireshark и пример захват передаваемых пакетов.
Wireshark, продолжение захват паролей.
ПОСМОТРЕТЬ ВСЕ СОХРАНЕННЫЕ ПАРОЛИ ВО ВСЕХ БРАУЗЕРАХ.
Общаемся со своими знакомыми и друзьями, в своей сети, в своем интернет пейджере.
Удаленное администрирование, удаленная помощь.
Кто и когда заходит в мою почту?
Интерактивная карта кибер угроз от компании Kaspersky Lab.
Подключение по FTP к серверу с помощью TOTAL COMMANDER.
ФИЛЬТРАЦИЯ И ЗАЩИТА С ПОМОЩЬЮ DNS ОТ ЯНДЕКС.
Зашифровать DNS трафик и уберечь от третьей стороны, поможет DNSCrypt.
Фильтрация с помощью DNS от Google.
Кто подключен к Вашему WIFI? Антивирус для локальной сети.
Статические и динамические, белые и серые, IP адреса. Что скачивал в интернете определенный IP?
Мониторинг портов и трафика с помощью специализированных программ.
Безопасность вашего сервера или компьютера, локальной сети и интернет. Какие двери открыты к вам?
Анонимность в интернет и смена IP адреса, OpenVpn.
Страшные поисковики интернета, ищут устройства подключенные к интернет.
Открывать сайты по протоколу HTTPS. Шифрование передачи трафика между Вашем пк и сайтом.
ЗАЩИТА МАРШРУТИЗАТОРА ИЛИ КАК ЗАЙТИ В ГОСТИ ЧЕРЕЗ ЧЕРНЫЙ ХОД.
Передать любой файл, любого размера, прямо с вашего компьютера, в зашифрованном виде.