Сделать из VPS прокси.
Здравствуйте! Имеется сервер, на нем установлены виртуальные машины (Игровой сервер (win 2012 srv), Веб сервер (centos8)), также есть отдельный VPS. Подскажите пожалуйста, как сделать, чтобы вместо IP сервера был IP VPS и весь трафик шел через VPS (на определенные порты — игровой и веб трафик).
asert
14.01.22 17:18:12 MSK

Пробросить трафик. Написать руками нужные конфиги и команды.
deep-purple ★★★★★
( 14.01.22 17:32:25 MSK )
Ответ на: комментарий от deep-purple 14.01.22 17:32:25 MSK
Спасибо за ответ. Это понятно. А есть какой-то гайд, как пробросить с внешнего ип на внешний ип ?
asert
( 14.01.22 17:34:59 MSK ) автор топика
Ответ на: комментарий от asert 14.01.22 17:34:59 MSK

Тысячи их. Зависит от хотелок, предпочтений и доступности инструментов.
deep-purple ★★★★★
( 14.01.22 17:37:21 MSK )

Вот отличный ман, который точно содержит ответы на заданные вопросы: http://www.fifi.org/doc/sysadmin-guide/sag.html/
deep-purple ★★★★★
( 14.01.22 17:43:13 MSK )
Ответ на: комментарий от deep-purple 14.01.22 17:43:13 MSK
По своему вопросу ничего там не нашел, половина разделов недоступны. Есть пример как пробросить с внешнего ип на внешний, это можно сделать средствами иптейблс или нужны другие приложения? Прошу прощения за глупые вопросы, делаю это в первый раз.
asert
( 14.01.22 20:58:54 MSK ) автор топика
Ответ на: комментарий от asert 14.01.22 20:58:54 MSK
Объединяете свой VPS с виртуалками в сеть — это называется VPN — openvpn, wireguard, ipsec, тысячи других вариантов. Дальше на виртуалках прописываете маршрутизацию в интернеты через vpn (обычно это так или иначе позволяет сделать vpn-клиент, и вы найдете информацию об этом в его документации), на VPS настраиваете NAT — ваши ВМ ходят в итернеты через VPS. Для второй части вопроса — маршрутизации входящих коннектов к VPN во внутренние виртуалки — настраиваете DNAT. NAT и DNAT это про iptables, так что гуглите по связке этих слов.
# Установка и настройка Squid Proxy на VPS с Ubuntu 20.04
Squid — удобный и популярный open-source http-прокси. В этой инструкции мы расскажем, как установить Squid на предварительно настроенный VPS с Ubuntu 20.04 и настроить его работу.
# Установка Squid Proxy
Устанавливать Squid будем с помощью стандартной команды apt. Обновим список доступных для установки пакетов и установим сам Squid:
sudo apt update sudo apt install squid
После завершения установки Squid автоматически запустится. Проверить его работу можно стандартной командой:
sudo systemctl status squid #Output ● squid.service - Squid Web Proxy Server Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-07-04 04:54:26 UTC; 44min ago Docs: man:squid(8) Process: 9523 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS) Process: 9526 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS) Main PID: 9527 (squid) Tasks: 5 (limit: 19660) Memory: 16.6M CGroup: /system.slice/squid.service ├─9527 /usr/sbin/squid -sYC ├─9529 (squid-1) --kid squid-1 -sYC ├─9530 (logfile-daemon) /var/log/squid/access.log ├─9531 (pinger) └─9583 (basic_ncsa_auth) /etc/squid/passwords …
По умолчанию Squid работает только с соединениями, пришедшими с сервера, на котором он запущен. Чтобы разрешить работать Squid со всеми входящими соединениями или с соединениями, приходящими только с конкретного IP, нужно изменить его конфигурационный файл. Для этого откроем его:
sudo vim /etc/squid/squid.conf
В этом файле нужно найти блок, отвечающий за подключения. Этот блок начинается со строки # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS . Чтобы найти нужную строку в большом файле (в конфигурационном файле Squid более 4 000 строк), в редакторе vim в командной строке введите / и после него — текст, который нужно найти.
Чтобы разрешить подключения к этому прокси-сервера с вашей локальной машины, перейдите к строкам:
… include /etc/squid/conf.d/* # Example rule allowing access from your local networks. …
Добавьте после них строку:
… acl localnet src your_ip_address` …
- acl — Access Control List — директива, открывающая список разрешённых адресов;
- localnet — название сети, от которой приходит запрос на подключение;
- src — обозначение адреса сети (в данном случае — IP).
Теперь Squid готов к работе.
Для повышения уровня безопасности прокси настроим аутентификацию по паролю, чтобы его могли использовать только зарегистрированные пользователи.
# Настройка аутентификации для пользователей Squid
В качестве меры безопасности будем использовать аутентификацию пользователей по паролю. Для этого установим дополнительную библиотеку для используемого веб-сервера (в нашем случае это Apache):
sudo apt install apache2-utils
Теперь создадим файл, в котором будут храниться имена пользователей и пароли:
touch /etc/squid/passwords
Добавим в этот файл имя пользователя и его пароль:
sudo htpasswd -c /etc/squid/passwords squid_username
Эта команда добавит в файл пользователя squid_username , после чего нужно будет ввести пароль для него.
Чтобы проверить, что пароли будут храниться в зашифрованном виде, можно посмотреть содержимое файла:
sudo cat /etc/squid/passwords #Output squid_username:$abr1$NIPFiAzx$DVoIkN6RCvn13wdajG2.X0
После этого нужно снова открыть конфигурационный файл Squid и добавить в него строки, отвечающие за использование пароля:
sudo vim /etc/squid/squid.conf
Блок, отвечающий за подключения, приведём к следующем виду:
… include /etc/squid/conf.d/* auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords auth_param basic realm proxy acl authenticated proxy_auth REQUIRED # Example rule allowing access from your local networks. acl localnet src your_ip_address # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all …
Эти строки указывают Squid использовать файл с пользователями и паролями для проверки входящих соединений.
Осталось только добавить порт, на котором работает Squid, в список исключений файрвола, если он включён.
sudo ufw allow 3128
# Проверка подключения
Самый простой способ проверки работы прокси — команда curl, которую мы запустим с локального компьютера.
Отправим запрос к одному из сайтов, которые точно работают, и проверим, как отработает наш прокси. Запустим консоль на локальной машине и выполним команду:
curl -v -x http://squid_username:squid_password@your_server_ip:3128 http://www.google.com/
Если всё было указано правильно — имя пользователя Squid, его пароль, IP сервера, к которому подключаетесь, и IP локального компьютера (в конфигурационном файле Squid) — на экране должна появиться примерно такая информация:
#Output * Trying your_server_ip:3128... * Connected to your_server_ip (your_server_ip) port 3128 (#0) * Proxy auth using Basic with user 'squid_user' > GET http://www.google.com/ HTTP/1.1 > Host: www.google.com > Proxy-Authorization: Basic c3F1aWRfdXNlcjpzcXVpZHBhc3M= > User-Agent: curl/7.74.0 > Accept: */* > Proxy-Connection: Keep-Alive > * Mark bundle as not supporting multiuse HTTP/1.1 200 OK Date: Mon, 04 Jul 2022 06:23:52 GMT …
© Джино, 2003–2022. «Джино» является зарегистрированным товарным знаком.
Лицензия на телематические услуги связи №150549 от 09.03.2017.
Простая установка прокси сервера на свой VPS за 1 минуту
В данной инструкции расскажем как установить прокси на VPS сервер. Для примера используем VPS сервер от ГиперХост. Вся установка займет всего несколько минут.

Прокси, простыми словами, — это посредник между вашим ПК и сетью Интернет.
Наиболее часто прокси используют по нескольким причинам:
- для обхода ограничений доступа к определенным сайтам установленным администратором локальной сети.
- для обход региональных ограничений доступа у некоторых сайтов и приложений.
- для обеспечения анонимного доступа к веб-ресурсам с помощью скрытия реального IP-адреса.
Свой выбор мы остановили на бесплатном кроссплатформенном решении 3proxy, рассмотрим его преимущества:
- HTTP прокси с поддержкой HTTPS и FTP.
- SOCKSv4/SOCKSv4.5/SOCKSv5 прокси.
- POP3 прокси.
- SMTP прокси.
- AIM/ICQ прокси.
- MSN messenger / Live messenger прокси.
- vk.com или telegramm прокси
- FTP прокси.
- Кэширующий DNS прокси.
- TCP и UDP портмапперы.
В целом он хорош тем, что является маленьким и простым, но в то же время функциональным.
Технические требования для установки прокси сервера:
- Операционная система Debian GNU/Linux (версии с 7 по 9) или Ubuntu (версии с 14.04 по 17.04) любой разрядности (32/64 бита).
- Пользователь с правами root.
Начинаем установку с помощью команд:
1) yum install 3proxy -y
или для Дебиан\Убунту
apt-get install 3proxy
2) Очищаем файл /etc/3proxy.cfg и записываем в него новые настройки:
Открываем файл для редактирования
timeouts 1 5 30 60 180 1800 15 60
log /var/log/3proxy/3proxy.log D
logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»
archiver gz /usr/bin/gzip %F
proxy -a -n -i1.2.3.4 -e1.2.3.4
где 1.2.3.4 — Ір адрес Вашего сервера
а proxyLogin и ProxyPassword — логин и пароль для авторизации
3) Запускаем прокси-сервер с помощью:
systemctl restart 3proxy
4) Готово! В браузере или приложении указывайте адрес прокси сервера:
ір: 1.2.3.4 (адрес Вашего сервера)
С помощью прокси вы сможете посещать любые сайты и приложения в анонимном режиме. Если будут дополнительные вопросы по установке и настройки прокси, обращайтесь в нашу техническую поддержку! Мы также по запросу можем установить прокси на ваш сервер бесплатно!
ВАЖНО! Прокси запрещено использовать в целях, что противоречат правилам хостера или законодательства. Обязательно ознакомьтесь с правилами компании.
Как установить VPN от ГиперХост на ОС Android по ссылке.
Как создать прокси сервер

Вам нужен собственный прокси сервер? Вы не знакомы с Linux? Тогда эта статья для вас. Выполняя пошагово действия описанные ниже, вы сможете самостоятельно создать элитный прокси сервер (не определяется различными сервисами как прокси и скрывает ваш реальный IP), работающий на HTTP/HTTPS или SOCKS5 протоколах с авторизацией. Он просто незаменим, если имеются повышенные требования к качеству прокси. На выделенном вам IP будете только вы, а не ещё куча других пользователей, что отразится в конечном счете на качестве и стабильности. Даже так называемые «приватные прокси» не всегда могут быть приватными, вы не сможете проверить, сколько людей в реальности им пользуются. Учитывая сэкономленные деньги, ваши расходы составят только аренду VPS (от 5 Евро в мес.) и доп. IP (от 1 Евро) если потребуются, что сравнимо с ценой «приватных прокси».
Итак, для начала нам нужен VPS (виртуальный выделенный сервер) желательно с KVM виртуализацией, т.к. на других типах виртуализации создание прокси часто запрещено и установленной операционной системой CentOS 7. Многие хостинги вообще запрещают создание прокси, поэтому, перед заказом VPS уточните этот нюанс у тех. поддержки. Пример подходящего московского хостинга. Имеют сервера в России (Москва), Швейцарии и Великобритании. Аренда VPS стоит от 5 Евро, доп. IP стоит 1 Евро, можно подключить до 32 доп. IP на один сервер. Или вариант, имеют сервера на Украине, в Болгарии, Нидерландах и США. Сервер от 5 Евро. Их тех. поддержка произвела хорошее впечатление. Эти два примера хостингов подобраны так, что страны расположения их серверов не повторяются, выбор за вами.
Получив данные доступа к заказанному серверу, приступаем к работе.
- Подключаемся к серверу по ssh. Сделать это можно через программу PuTTY. В поле «Host name» вводите IP вашего сервера, порт оставляете по умолчанию 22 если не изменили его.

При попытке входа ваш браузер может выдать сообщение, что-то вроде «Это соединение является недоверенным. «, игнорируем его, добавляем в исключения и входим. После входа появится окно с командной строкой. Вводите логин и пароль данные вам. Обратите внимание, при вводе пароля он не отображается, т.е. как будто ничего не происходит.

После ввода нажав , вы увидите либо сообщение «Access denied», значит пароль введён не правильно или ваш логин в скобках подобно как на скрине.

2. Устанавливаем редактор vim:
yum install vim
3. Инсталируем библиотеку gcc необходимую для компиляции:
yum install gcc
4. Загружаем 3proxy. Данную программу мы и будем использовать для создания прокси сервера. Версия 3proxy может измениться, укажите в строке ниже актуальную. (Актуально на 29.09.2018)
5. Разархивируем скачанный архив командой:
tar -xvzf 0.9.3.tar.gz
6. Переходим в папку с распакованными файлами:
make -f Makefile.Linux
Во время компиляции могут появляться следующие ошибки: «3proxy.c:1103: warning: pointer targets in passing…».
Ошибки при компиляции, кроме fatal, не страшны.
8. Создаем папки:
*Набрав и выполнив первую строку из списка ниже, не спешите печатать новую заново, досточно нажать стрелку «Вверх» на клавиатуре и будет набрана последняя команда. Допишите недостающее и всё.
mkdir /usr/local/etc/3proxy; mkdir /usr/local/etc/3proxy/bin; mkdir /usr/local/etc/3proxy/logs; mkdir /usr/local/etc/3proxy/stat
9. Переносим исполняемый файл: cp src/3proxy.rc /usr/local/etc/3proxy/bin
10. Переносим файл для автозапуска:
cp scripts/init.d/3proxy.sh /etc/init.d/3proxy
11. Записываем информацию в файл автозагрузки:
chkconfig 3proxy on
12. Создаем новый конфигурационный файл:
13. Выставляем права:
chown -R nobody:nobody /usr/local/etc/3proxy
14. Переходим в папку:
15. Входим в файл который хотим редактировать:
16. Настраиваем 3proxy.cfg. Вариантов его настройки масса, ниже приведём относительно простой вариант соотвествующий нашим требованиям описанным в начале статьи.
#logs and shelf life
log /var/log/3proxy.log Drotate 3
nserver 8.8.8.8
nserver 8.8.4.4
#user and pass
users login:CL:pas
auth strong
flush
allow login
maxconn 200
proxy -n -p7459 -i111.111.111.111 -e111.111.111.111
proxy -n -p7459 -i222.222.222.222 -e222.222.222.222
socks -p2233 -i111.111.111.111 -e111.111.111.111
socks -p2233 -i222.222.222.222 -e222.222.222.222
Вставляем вместо «login» и «pas» ваши логин и пароль которые вы будете использовать при авторизации. Далее вместо едениц вписываете ваш IP, если у вас будет несколько IP — копируете эти строки и в каждой ставите новые IP, -p — номер порта, он тоже меняется на ваше усмотрение. В данной конфигурации используется 2 IP для работы по HTTP/HTTPS и SOCKS протоколам, если не нужен SOCKS — не прописывайте последние строки начинающиеся с socks. Сохраняем и выходим из редактора нажатием SHIFT + : и подтверждаем изменения wq + ENTER.
17. Отключаем фаервол, если на сервере нет ничего кроме прокси и он явно не нужен.
service iptables stop
Если нужен, то можно добавть нужные нам порты в исключение.
CentOS 6
iptables -I INPUT -p tcp —dport 7459 -m state —state NEW -j ACCEPT iptables -I INPUT -p tcp —dport 2233 -m state —state NEW -j ACCEPT service iptables save
CentOS 7
iptables -A INPUT -p tcp -m conntrack —ctstate NEW -m multiport —dports 7459 -j ACCEPT iptables -A INPUT -p tcp -m conntrack —ctstate NEW -m multiport —dports 2233 -j ACCEPT service iptables save
Либо вручную прописываем эти строки в /etc/sysconfig/iptables и перезагружаем iptables
Вместо «7459» и «2233» вписываете ваши порты.
18. Если у вас более 1 IP, их нужно прописать в систему:
ifconfig eth0:1 inet 222.222.222.222 netmask 255.255.255.0
Где 222.222.222.222 ваш доп. IP. Если IP адресов больше, ещё кроме IP каждый раз меняйте значение eth0:1 на eth0:2, eth0:3 и т.д.
19. Запускаем 3proxy:
service 3proxy start
Поздравляем! Теперь у вас есть свой элитный прокси сервер. Возможно, что после запуска может появиться сообщение как на скрине ниже — не обращайте внимание.

Как создать прокси сервер P.S. Недавно снова потребовался прокси сервер, попытался его поднять по своей же статье и. не получилось. Статье 4 года, за это время поменял хостинг, а там видимо свои нюансы. Если кратко, они используют внутренний IP отличный от внешнего, хотя это и предусмотрено в файле конфигурации сервера, но не работало. Устанавливалось соеденение, происходила авторизация, а дальше ошибка. Сервер на CentOS 7, версия 3proxy 0.8.
12. Если у вас похожая проблема — попробуйте такой вот конфиг (3proxy.cfg):
daemon log /usr/local/etc/3proxy/logs/3proxy.log Drotate 3 pidfile /usr/local/etc/3proxy/3proxy.pid nserver 8.8.8.8 nserver 8.8.4.4 nscache 65536 users login:CL:pas auth strong socks -p1234 -i111.111.111.111 -e111.111.111.111
Если вам нужен прокси (в данном случае socks 5 с авторизацией) без заморочек и лишних настроек — попробуйте этот конфиг, либо замените socks на proxy если нужно, главное — не указывайте IP. Не забудьте заменить логин и пароль на свои, ну и порт само собой. При попытке запустить прокси выдало ошибку о недостаточных правах. С помощью chmod нашел нужный файл и поставил права немного выше 644 для владельца и группы, этого оказалось достаточно — запустилось.