Из VPS
системы которая приобретена через хостера AdminVPS
для нужно моего тестового почтового сервера на базе связки через WireGuard
туннель до сети Server 2008 R2 Ent + Exchange 2010 Version 14.03.0513.00
— VPS
система расположена в Беларуссии. А исходя из этого то не гоже ей простаивать покуда я не тестирую какой-либо функционал на Exchange
прежде чем его внедрить в боевой среде, так почему бы не настроить на ней прокси. Тут я вспомнил, что ранее использовал связке 3proxy + Tor
, да было время, потом Tor
заблокировали или частично ограничили его использование на территории России, ну да ладно, но вот в той связке была одна утилита с помощью, которой я реализую задуманное.
Мои текущие характеристики VPS
системы:
CPU: 1
RAM: 1Gb
NVMe: 20Gb
Траффик: 1Tb
WAN-IP: статический
OS: Ubuntu 22.04 Server
Шаг №1:
Подключаюсь к своей VPS
системе по связке SSH + Private Key
и устанавливаю приложение privoxy:
ekzorchik@mail:~$ apt-cache search privoxy && apt-cache show privoxy | grep Version privoxy - Privacy enhancing HTTP Proxy Version: 3.0.33-1build1 ekzorchik@mail:~$ ekzorchik@mail:~$ sudo apt-get install -y privoxy
Шаг №2:
Настраиваем конфигурационный файл privoxy
, т.к. по умолчанию порт прокси прослушивается на 127.0.0.1:8118:
ekzorchik@mail:~$ sudo netstat -tulpn | grep privoxy tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN 34148/privoxy tcp6 0 0 ::1:8118 :::* LISTEN 34148/privoxy ekzorchik@mail:~$ ekzorchik@mail:~$ whereis privoxy privoxy: /usr/sbin/privoxy /etc/privoxy /usr/share/privoxy /usr/share/man/man8/privoxy.8.gz ekzorchik@mail:~$ ekzorchik@mail:~$ sudo nano /etc/privoxy/config listen-address WAN-IP:8118 #listen-address [::1]:8118 listen-address 185.251.38.97:8118
После нажимаем Ctrl + O, Enter - Ctrl + X
(для выхода из редактора).
ekzorchik@mail:~$ sudo systemctl restart privoxy && sudo systemctl status privoxy | head -n5 ● privoxy.service - Privacy enhancing HTTP Proxy Loaded: loaded (/lib/systemd/system/privoxy.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2024-04-18 11:24:06 MSK; 22ms ago Docs: man:privoxy(8) https://www.privoxy.org/user-manual/ ekzorchik@mail:~$ ekzorchik@mail:~$ sudo netstat -tulpn | grep 8118 tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN 34390/privoxy tcp 0 0 185.251.38.97:8118 0.0.0.0:* LISTEN 34390/privoxy ekzorchik@mail:~$
Шаг №3:
Добавляем правило в firewalld:
ekzorchik@mail:~$ sudo firewall-cmd --zone=external --add-port=8118/tcp --permanent success ekzorchik@mail:~$ sudo firewall-cmd --reload success ekzorchik@mail:~$
Шаг №4:
Настраиваю браузер на выход через Proxy:
Браузер Mozilla Firefox - Открыть меню приложений - Настройки - Основные - (Настройка сети) Настроить… -
Ручная настройка прокси: Выбираю
HTTP прокси: 185.251.38.97
Порт: 8118
Также использовать этот прокси для HTTPS: отмечаю галочкой
и нажимаю ОК
, после чего открыв в браузере URL: 2ip.ru
вижу, что мой внешний IP
это IP
адрес моей VPS
системы.
Шаг №5:
Все конечно хорошо, но нужно свой proxy
закрыть связкой логин и пароль, разбираю как это сделать:
пробывал связать 3proxy + privoxy
но как http
работает,
ekzorchik@mail:~$ sudo nano /etc/3proxy/3proxy.cfg daemon setgid 5001 setuid 5001 nserver 8.8.8.8 nserver 8.8.4.4 nscache 65536 timeouts 1 5 30 60 180 1800 15 60 daemon log /var/log/3proxy/3proxy.log D logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" rotate 60 flush fakeresolve allow * parent 1000 http 127.0.0.1 8118 maxconn 1000 proxy -n -p50001 -i185.251.38.97 -e127.0.0.1 auth strong
После нажимаем Ctrl + O, Enter - Ctrl + X
(для выхода из редактора).
ekzorchik@mail:~$ sudo systemctl stop 3proxy && sudo systemctl start 3proxy && sudo systemctl status 3proxy | head -n 10 && sudo netstat -tulpn | grep 3proxy ● 3proxy.service - 3Proxy SOCKS5 Daemon Loaded: loaded (/lib/systemd/system/3proxy.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2024-04-18 14:19:17 MSK; 24ms ago Process: 45701 ExecStart=/bin/3proxy /etc/3proxy/3proxy.cfg (code=exited, status=0/SUCCESS) Main PID: 45702 (3proxy) Tasks: 2 (limit: 1013) Memory: 2.9M CPU: 3ms CGroup: /system.slice/3proxy.service └─45702 /bin/3proxy /etc/3proxy/3proxy.cfg tcp 0 0 185.251.38.97:50001 0.0.0.0:* LISTEN 45702/3proxy ekzorchik@mail:~$ ekzorchik@mail:~$ sudo firewall-cmd --zone=external --remove-port=8118/tcp --permanent ekzorchik@mail:~$ sudo firewall-cmd --zone=external --add-port=50001/tcp --permanent ekzorchik@mail:~$ sudo firewall-cmd --reload
Прописываю настройки к примеру, в Telegram Desktop
на рабочей станции под управлением Windows 10 Pro:
Win - Telegram - Настройки - Продвинутые настройки - Тип соединения
— выбираю "Использовать собственный прокси"
Выбираю: HTTP
Хост: 185.251.38.97
Порт: 50001
и нажимаю "Сохранить"
также и в Mozilla Firefox
Win - Firefox - Открыть меню приложения - Настройки - Основные - (Настройки сети)
нажимаю "Настроить…"
Ручная настройка прокси: отмечаю
HTTP прокси: 185.251.38.97
Порт: 50001
Также использовать этот прокси для HTTPS: отмечаю галочкой
и нажимаю "ОК"
После, проверяю к примеру, обратившись на URL https://myip.ru
и вижу
Ваш IP-адрес: 185.251.38.97
Имя вашего хоста: mail.ekzorchikdom.ru
Т.е. выход в интернет идет через VPS
систему.
Вот только оставлять вот таким вот образом, открытый доступ без авторизации ну как-то не совсем не по секъюрному:
ekzorchik@mail:~$ sudo firewall-cmd --zone=external --remove-port=50001/tcp --permanent success ekzorchik@mail:~$ sudo firewall-cmd --reload success ekzorchik@mail:~$
Шаг №6:
А можно через 3proxy
указать что с определенного IP
адреса можно подключаться использую proxy, если Вам такое подходит, то смотрите у меня в приватных заметках блога https://lin.ekzorchik.ru
как это сделать.
Шаг №7:
Вот еще один вариант использования VPS
как прокси, кстати ранее я уже говорил об этом варианте в заметке: "Доступ через SSH туннель с Windows в офис"
скачиваем клиент putty
настраиваем соединение до VPS
системы и прописываем настройки создания туннеля:
Connection - SSH - Tunnels
Source port: 3128
Destination: 127.0.0.1:8118
после переходим в Category: session
и сохраняем текущую конфигурацию подключения к VPS
системе путем присвоения имение
Saved Sessions: srv-vps
и нажимаем Save
Теперь переподключаемся к VPS
системе клиентом Putty
, как пример или как я использую mRemoteNG
, покуда он запущен и подключен к VPS
системе на Вашей системе прослушивается порт 3128
Win + R -> cmd.exe
C:\Users\ekzorchik>netstat -a | findstr /I "3128" TCP 127.0.0.1:3128 w10x64a:0 LISTENING TCP [::1]:3128 w10x64a:0 LISTENING
Это нам дает возможность в браузере, который Вы используете прописать настройки прокси и выходить в интернет через VPS
систему, к примеру, в браузере Google Chrome:
Google Chrome - Настройки и управление Google Chrome - Настройки - Система - Открыть настройки прокси-сервера для компьютера
(Настройки прокси вручную)
Использовать прокси-сервер: Активирую
Адрес: 127.0.0.1
Порт: 3128
и нажимаю "Сохранить"
, после чего браузер выходит в интернет через прокси.
Проверяю посредством сайта 2ip.ru
, и вижу, как и приводил скриншоты выше, что WAN-IP
у меня WAN-IP VPS
системы.
Так даже лучше использовать чем выставлять наружу порт privoxy.
На заметку: активация настроек прокси-сервера для компьютера — это для всех программ на компьютере.
Итого, что у меня получилось, получить на VPS
системе поднять privoxy
, настройки подключения к ней через браузер позволяют выходить в интернет посредством браузера через VPS
систему, но вот так оставлять неправильно, кто угодно может воспользоваться Вашей системой и в логах куда он подключается будет именно Ваша система, оно Вам надо. Лучше использовать функционал подключения через putty
к VPS
системе, а уже потом пускать трафик с Windows
системы через ssh
туннель до privoxy.
На заметку: В Вашем браузере все плагины относящиеся к VPN должны быть деактивированы иначе наши настройки прокси не будут работать.
Вот так вот, в случае если мне нужно проверить открывается тот или иной сайт, я просто создаю подключение и прописываю настройки прокси.
На этом моя пошаговая заметка успешно завершена, с уважением автор блога Олло Александр aka ekzorchik.