Настройка прокси-сервера на Windows и Ubuntu. Настройка локальной сети
- Настройка прокси-сервера на Windows и Ubuntu. Настройка локальной сети
- Как настроить прокси-сервер на линукс. Режимы работы прокси-сервера Squid
- 3proxy Ubuntu. Установка и настройка прокси-сервера 3proxy на Ubuntu
- 3proxy tiny free proxy server
- Ubuntu proxy server. Решение задачи
- Как сделать прокси-сервер на Ubuntu. Создание и настройка SOCKS5 прокси-сервера в Ubuntu
- Linux proxy server. How to Install & Configure Squid Linux Proxy Server
Настройка прокси-сервера на Windows и Ubuntu. Настройка локальной сети
Прежде чем переходить к установке и настройке прокси-сервера Squid, необходимо настроить локальную сеть. Для этого на проксируещем сервере должно быть как минимум два сетевых интерфейса - первый осуществляет взаимодействие с Интернетом, в то время как ко второму будут подключаться компьютеры локальной сети. Все настройки и команды приводится на примере дистрибутива Ubuntu.
Чтобы изменить конфигурацию локальной сети или внести полученные от провайдера настройки для подключения сервера к сети Интернет, необходимо отредактировать всего один конфигурационный файл:
nano /etc/network/interfaces
Приведём его к следующему виду:
auto eth0
iface eth0 inet dhcp #для автоматичесокго получения настроек от провайдера по dhcp
auto eth1
iface eth1 inet static
address 192.168.0.1 #ip-адрес
netmask 255.255.255.0 #маска подсети
Для применения новых настроек необходимо перезапустить сеть командой:
service networking restart
По окончании настройки желательно убедиться, что интерфейсы настроены верно. Вывод информации о сетевых подключениях осуществляется командой:
ifconfig
Полученные данные будут иметь примерно следующий вид:
eth0 Link encap:Ethernet HWaddr 00:16:3c:fc:93:a6
inet addr:185.22.174.75 Bcast:185.22.174.255 Mask:255.255.255.0
inet6 addr: 2a00:1838:36:1c3::7385/64 Scope:Global
inet6 addr: fe80::216:3cff:fefc:93a6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7576291 errors:0 dropped:0 overruns:0 frame:0
TX packets:65851 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:628650171 (628.6 MB) TX bytes:10778431 (10.7 MB)
eth1 Link encap:Ethernet HWaddr 0a:19:bc:0d:00:9d
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::819:bcff:fe0d:9d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12581 errors:0 dropped:0 overruns:0 frame:0
TX packets:8484 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1884987 (1.8 MB) TX bytes:1123251 (1.1 MB)
По этим данным ясно, что у сервера имеется два сетевых интерфейса, eth0 и eth1 , с IP-адресами 185.22.174.75 для eth0 и 192.168.0.1 для eth1. К адаптеру eth0 подключен кабель интернет-провайдера, а к адаптеру eth1 будут подключены компьютеры локальной сети.
Как настроить прокси-сервер на линукс. Режимы работы прокси-сервера Squid
Прокси-сервер Squid может работать в следующих трех основных режимах:
Прозрачный режим
В этом режиме HTTP соединение осуществляемое клиентами перенаправляется на прокси-сервер без их ведома или явной конфигурации. В этом режиме не требуется настройка клиентов. Недостатки данного способа : необходима конфигурация NAT и перенаправления трафика, аутентификация клиентов не работает, не перенаправляются FTP и HTTPS запросы.
Аутентифицирующий режим
Для работы в этом режиме клиенты должны быть настроены для работы с прокси-сервером (в настройках соединения должен быть прописан адрес прокси-сервера). Может выполняться аутентификация и авторизация клиентов через Kerberos, Ldap, NTLM, IP и Radius. Возможно построение взаимодействия с серверами Microsoft Active Directory путем аутентификации клиентов – членов домена, используя протокол Kerberos, и последующей авторизации членов групп домена используя LDAP в прозрачном режиме (пользователь вводит свой пароль только при регистрации в домене). Для авторизированных групп возможно применение различных настроек контроля доступа и QoS (delay pools).
Обратный прокси-сервер
Прокси-сервер кэширует исходящие данные. Обратный прокси-сервер Squid получает данные у HTTP сервера от имени клиента и передает их обратно клиенту (например, в Интернет). Этот режим позволяет осуществить:
- Использование кэширования, которое снижает нагрузку на HTTP сервера;
- Распределение нагрузки между HTTP серверами;
- Маскировку HTTP серверов и их характеристик;
- Предотвращение web атак на сервера.
3proxy Ubuntu. Установка и настройка прокси-сервера 3proxy на Ubuntu
Обновлено:
Тематические термины: 3proxy , Ubuntu , прокси-сервер , SOCKS .
Настройка брандмауэра
По умолчанию, в Ubuntu брандмауэр разрешает все подключения. Однако, если у нас настроен фаервол для запрета лишних соединений, необходимо открыть порт для прокси.
а) если используем Iptables.
iptables -I INPUT 1 -p tcp —dport 3128 -j ACCEPT
netfilter-persistent save
* если система вернет ошибку при вводе команды для сохранения правил, устанавливаем пакет командой apt-get install iptables-persistent .
б) если у нас firewalld.
firewall-cmd —permanent —add-port=3128/tcp
firewall-cmd —reload
* 3128 — порт по умолчанию, по которому работает 3proxy в режиме прокси;
Установка и запуск 3proxy
3proxy отсутствует в репозиториях Ubuntu, поэтому для установки сначала необходимо скачать его исходник.
Для начала устанавливаем пакет программ для компиляции пакетов:
apt-get install build-essential
Переходим на официальную страницу загрузки 3proxy и копируем ссылку на версию пакета для Linux:
… используя ссылку, скачиваем пакет:
wget https://github.com/z3APA3A/3proxy/archive/0.9.3.tar.gz
* в моем случае будет скачена версия 0.9.3.
3proxy tiny free proxy server
Hot news: | 3proxy 0.9.3 released December, 03 2020. |
0.9.3 Bugfixes: 0.9.2 Bugfixes: 0.9.1 - bugfix release Bugfixes: 0.9 intoduces socket options including interface binding for Linux, connection limits and connection ratelimits, user session binding to IP, zero-copy mode for Linux, multiple IPv6 improvements, preliminary RADIUS support, ARM support for Windows. It's recommended to update to 0.9 branch from any older versions. 0.9 now is a stable branch, 10 is a development branch, security-related fixes will be backported to 0.8 branch. |
Ubuntu proxy server. Решение задачи
Был найден неиспользуемый стационарный компьютер с двух-ядерным Intel-ом, 1 Гб ОЗУ и жестким на 80 Gb.Для решения будет сделано следующее:
- Установлена Linux Ubuntu Server 18.04 LTS
- На сервер установлен и настроен прозрачный Proxy Squid, собранный из исходных кодов с поддержкой HTTPS.
- Интеграция сервера в подсеть, путем перенаправления запросов на Proxy или альтернативным вариантом (в самом конце)
3.1. Установка и настройка Ubuntu 18.04
Процесс установки прост. Качаем дистрибутив Ubuntu Server 18.04 с официального сайта. Рекомендую качать со старым установщиком, так как новый, лично у меня, ушел в бесконечную загрузку во время установки. Записываем образ на флешку/диск любым удобным способом. Для записи на флешку рекомендую использовать Rufus и в начале записи выбрать «Запись DD-образа». Далее, следуя информации на экране, устанавливаем систему. Остановимся только на выборе компонентов, где можно выбрать сразу OpenSSH и всё. Нам много не нужно, а что нужно, установим сами.Итак, Ubuntu установлена. Сеть, если у вас DHCP, уже настроена. Войдем в режим суперпользователя, чтобы каждый раз не добавлять sudo к командам.sudo -s
apt-get update
apt-get upgrade
apt-get install nano mc
Настройка статического IP-адреса
В отличии от предыдущих версий Ubuntu, в новой 18.04 сеть настраивается уже не в привычном всем нам /etc/network/interfaces , а через netplan в файле /etc/netplan/*.yaml . Файл может называться по разному, но он там один. Сам же /etc/network/interfaces пишет нам следующее:
Также, если вы захотите обновиться с версии старше до 18.04, настройки сети останутся там, где и были. Netplan актуален только для чистой установки 18.04.
Приступим, все-таки, к настройке сети.
Для начала посмотрим название сетевого интерфейса, присвоенное ОС, и запомним его.
ifconfig
nano /etc/netplan/*.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
название сетевого интерфейса:
dhcp4: no
dhcp6: no
addresses:
gateway4: шлюз
nameservers:
addresses:
Здесь необходимо обратить внимание на пробелы (именно пробелы, а не табуляция). Каждый, своего рода, пункт отделяется от предыдущего пробелом. К примеру, если после nameservers строку addresses не отделить пробелом, а выровнять со строкой выше, то, при попытке применения настроек, netplan выдаст ошибку.
Применим настройки.
netplan apply
Как сделать прокси-сервер на Ubuntu. Создание и настройка SOCKS5 прокси-сервера в Ubuntu
Для ускорения работы с некоторыми программами и парсерами, которые я использую, требуются прокси, сначала я арендовал их, но потом решил поднять свои SOKS5 прокси сервера на уже имеющихся серверах с сайтами.
На всех серверах стоит Ubuntu Server 14.04, может где-то и 12.04, но описание должно подойти и для всех остальных систем основанных на Debian.
Есть 2 известных мне способа организации работы SOKS5 сервера:
- SOCKS через SSH. Этот способ удобен своей простотой но неудобен при частом использовании, или использовании с разных машин;
- Установка SOCKS сервера. При использовании этого способа уйдет чуть больше времени на первоначальную настройку, но потом пользоваться прокси будет быстрее и удобнее.
SOCKS через SSH
Для того чтоб поднять SOCKS5 через SSH нужен только доступ к SSH сервера.
Вводим в терминале или SSH клиенте (PuTTY для Windows)
ssh -D 1080 user@server
Если запросит пароль, то нужно ввести пароль от SSH сервера.
-D – указывает порт по которому будет доступен SOKS5 сервер
Все, после этого вы можете подключиться к SOKS5 серверу по адресу localhost:1080 или 127.0.0.1:1080
Такой способ удобен тем что не нужно ничего дополнительно устанавливать и настраивать. Но перед каждым подключением или после разрыва ssh соединения, например из-за проблем с интернетом придется заново вводить эту команду.
Установка SOCKS сервера
Я знаю 2 SOCKS сервера 3proxy и Dante . У себя использовал Dante Server его настройку и опишу.
Установить Dante сервер можно с помощью apt-get, по умолчанию устанавливается старая версия (v.1.1). Ниже будут настройки для старой и новой (v.1.4) версий.
Установка новой версии Dante Server
sudo apt-get update sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:dajhorn/dante sudo apt-get update sudo apt-get install dante-server
После этих действий Dante Server будет установлен, но ругнется и не сможет запуститься, видимо дефолтные настройки имеют ошибку.
Далее нужно отредактировать файл настроек
sudo nano /etc/danted.conf
Приведя его к такому виду
logoutput: syslog /var/log/danted.log internal: eth0 port = 1080 external: eth0 socksmethod: username user.privileged: root user.unprivileged: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: connect log: error method: username }
Расшифровка конфига:
- указываем лог файл который будет находиться по адресу /var/log/danted.log;
- eth0 - сетевой интерфейс на котором висит внешний IP сервера, узнать его можно воспользовавшись командой ifconfig , либо можно просто указать свой внешний IP вместо названия интерфейса;
- socksmethod - метод авторизации. username - авторизация с указанием логина и пароля системных пользователей. Можно указать none если вы хотите не использовать авторизацию, но не советую оставлять открытым для порт для прокси т.к. сканеры прокси не дремлют, и у меня через открытый порт начали спам рассылать, после чего мне хостер отписал что у моего IP идет спам и надо что-то решать, можно использовать не дефолтный порт а какой-то другой, это позволит отсрочить нахождения вашего прокси сканерами;
- user.privileged - имя пользователя с расширенными правами;
- user.unprivileged - имя пользователя с обычными правами (как я понял dante работает от имени этих пользователей в зависимости от того какими правами нужно обладать для выполнения операции).
После сохранения настроек нужно перезагрузить Dante
sudo service danted restart
Все, теперь к SOKS5 прокси можно подключиться с любого устройства, указав IP сервера, порт – 1080, и данные для авторизации (имя и пароль пользователей которые зарегистрированы на сервере).
Я для доступа к прокси создал отдельного пользователя и указываю его данные. Создавал командой
sudo useradd -m soksuser && sudo passwd soksuser
Где soksuser – имя создаваемого пользователя.
Узнать подробнее о создании пользователей в Ubuntu .
Установка старой версии Dante Server
sudo apt-get update sudo apt-get install dante-server
Далее нужно отредактировать файл настроек
sudo nano /etc/danted.conf
Приведя его к такому виду
logoutput: syslog /var/log/danted.log internal: eth0 port = 1085 external: eth0 method: username user.privileged: root user.notprivileged: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error } pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: connect log: error method: username }
Дальше все так-же как и в новой версии о которой я писал выше.
Linux proxy server. How to Install & Configure Squid Linux Proxy Server
Linux proxy server or proxy server generally is a server that saves the visited web pages for later requests, so if you try to visit the same web page or anyone else, you’ll get the page from the proxy server.
This is very useful, it makes web surfing much faster and reduces traffic, which means less cost. Caching servers can decrease external traffic to 45%.
Another main advantage for proxy servers, you can configure the proxy with some settings for access control. For example, you can restrict access to specific websites.
If you surf the web before from an anonymous proxy, this is a proxy server. You can choose any of the available Linux proxy servers out there like Squid, Varnish, Polipo, TinyProxy, and more. In this post, we will discuss the most common Linux proxy server, which is Squid.
Install Squid
Installing squid proxy server is very simple. For Red Hat based distro, you can install it like this:
$ dnf -y install squid
Or if you are using Debian based distro, you can install it like this:
$ apt-get -y install squid
Now you can start squid service and enable it at startup:
$ systemctl start squid $ systemctl enable squid
To squid proxy server, you can check the configuration file in
/etc/squid/squid.conf
Before we dig into the configuration, let’s see the proxy server in action.
Just change the proxy setting on your browser to the IP address of the proxy and the port 3128 since this is the squid default port. You can change the default port by changing the http_port option in the configuration file.
As shown in the image, I’ve pointed my browser to my Linux proxy server, and I can browse the web without any problems.
If you are using the iptables firewall , don’t forget to open the squid server port.
Allow IP address range
If you open the configuration file /etc/squid/squid.conf , you will see the rules that allow IP addresses to connect to the proxy server like this:
acl localnet src 192.168.0.0/16
However, you can add a new ACL entry to allow a range of IP addresses to connect to your proxy server:
acl localnet src 212.80.113.0/16
Then save the file and restart squid service:
$ systemctl restart squid
Very easy, right?
Also, if you remove any ACL from the file, all IP addresses from that range will not be able to connect to the proxy server.