что такое прозрачный прокси
Прозрачный прокси для HTTPS в Squid
Протокол HTTPS был разработан для обеспечения безопасного соединения между браузером пользователя и удаленным веб сервером. Для этого все данные проходящие через соединение шифруются таким образом что их может расшифровать только получатель с помощью специального ключа. Изначально в стандартном протоколе HTTP не было предусмотрено защиты информации и HTTPS был разработан для обеспечения безопасности пользователей на сайтах финансовых организаций, банков и государственных учреждений.
В наше время все больше и больше сайтов используют HTTPS для обеспечения конфиденциальности своих пользователей. Нет никаких сомнений в том что шифрование это хорошая вещь для безопасности, но оно также создает ряд проблем для контролируемых сетей, часто используемых в офисах. Основной проблемой есть то что кроме пользователя и сервера никто не может видеть и тем более фильтровать зашифрованные данные. Для решения этой проблемы можно использовать прозрачную фильтрацию HTTPS в Squid с помощью расширения ssl_bump.
Как это работает?
Когда пользователь пытается открыть сайт iptables перенаправляет запрос на наш прокси Squid. Обязательно чтобы трафик от пользователей проходил через машину с настроенным iptables и squid. Если используется протокол HTTPS, прокси сервер устанавливает шифрованное соединение с запрашиваемым сервером выдавая себя за браузер, а затем на основе собственного корневого сертификата подписывает новый SSL сертификат для запрашиваемого доменного имени и отправляет его браузеру пользователя выдавая себя за сервер. Таким образом устанавливается два шифрованных соединения и прокси получает полный доступ к проходимому трафику. Получается такая себе подмена сертификата HTTPS Squid.
Установка Squid и OpenSSL в Gentoo
Для работы с SSL сертификатами в системе должен быть установлен пакет openssl, если еще нет, установите:
Если вы работаете в Gentoo, то теперь squid нужно собрать с поддержкой SSL и динамической генерации сертификатов, а это соответственно опции: —enable-ssl и —enable-ssl-crtd, поэтому:
net-proxy/squid ssl-crtd ssl
Затем осталось установить Squid:
Установка Squid и OpenSSL в Ubuntu
Прежде чем будет выполнятся настройка HTTPS Squid, надо установить правильный прокси сервер и OpenSSL. Для Ubuntu и других дистрибутивов, основанных на Debian команда установки OpenSSL будет выглядеть вот так:
sudo apt install openssl
С Squid дела обстоят сложнее. Версия, которая есть в репозиториях не поддерживает работу с SSL. Поэтому придется собрать её вручную. Для этого сначала установите зависимости, необходимые для сборки:
sudo apt build-dep squid
Затем установите библиотеку для SSL:
sudo apt install libssl-dev
Создайте папку для сборки в домашней директории и перейдите в неё:
Скачайте в эту папку исходники Squid:
sudo apt source squid
В текущей папке появится ещё одна папка с исходниками, перейдите в неё.
Затем надо отредактировать файл debian/rules и добавить в него следующие флаги компиляции:
sudo vi debian/rules
—enable-ssl \
—enable-ssl-crtd \
—with-openssl
Эти опции надо вставить в переменную BUILD_CXX, она там одна такая. Затем останется только собрать и установить полученный пакет:
После установки вы можете убедится, что ваша версия Squid теперь поддерживает SSL выполнив:
Настройка Squid
Сначала создадим папку для хранения сертификатов, например в /etc/squid/ssl:
Теперь генерируем корневой сертификат собственного CA (Центра сертификации) на основе которого будут подписываться сертификаты для сайтов:
Генерируем корневой сертификат который затем нужно будет добавить в браузер:
Далее надо дать права на папку с сертификатами для Squid:
В файл конфигурации надо добавить такие настройки:
sudo vi /etc/squid/squid.conf
Дальше нужно пересоздать базу данных сертификатов:
Сервис Squid должен обязательно иметь права на директорию /var/lib/ssl_db. Следующим шагом включаем ip_forwarding для разрешения проходящего трафика через узел:
echo 1 >> /proc/sys/net/ipv4/ip_forward
Затем можно перезапускать Squid:
sudo systemctl restart squid
Прозрачный прокси Squid HTTPS настроен, осталось настроить редирект и браузер.
Настройка iptables
Перенаправляем весь проходящий через узел трафик с целевыми портами http и https на squid:
Если вы хотите тестировать прокси с локальным трафиком, то надо перенаправлять на Squid весь трафик, кроме трафика от Squid, это можно сделать такими правилами:
Настройка браузера
Затем нажмите кнопку Импортировать и выберите файл squid.der, находящейся в директории /etc/squid/ssl. Отметьте галочки, что следует доверять этому сертификату.
Фильтрация трафика
Теперь откройте какой-либо сайт. Если всё сделано верно, то сайт откроется, но сертификат будет не его, а ваш:
Прозрачный прокси для https заработает и в логе /var/log/squid/access.log вы увидите куда и зачем ходит пользователь:
Завершение
В этой статье мы разобрали как выполняется настройка HTTPS Squid 4. Как видите мы можем узнать какие страницы и изображения запрашивает пользователь, а этого более чем достаточно для нормального контроля трафика. Далее можно настраивать правила блокировки и фильтрации как это обычно делается для Squid.
Прозрачный прокси сервер
Прокси-сервер это очень удобная и крайне полезная вещь, которая может быть как никогда кстати в целом ряде случаев. Прокси-серверы могут быть разных видов, одним из самых популярных видов таких серверов, является прозрачный прокси сервер. Прозрачным прокси-сервером называется тот сервер, подключиться к которому есть возможность без использования специальных программ и дополнительных настроек веб-обозревателя. Достичь такого положения дел позволяет специальная настройка файерволла, результатом которой является перенаправление всего трафика с 80 порта, на порт, принадлежащий прокси-серверу.
Что такое прозрачный прокси-сервер?
Прозрачным прокси-сервером называется тот сервер, подключиться к которому есть возможность без использования специальных программ и дополнительных настроек веб-обозревателя. Достичь такого положения дел позволяет специальная настройка файерволла, результатом которой является перенаправление всего трафика с 80 порта, на порт, принадлежащий прокси-серверу.
Такая настройка имеет целый ряд особенностей и интересных эффектов, один из которых заключается в том, что пользователи такой системы даже не будут знать, что они заходят на тот или иной сайт через прокси-сервер, так как эта настройка позволяет полностью избавиться от надобности ручного конфигурирования веб-клиентов, что весьма практично и удобно. Именно этот эффект, во многом и определяет популярность, которой обладает в наше время прозрачный прокси сервер.
Как добиться работы прозрачного проксирования?
Для нормальной работы прозрачного проксирования, следует правильно настроить маршрутизатор. Как известно, большая часть современных компьютерных сетей использует маршрутизатор для соединения локальной сети и сети интернет. Суть настройки маршрутизатора в этом случае заключается в перенаправлении всего трафика, следующего на 80 порт, на squid прозрачный прокси сервер. Существуют случаи, особенно это касается небольших сетей, когда запустить прокси сервер можно даже на маршрутизаторе, что весьма удобно.
Также при настройке прозрачного прокси-сервера может очень сильно понадобиться IP таблицы файерволла, которые могут быть очень кстати в случае возникновения каких-либо проблем перенаправлении трафика.
Для чего нужен прозрачный прокси-сервер?
Как уже говорилось выше, прозрачный прокси-сервер обладает своими преимуществами, которые и делают его столь часто используемым. Главное преимущество такого вида проксирования заключается в том, что клиент, который будет использовать прозрачный прокси сервер не должен ничего настраивать, что очень удобно и комфортно для самого клиента. Всё что необходимо сделать это правильно организовать перенаправление трафика на маршрутизаторе, что должен сделать админ сети, после чего все участники этой сети смогут пользоваться всеми преимуществами, которыми обладает прокси-сервер. Что же касается преимуществ прокси-серверов и их возможностей, то можно выделить следующие из них:
Как можно убедиться, прокси-серверы и особенно прозрачные прокси-серверы обладают целым рядом преимуществ и сильных сторон, поэтому если вы желаете также их использовать, прозрачный прокси сервер squid может стать для вас очень хорошим выбором.
Комментарии
Добавлять комментарии могут только пользователи! Войти
ПРОКСИ БЛОГ
Что такое прокси? Как установить прокси на адроид? Чем отличается http от socks? Как соблюдать анонимность в интернете? На эти и многие другие вопросы, вы найдете ответы на страницах нашего блога. Помимо этого здесь же мы будем публиковать все связанное с работой сервиса и проводимых акциях. Следите за новостями!
Что такое прозрачный прокси
Прозрачный прокси не засекречивает действительные данные пользователя. Подключение к нему происходит без специального программного обеспечения и дополнительной корректировки параметров в веб-обозревателе. Серверы этого типа можно активировать путем настройки файрвола (firewall) — весь HTTP-трафик перенаправить с 80-го порта на тот порт, что принадлежит прокси-серверу. Подробней о том, что такое прозрачный прокси написано ниже.
Особенности прозрачных прокси
Одна из главных отличительных черт прозрачных прокси-серверов — отсутствие необходимости в постоянной ручной активации и настройке. Единожды введенные конфигурации позволят перенаправить все сетевые подключения через используемые прокси. Это удобно и практично, ведь экономит время. Пользователи подобной системы могут даже не знать о том, что в данный момент осуществляется соединение путем прозрачного проксирования.
Прозрачные прокси кэшируют данные, что экономит трафик и позволяет загружать веб-страницы быстрей. Зачастую скорость работы прозрачных прокси напорядок выше, чем у элитных или же анонимных серверов.
Найти прозрачные прокси-серверы можно в интернете бесплатно.
Где можно использовать прозрачный прокси
Для серьезной работы в сети, где нужна полная анонимность и конфиденциальность данных, этот вид серверов использовать не стоит. Подобные прокси обладают низким уровнем скрытности, так как не способны засекретить IP-адрес. Они отображают и действительные данные пользователя, и факт использования прокси-сервера.
Прозрачные прокси можно использовать, чтобы ограничить доступ сотрудников к определенным веб-ресурсам. Например, вы сможете заблокировать пользователям определенные социальные сети, видеохранилища, онлайн-игры и любые другие сайты.
Также прозрачные прокси могут пригодиться для онлайн-накрутки, скачивания контента с файлообменников и блокировки локальных файрволов.
Как работать через прозрачный прокси
Для запуска прозрачного проксирования необходима правильная настройка маршрутизатора. Его нужно настроить таким образом, чтобы весь сетевой трафик перенаправлялся с 80-го порта на используемый прозрачный прокси-сервер. После того, как администратор сети сменит конфигурации, остальные пользователи сети смогут работать через прозрачное проксирование без выполнения каких-либо дополнительных настроек на своих компьютерах.
Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси»
В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы.
Когда я начинал решать данную задачу то столкнулся с тем, что её реализация имеет одну существенную проблему — протокол HTTPS. В старые добрые времена особых проблем с прозрачным проксированием HTTP не возникало, но при проксировании HTTPS браузеры сообщают о вмешательстве в протокол и на этом счастье заканчивается.
В распространенных инструкциях к прокси-серверу Squid предлагают даже сгенерировать собственный сертификат и установить его клиентам, что полный бред как минимум нерационально и выглядит как MITM — атака. Я знаю, что Squid уже что-то подобное умеет делать, но речь в этой статье о проверенном и рабочем способе с использованием 3proxy от уважаемого 3APA3A.
Далее мы подробно рассмотрим процесс сборки 3proxy из исходников, его настройку, полное и выборочное проксирование с использованием NAT, распределение канала на несколько внешних прокси-серверов, а также использование роутера и статических маршрутов. В качестве ОС используем Debian 9 x64. Начинаем!
Установка 3proxy и запуск обычного прокси-сервера
enp0s3: flags=4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 broadcast 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX packets 6412 bytes 8676619 (8.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1726 bytes 289128 (282.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4098
mtu 1500
ether 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Интерфейс enp0s8 на данный момент не используется, мы его включим, когда захотим использовать конфигурацию Proxy NAT или NAT. Именно тогда логичным будет назначить ему статический ip.
4. Приступим к установке 3proxy
4.1 Установка базовых пакетов для компиляции 3proxy из исходников
4.2. Создадим папку для скачивания архива с исходниками
4.3. Перейдем в эту папку
4.4. Теперь загрузим последний пакет 3proxy. На момент написания статьи последней стабильной версией была 0.8.12 (18/04/2018) Скачаем её с официального сайта 3proxy
root@debian9:/opt/proxy# wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz
4.5. Распакуем скачанный архив
root@debian9:/opt/proxy# tar zxvf 0.8.12.tar.gz
4.6. Переходим в распакованный каталог для сборки программы
root@debian9:/opt/proxy# cd 3proxy-0.8.12
4.7. Далее нужно добавить строчку в файл заголовка, чтобы наш сервер был полностью анонимным (реально работает, всё проверено, ip клиентов скрываются)
root@debian9:/opt/proxy/3proxy-0.8.12# nano +29 src/proxy.h
#define ANONYMOUS 1
Нажимаем Ctrl+x и Enter, чтобы сохранить изменения.
4.8. Приступим к сборке программы
Ошибок нет, продолжаем.
4.9. Установим программу в систему
4.10. Переходим в корневой каталог и проверяем, куда установилась программа
# whereis 3proxy
3proxy: /usr/local/bin/3proxy /usr/local/etc/3proxy
4.11. Создадим папку для конфигурационных файлов и логов в домашнем каталоге пользователя
4.12. Переходим в каталог, где должен быть конфиг
4.13. Создаем пустой файл и копируем туда конфиг
root@debian9:/home/joke/proxy# cat > 3proxy.conf
Для сохранения нажимаем Ctrl + Z
4.14. Создадим pid — файл, чтобы не было ошибок при запуске.
root@debian9:/home/joke/proxy# cat > 3proxy.pid
Для сохранения нажимаем Ctrl + Z
4.15. Запускаем прокси сервер!
root@debian9:/home/joke/proxy# 3proxy /home/joke/proxy/3proxy.conf
4.16. Посмотрим, слушает ли сервер порты
Как и было написано в конфиге, веб-прокси слушает у нас порт 8080, Socks5-прокси — 3128.
4.17. Для автозапуска службы прокси после перезагрузки нужно добавить её в cron.
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxy.conf
Нажимаем Enter, так как cron должен видеть символ конца строки и сохраняем файл.
Должно быть сообщение о установке нового crontab-а.
crontab: installing new crontab
4.18. Перезагрузим систему и попробуем подключиться через браузер к прокси. Для проверки используем браузер Firefox (для веб-прокси) и дополнение FoxyProxy для socks5 с аутентификацией.
4.19. Проверив работу прокси после перезагрузки, можно посмотреть логи. На этом настройка прокси-сервера завершена.
Настройка и запуск конфигурации Transparent Proxy NAT
В данной конфигурации все устройства внутренней сети будут прозрачно работать в интернете через удаленный прокси-сервер. Абсолютно все tcp-соединения будут перенаправляться в один либо несколько (реально расширяет ширину канала, пример конфигурации №2!) прокси-серверов. Служба DNS будет использовать возможности 3proxy (dnspr). UDP наружу «ходить» не будет, так как мы пока не используем механизм forward (по-умолчанию отключен в ядре Linux).
1. Настало время включить интерфейс enp0s8
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet dhcp
# The secondary network interface
allow-hotplug enp0s8
iface enp0s8 inet static
address 192.168.201.254
netmask 255.255.255.0
Тут мы назначили интерфейсу enp0s8 статический адрес 192.168.201.254 и маску 255.255.255.0
Сохраняем конфиг Ctrl+X и перезагружаемся
2. Проверяем интерфейсы
enp0s3: flags=4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 broadcast 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 prefixlen 64 scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX packets 61 bytes 7873 (7.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 65 bytes 10917 (10.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163 mtu 1500
inet 192.168.201.254 netmask 255.255.255.0 broadcast 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 prefixlen 64 scopeid 0x20 ether 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 648 (648.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3. Всё получилось, теперь необходимо настроить 3proxy для прозрачного проксирования.
# cd /home/joke/proxy/
root@debian9:/home/joke/proxy# cat > 3proxytransp.conf
4. Теперь запускаем 3proxy с новым конфигом
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf
6. Посмотрим, что теперь слушает наш прокси
root@debian9:
7. Теперь прокси готов принимать любые TCP-соединения на порту 888, DNS на порту 53, чтобы потом их перенаправить в удаленный socks5 — прокси и DNS Гугл 8.8.8.8. Нам осталось настроить правила netfilter (iptables) и DHCP для выдачи адресов.
8. Установим пакет iptables-persistent и dhcpd
# apt-get install iptables-persistent isc-dhcp-server
9. Правим файл запуска dhcpd
root@debian9:
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# option definitions common to all supported networks…
option domain-name «example.org»;
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
# A slightly different configuration for an internal subnet.
subnet 192.168.201.0 netmask 255.255.255.0 <
range 192.168.201.10 192.168.201.250;
option domain-name-servers 192.168.201.254;
option routers 192.168.201.254;
option broadcast-address 192.168.201.255;
default-lease-time 600;
max-lease-time 7200;
>
12. Осталось перенаправить все tcp запросы на порт 888 и сохранить правило в iptables
13. Для расширения полосы канала можно использовать сразу несколько прокси-серверов. Общая сумма должна быть 1000. Новые соединения устанавливаются с вероятностью 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 к указанным прокси-серверам.
Примечание: если у нас web-прокси то вместо socks5 нужно писать connect, если socks4, то socks4 (socks4 НЕ ПОДДЕРЖИВАЕТ АВТОРИЗАЦИЮ ЛОГИН/ПАРОЛЬ!)
daemon
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
maxconn 500
timeouts 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
logformat «- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T»
rotate 3
flush
auth iponly
dnspr
allow *
parent 200 socks5 IP_АДРЕС_ВНЕШНЕГО_ПРОКСИ№1 3128 tester 1234
parent 200 socks5 IP_АДРЕС_ВНЕШНЕГО_ПРОКСИ№2 3128 tester 1234
parent 200 socks5 IP_АДРЕС_ВНЕШНЕГО_ПРОКСИ№3 3128 tester 1234
parent 200 socks5 IP_АДРЕС_ВНЕШНЕГО_ПРОКСИ№4 3128 tester 1234
parent 100 socks5 IP_АДРЕС_ВНЕШНЕГО_ПРОКСИ№5 3128 tester 1234
parent 100 socks5 IP_АДРЕС_ВНЕШНЕГО_ПРОКСИ№6 3128 tester 1234
Настройка и запуск конфигурации NAT + Transparent Proxy
В данной конфигурации мы будем использовать обычный механизм NAT с выборочным или полным прозрачным проксированием отдельных адресов или подсетей. Пользователи внутренней сети будут работать с определенными сервисами/подсетями даже не догадываясь, что они работают через прокси. Все https соединения работают прекрасно, никаких сертификатов генерировать/подменять не нужно.
Для начала определимся, какие подсети/сервисы мы хотим проксировать. Предположим, что внешние прокси-сервера находятся там, где работает такой сервис, как pandora.com. Теперь осталось определить его подсети/адреса.
# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) bytes of data.
2. Набираем в гугле BGP 208.85.40.20
Переходим на сайт bgp.he.net/net/208.85.40.0/24#_netinfo
Видно, что искомаю подсеть это AS40428 Pandora Media, Inc
Открываем префиксы v4
Вот и искомые подсети!
199.116.161.0/24
199.116.162.0/24
199.116.164.0/23
199.116.164.0/24
199.116.165.0/24
208.85.40.0/24
208.85.41.0/24
208.85.42.0/23
208.85.42.0/24
208.85.43.0/24
208.85.44.0/24
208.85.46.0/23
208.85.46.0/24
208.85.47.0/24
3. Для уменьшения количества подсетей нужно выполнить агрегацию. Переходим на сайт ip-calculator.ru/aggregate и копируем туда наш список. Как результат — 6 подсетей вместо 14-ти.
199.116.161.0/24
199.116.162.0/24
199.116.164.0/23
208.85.40.0/22
208.85.44.0/24
208.85.46.0/23
4. Очищаем правила iptables
Включаем механизм forward и NAT
# echo 1 > /proc/sys/net/ipv4/ip_forward
root@debian9:
Чтобы forward был включен постоянно после перезагрузки изменим файл
И раскомментируем строку
Ctrl+X для сохранения файла
5. Заворачиваем подсети pandora.com в прокси
6. Сохраним правила
Настройка и запуск конфигурации Transparent Proxy via router
В данной конфигурации прозрачный прокси-сервер может быть отдельным ПК или виртуальной машиной за домашним/корпоративным роутером. Достаточно прописать статические маршруты на роутере или устройствах и вся подсеть будет использовать прокси без необходимости каких-либо дополнительных настроек.
ВАЖНО! Необходимо, чтобы наш шлюз получал статический IP от роутера, либо был настроен на статику сам.
1. Настраиваем статический адрес шлюза (адаптер enp0s3)
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.23.2
netmask 255.255.255.0
gateway 192.168.23.254
# The secondary network interface
allow-hotplug enp0s8
iface enp0s8 inet static
address 192.168.201.254
netmask 255.255.255.0
2. Разрешаем устройствам из подсети 192.168.23.0/24 использовать проксирование