Лайфхаки

Маленькие, полезные хитрости

Как использовать Netplan для соединения через прокси

23.11.2024 в 14:58
Содержание
  1. Как использовать Netplan для соединения через прокси
  2. Связанные вопросы и ответы
  3. Что такое Netplan
  4. Как Netplan может использоваться для соединения с прокси-сервером
  5. Какие преимущества использования Netplan и прокси-сервера для соединения
  6. Как настроить Netplan для работы с прокси-сервером
  7. Какие типы прокси-серверов могут быть использованы с Netplan
  8. Как можно улучшить производительность сети с помощью Netplan и прокси-сервера
  9. Какие меры безопасности можно принять при использовании Netplan и прокси-сервера
  10. Как можно использовать Netplan и прокси-сервер для ограничения доступа к определенным сайтам
  11. Как можно настроить Netplan для автоматического обновления прокси-сервера
  12. Как можно настроить Netplan для работы с несколькими прокси-серверами

Как использовать Netplan для соединения через прокси

Начиная с Ubuntu 18.04 конфигурирование сети выполняется с помощью утилиты netplan. В других системах на базе deb, например, Debian, она может быть установлена командой:

apt install netplan

В данной статье рассмотрим принцип и примеры настройки сети с помощью netplan.

Конфигурационный файл

Файл для настройки сети находится в каталоге /etc/netplan/ . Имя файла может быть любым, на конце должно быть расширение yaml , например:

vi /etc/netplan/00-installer-config.yaml

YAML представляет из себя текстовый формат файла. Вложенные параметры должны иметь отступы табуляциями или пробелами, количество которых имеет важное значение (если поставить лишний пробел у одного из нескольких параметров, мы получим сообщение об ошибке «expected mapping»).

Простая настройка сети

Разберем пример настройки 3-х сетевых интерфейсов. Два из них будут с IP-адресами назначенными вручную (static IP), один — по DHCP.

Приводим файл к следующему виду:

network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: true
ens7:
dhcp4: false
addresses:
- 192.168.122.195/24
routes:
- to: default
via: 192.168.122.1
mtu: 1500
nameservers:
addresses:
- 8.8.8.8
- 77.88.8.8
search:
ens9:
dhcp4: false
addresses:
- 192.168.1.10/24
- 192.168.1.20/24
nameservers:
addresses:
- 8.8.8.8
- 77.88.8.8
search:

* где:

  • version — версия YAML. На момент обновления статьи, была 2.
  • renderer — менеджер сети (networkd или NetworkManager).
  • ethernets — настройка сетевых адаптеров ethernet.
  • ens3, ens7, ens9 — настройки для соответствующих сетевых адаптеров. В данном примере мы настраиваем 3 сетевых адаптера.
  • dhcp4 — будет ли получать сетевой адаптер IP-адрес автоматически. Возможны варианты yes/true — получать адрес автоматически; no/false — адрес должен быть назначен вручную.
  • addresses — задает IP-адреса через запятую.
  • routes — настройка маршрутов. Для шлюза по умолчанию используем опцию и значение to: default . Ранее использовалась директива gateway4 , но теперь она считается устаревшей (при применении настройки с ней система вернет предупреждение gateway4 has been deprecated, use default routes instead ). Также обратите внимание на вариант с 0.0.0.0 — в более ранних версиях системы вариат с default выдаст ошибку, и нужно использовать конфигурацию с четыремя нулями.
  • mtu — при желании, можно задать значение MTU.
  • nameservers — настройка серверов имен (DNS).
  • nameservers addresses — указываем серверы DNS. Обратите внимание на разный формат записи для ens7 и ens9. Приемлемы оба варианта.
  • nameservers search — дописывает окончание домена, если мы обращаемся к узлу сети только по его имени. Стоит обратить внимание, что мы можем указать несколько доменов через запятую.

Связанные вопросы и ответы:

Вопрос 1: Что такое Netplan и для чего он используется

Netplan – это инструмент для конфигурирования сетевых интерфейсов в Linux. Он позволяет легко настраивать сетевые интерфейсы и их параметры, такие как IP-адрес, маска подсети, шлюз и прокси-сервер.

Вопрос 2: Как можно настроить соединение через прокси-сервер с помощью Netplan

Чтобы настроить соединение через прокси-сервер с помощью Netplan, необходимо создать файл конфигурации сети, который будет содержать информацию о прокси-сервере и параметрах соединения. В этом файле можно указать IP-адрес и порт прокси-сервера, а также использовать различные методы аутентификации.

Вопрос 3: Какие методы аутентификации можно использовать при настройке соединения через прокси-сервер с помощью Netplan

При настройке соединения через прокси-сервер с помощью Netplan можно использовать различные методы аутентификации, такие как простой пароль, аутентификация с помощью Basic или Digest. Также можно использовать аутентификацию с помощью сертификата или токена.

Вопрос 4: Как можно указать IP-адрес и порт прокси-сервера при настройке соединения через прокси-сервер с помощью Netplan

Чтобы указать IP-адрес и порт прокси-сервера при настройке соединения через прокси-сервер с помощью Netplan, необходимо добавить параметр "proxy-address" и указать IP-адрес и порт прокси-сервера. Например, "proxy-address=192.168.1.100:3128" указывает на то, что прокси-сервер находится по адресу 192.168.1.100 и использует порт 3128.

Вопрос 5: Как можно указать метод аутентификации при настройке соединения через прокси-сервер с помощью Netplan

Чтобы указать метод аутентификации при настройке соединения через прокси-сервер с помощью Netplan, необходимо добавить параметр "proxy-auth" и указать метод аутентификации. Например, "proxy-auth=basic" указывает на то, что используется метод аутентификации Basic. Также можно указать пароль или использовать другие методы аутентификации.

Вопрос 6: Как можно настроить соединение через прокси-сервер с помощью Netplan на Ubuntu

Чтобы настроить соединение через прокси-сервер с помощью Netplan на Ubuntu, необходимо создать файл конфигурации сети, который будет содержать информацию о прокси-сервере и параметрах соединения. В этом файле можно указать IP-адрес и порт прокси-сервера, а также использовать различные методы аутентификации. Затем необходимо запустить команду "netplan apply" для применения настроек.

Вопрос 7: Какие проблемы могут возникнуть при настройке соединения через прокси-сервер с помощью Netplan

При настройке соединения через прокси-сервер с помощью Netplan могут возникнуть проблемы с аутентификацией, такие как неправильный пароль или неверный метод аутентификации. Также могут возникнуть проблемы с сетевым трафиком, такие как задержки или потери пакетов. Для решения этих проблем необходимо проверить настройки прокси-сервера и сети, а также проверить соединение с другими серверами и устройствами.

Что такое Netplan

поле0: поле1: значение поле2: - элемент1 - элемент2 - элемент3

Имя поля и его значение разделяется двоеточием. В качестве значения поля можно передавать не только текстовое или числовое значение, но и другое поле, несколько полей или список значений. При передаче списка каждый новый элемент списка должен начинаться с дефиса. Табуляции использовать нельзя. Отступы используются для указания структуры. Например, из примера видно, что поле1 и поле2 относятся к полю0 . Это всё, что касается общего синтаксиса, теперь про Netplan:

network: version: 2 renderer: программа_бэкенд вид_интерфейса: имя_интерфейса: параметр: значение

Первые две строчки конфигурации стандартны. Первая указывает, что мы будем иметь дело с сетью, а вторая указывает версию стандарта конфигурации, которая будет использоваться. Их лучше не трогать.

  • renderer - указывает программу, для которой будут преобразоваться ваши настройки. На данный момент поддерживаются только network-manager (знач. NetworkManager) и systemd-networkd (знач. networkd);
  • вид_интерфейса - вид сетевых интерфейсов, которые вы будете настраивать в этой секции. Они делятся на физические: ethernets (проводные), wifis (беспроводные) и виртуальные: vlans , bonds, bridges.
  • имя_интерфейса - имя сетевого интерфейса в системе, например enp3s0 или eth0;
  • параметры - настройки, с помощью которых указывается, как нужно подключаться к сети.

Параметры

Мы разобрались с основным синтаксисом, далее разберём команды, с помощью которых мы будем настраивать сеть:

  • renderer - программа для обработки конфигурации;
  • dhcp4 - получение IPv4 адреса по DHCP;
  • dhcp6 - получение IPv6 адреса по DHCP;
  • dhcp-identifier - если передать значение "mac", то будет использоваться MAC-адрес в качестве идентификатора DHCP;
  • addresses - добавляет статические адреса к интерфейсу, можно несколько;
  • gateway4 - указывает шлюз IPv4;
  • gateway6 - указывает шлюз IPv6;
  • nameservers - указывает DNS-серверы;
  • macaddress - устанавливает новый MAC-адрес;
  • routes - позволяет настроить маршруты таблицы маршрутизации;
  • routing-policy - дополнительная настройка маршрутов, для IP или подсети;
  • access-points - список точек доступа для Wi-Fi;
  • password - пароль для точки доступа Wi-Fi;
  • mode - режим работы сетевой карты Wi-Fi.

Как Netplan может использоваться для соединения с прокси-сервером

1. Устанавливаем ifconfig (из пакета net-tools)
apt-get install net-tools2. Устанавливаем Midnigth Commander
apt-get install mc3. У нас сейчас 2 интерфейса:
enp0s3 — внешний, смотрит в интернет
enp0s8 — внутренний, должен смотреть в локальную сеть
В других Debian-based дистрибутивах интерфейсы обычно называются eth0 и eth1.
ifconfig -a

Interfaces 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 из исходников

root@debian9:~# apt-get install build-essential libevent-dev libssl-dev -y

4.2. Создадим папку для скачивания архива с исходниками

root@debian9:~# mkdir -p /opt/proxy

4.3. Перейдем в эту папку

root@debian9:~# cd /opt/proxy

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. Приступим к сборке программы

root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux

Makelog make: Leaving directory ‘/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin’
make: Leaving directory ‘/opt/proxy/3proxy-0.8.12/src’

Ошибок нет, продолжаем.

4.9. Установим программу в систему

root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux install

4.10. Переходим в корневой каталог и проверяем, куда установилась программа

root@debian9:/opt/proxy/3proxy-0.8.12# cd ~/
root@debian9:~# whereis 3proxy
3proxy: /usr/local/bin/3proxy /usr/local/etc/3proxy

4.11. Создадим папку для конфигурационных файлов и логов в домашнем каталоге пользователя

root@debian9:~# mkdir -p /home/joke/proxy/logs

4.12. Переходим в каталог, где должен быть конфиг

4.13. Создаем пустой файл и копируем туда конфиг

root@debian9:/home/joke/proxy# cat > 3proxy.conf

3proxy.conf daemon
nserver 8.8.8.8
nscache 65536
users tester:CL:1234
timeouts 1 5 30 60 180 1800 16 60
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 3
auth strong
flush
allow tester
socks -p3128
proxy -p8080

Для сохранения нажимаем Ctrl + Z

4.14. Создадим pid — файл, чтобы не было ошибок при запуске.

Какие преимущества использования Netplan и прокси-сервера для соединения

Ubuntu, один из самых популярных дистрибутивов Linux, предлагает простое и эффективное решение для настройки сети — Netplan. Netplan является новым инструментом для настройки сети в Ubuntu начиная с версии 18.04. Он заменяет предыдущую систему настройки сети NetworkManager и становится более гибким и удобным инструментом.

Одним из преимуществ Netplan является возможность работы с несколькими интерфейсами одновременно. Это особенно полезно в случаях, когда вам необходимо настроить разные сети для разных целей, например, подключение к локальной сети и подключение к интернету. Netplan позволяет легко настроить каждый интерфейс отдельно и управлять ими независимо друг от друга.

Для начала работы с Netplan, вам необходимо создать файл конфигурации сети в директории /etc/netplan/. Этот файл должен иметь расширение .yaml и может иметь любое имя. В этом файле вы определяете настройки для каждого интерфейса сети, в том числе IP-адреса, маршруты и DNS-серверы. Вы можете добавить несколько блоков с настройками для каждого интерфейса.

Пример файла конфигурации Netplan:

network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: yes bridges: br0: dhcp4: no addresses: gateway4: 192.168.1.1 nameservers: addresses: wifis: wlan0: dhcp4: no addresses: gateway4: 10.0.0.1 nameservers: addresses:

В приведенном примере определены три интерфейса: eth0, br0 и wlan0. Interfaйс eth0 использует DHCP для получения IP-адреса, интерфейс br0 не использует DHCP и имеет статический IP-адрес 192.168.1.100/24 с шлюзом 192.168.1.1 и DNS-серверами 8.8.8.8 и 8.8.4.4, интерфейс wlan0 также не использует DHCP и имеет статический IP-адрес 10.0.0.100/24 с шлюзом 10.0.0.1 и DNS-серверами 8.8.8.8 и 8.8.4.4.

После создания файла конфигурации, примените его изменения с помощью команды «sudo netplan apply». Netplan загрузит конфигурацию и применит настройки к сетевым интерфейсам. После этого вы можете проверить настройки с помощью команды «ip addr show» или других утилит, таких как ifconfig или ipconfig, в зависимости от вашей версии Linux.

Настройка сети в Ubuntu с помощью Netplan

Netplan позволяет легко управлять сетевыми интерфейсами и их конфигурациями. Он работает на базе простых YAML-файлов, что делает его простым в использовании и понимании.

Давайте рассмотрим процесс настройки сетевой конфигурации с помощью Netplan на примере Ubuntu.

Шаг 1: Создание конфигурационного файла

Какие преимущества использования Netplan и прокси-сервера для соединения. Настройка сети в Ubuntu с помощью Netplan работа с несколькими интерфейсами

Первым шагом необходимо создать или редактировать конфигурационный файл Netplan. В Ubuntu файлы Netplan обычно располагаются в каталоге /etc/netplan/. Вы можете создать новый файл с расширением .yaml или редактировать существующий файл.

Пример имени файла: 01-netcfg.yaml

Шаг 2: Определение интерфейсов

Внутри файла Netplan необходимо определить интерфейсы, которые вы хотите настроить. Каждый интерфейс должен иметь уникальное имя, например eth0 или wlan0.

Пример:

Шаг 3: Применение изменений

После создания или редактирования файла конфигурации, необходимо применить изменения. Для этого выполните команду:

sudo netplan apply

Netplan применит новую конфигурацию и настоит сетевые интерфейсы на основе заданных параметров.

Помимо этого, Netplan позволяет настраивать другие параметры сети, такие как IP-адреса, шлюзы, DNS-серверы и т.д. Вы можете дополнительно узнать о допустимых настройках и формате файла конфигурации из документации Netplan.

В результате вы сможете настроить сеть в Ubuntu с помощью Netplan, что обеспечит эффективную работу в сети и упростит процесс управления сетевыми интерфейсами.

Обратите внимание: перед внесением изменений в сетевую конфигурацию, рекомендуется создать резервную копию конфигурационных файлов, чтобы иметь возможность восстановить предыдущую конфигурацию при необходимости.

Вопрос-ответ:

Как настроить сеть в Ubuntu с помощью Netplan?

Для настройки сети в Ubuntu с помощью Netplan необходимо отредактировать файл конфигурации в директории /etc/netplan/. В этом файле указываются параметры каждого интерфейса, такие как IP-адрес, маска подсети, шлюз и т. д. После внесения изменений необходимо применить их командой sudo netplan apply.

Какие преимущества использования Netplan и прокси-сервера для соединения. Настройка сети в Ubuntu с помощью Netplan работа с несколькими интерфейсами

Как настроить несколько интерфейсов в Ubuntu?

Для настройки нескольких интерфейсов в Ubuntu с помощью Netplan, необходимо отредактировать файл конфигурации в директории /etc/netplan/ и указать параметры для каждого интерфейса. Каждый интерфейс должен иметь свое имя и настройки IP-адреса, маски подсети и шлюза.

Как настроить Netplan для работы с прокси-сервером

Начиная с Ubuntu 17.10 способ настройки сети полностью изменился. В более ранних версиях Ubuntu статический файл (/etc/network/interfaces) использовался для настройки сетевых интерфейсов. Canonical запустила новый инструмент под названием Netplan для управления настройками сети. Netplan — это утилита, которая использует YAML для настройки сети в системе Linux.

В этой статье мы узнаем:

  1. Как работает Netplan?
  2. Команды Netplan
  3. Как использовать Netplan для настройки: a) Один статический IP-адрес b) Несколько статических IP-адресов c) Несколько статических IP-адресов с несколькими шлюзами.

Предпосылки

  1. Система Ubuntu 20.04.
  2. Доступ к Sudo и знание сетей Ubuntu.

Как работает Netplan?

Netplan извлекает информацию о конфигурации сети из файла .yaml (формат YAML). Этот файл может находиться в следующих каталогах netplan:

  1. /etc/netplan/
  2. /lib/netplan/
  3. /run/netplan/

На начальном этапе загрузки Netplan создает внутренние файлы конфигурации внутри каталога /run и передает управление устройствами одному из поддерживаемых сетевых сервисов/демонов: NetworkManger или Systemd-networkd.

Команды Netplan

В сочетании с Netplan используются три команды:

  • netplan generate:  Это сгенерирует конфигурацию для рендереров или серверных частей, используя файл /etc/netplan.
  • netplan apply:  используется для применения всех конфигураций средств визуализации.
  • netplan try:  примените конфигурацию, затем дождитесь подтверждения пользователем.

Начало работы с Netplan

Базовая конфигурация Netplan может быть записана как:

# Текст, за которым следует '#', является комментарием. # мы использовали NetworkManager в качестве средства визуализации, например network: version: 2 renderer: NetworkManager

Netplan считывает приведенную выше конфигурацию при загрузке системы и создает файл как  ‘/run/NetworkManager/conf.d/10-globally-managed-devices.conf’ . Система будет проинформирована о том, что все задачи по настройке сети и управлению устройствами будут выполняться NetworkManger. В настоящее время существует два бэкенда: NetworkManager и systemd-networkd. Одновременно может поддерживаться только один. Средство визуализации по умолчанию — «systemd-networkd».

Настройка статического IP-адреса с помощью Netplan

Файл конфигурации для Netplan (.yaml) хранится в каталоге  ‘/etc/netplan’ . В нашем случае в этой директории нет файла конфигурации, и интерфейсу ‘enp0s3’ не назначен IP.

Давайте приступим к назначению статического IP-адреса этому интерфейсу. Прежде чем мы углубимся в этот урок, вы должны прочитать следующее важное примечание:

ВАЖНОЕ ПРИМЕЧАНИЕ.  Сначала вы должны проверить, работают ли приведенные ниже конфигурации, выполнив команду:

$ netplan try

Таким образом, мы можем откатить наши изменения в файле конфигурации после определенного тайм-аута. Следующий экран появится для подтверждения, хотите ли вы сохранить изменения или вернуться к конфигурации.

Какие типы прокси-серверов могут быть использованы с Netplan

Утилита netplan служит для конфигурации сети. Она преобразует файл конфигурации формата YAML (структуированный текстовый файл) в настройки для сетевой службы SystemD, сервиса systemd-networkd.
Netplan был представлен в Ubuntu 18.04 "Bionic Beaver" в 2017 году, затем он постепенно вошёл в обиход: присутствует в ОС 20.04 "Focal Fossa". В Ubuntu 22.04 "Jammy Jallyfish" и Linux Mint 21.2 "Victoria" компонент netplan включен по умолчанию. Мало того,файл /etc/network/interfaces отсутствует, если Вы не повышали версию методом sudo do-release-upgrade (из пакетаupdate-manager-core) или sudo mintupgrade (из одноименного пакета).

Конфигурация Netplan может быть не всегда использоваться на настольных операционных системах, но всегда применяется на серверных вариантах ОС Ubuntu начиная с 22.04. Дело в том, что отключение netplan требует вмешательства в параметры ядра (в Интернете есть информация о способах отключении netplan).

На настольных ПК по умолчанию netplan передает управление сетью NetworkManager (см. ниже — "Конфигурация natplan по умолчанию").

Чтобы netplan заработал, нужна версия ОС 18.04 и выше. В версиях 18.04 и 20.04 для работы с конфигурацией отличной от штатной нужно принудительно запустить сетевую службу systemd-networkd. (В 22.04 она запускается после установки по умолчанию).

sudo systemctl start systemd-networkd sudo systemctl enable systemd-networkd

Запуск службы systemd-networkd для работы netplan обязателен для работы с конфигурациями динамического распределения DHCP и статических IP-адресов, и иных вариантов, описанных в *config.yaml .

Как можно улучшить производительность сети с помощью Netplan и прокси-сервера

Анонимность и безопасность

  • Маскировка IP-адресов: Прокси скрывают IP-адреса клиентов, затрудняя отслеживание интернет-активности пользователя третьими организациям. Это необходимо для защиты конфиденциальности пользователей и повышения безопасности сети .
  • Зашифрованные соединения: Некоторые прокси-серверы, особенно те, которые настроены на SSL или TLS соединения, могут защищать соединения. Они шифруют данные между клиентом и прокси-сервером, добавляя лополнительный уровень безопасности к проходящим данным.
  • Смягчение последствий DDoS-атак: Посредники скрывают реальные IP-адреса внутренних серверов, выступая в роли щита. Они поглощают или по менейшей мере обнаруживают DDoS-атаки, не давая вывести сервер из строя.

Кэш-контент

  • Сокращение использования полосы пропускания: Кэширующие прокси-серверы хранят копии часто запрашиваемых источников, таких как веб-страницы, изображения и файлы. Это снижает необходимость повторных запросов к исходному серверу, экономит полосу пропускания и сокращает расходы.
  • Улучшение качества работы пользователей: Прокси-серверы могут значительно сократить время загрузки веб-сайтов и приложений, предоставляя кэшированное содержимое непосредственно пользователям. В конечном итоге это влияет на то, насколько гладким будет пользовательский опыт.
  • Распределение нагрузки: Кэширование контента помогает более равномерно распределить нагрузку по сети, не позволяя нагружать какой-то один сервер.

Какие меры безопасности можно принять при использовании Netplan и прокси-сервера

Все конфигурационные файлы Netplan находятся в папке /etc/netplan/. Во время запуска службы, она преобразовывает свою конфигурацию в конфигурацию той службы, которая будет управлять сетью и помещает её в каталог /run/. По умолчанию в Ubuntu есть только один конфигурационный файл со следующим содержимым:

Это означает, что управление всей сетью передаётся утилите NetworkManager. Чтобы разобраться, что это означает, давайте рассмотрим синтаксис конфигурационного файла.

1. Синтаксис конфигурации Netplan

Новичкам синтаксис конфигурационного файла Netplan может показаться запутанным, но разобраться в нём вполне можно. Он чем-то напоминает JSON, но не имеет таких жёстких ограничений:

Имя поля и его значение разделяется двоеточием. В качестве значения поля можно передавать не только текстовое или числовое значение, но и другое поле, несколько полей или список значений. При передаче списка каждый новый элемент списка должен начинаться с дефиса. Табуляции использовать нельзя. Отступы используются для указания структуры. Например, из примера видно, что поле1 и поле2 относятся к полю0 . Это всё, что касается общего синтаксиса, теперь про Netplan:

Первые две строчки конфигурации стандартны. Первая указывает, что мы будем иметь дело с сетью, а вторая указывает версию стандарта конфигурации, которая будет использоваться. Их лучше не трогать.

  • renderer - указывает программу, для которой будут преобразоваться ваши настройки. На данный момент поддерживаются только network-manager и systemd-networkd;
  • вид_интерфейса - вид сетевых интерфейсов, которые вы будете настраивать в этой секции. Они делятся на физические: ethernets (проводные), wifis (беспроводные) и виртуальные: vlans , bonds, bridges.
  • имя_интерфейса - имя сетевого интерфейса в системе, например enp3s0 или eth0;
  • параметры - настройки, с помощью которых указывается, как нужно подключаться к сети.

2. Параметры Netplan

Мы разобрались с основным синтаксисом, далее разберём команды, с помощью которых мы будем настраивать сеть:

  • renderer - программа для обработки конфигурации;
  • dhcp4 - получение IPv4 адреса по DHCP;
  • dhcp6 - получение IPv6 адреса по DHCP;
  • dhcp-identifier - если передать значение "mac", то будет использоваться MAC-адрес в качестве идентификатора DHCP;
  • addresses - добавляет статические адреса к интерфейсу, можно несколько;
  • gateway4 - указывает шлюз IPv4;
  • gateway6 - указывает шлюз IPv6;
  • nameservers - указывает DNS-серверы;
  • macaddress - устанавливает новый MAC-адрес;
  • routes - позволяет настроить маршруты таблицы маршрутизации;
  • routing-policy - дополнительная настройка маршрутов, для IP или подсети;
  • access-points - список точек доступа для Wi-Fi;
  • password - пароль для точки доступа Wi-Fi;
  • mode - режим работы сетевой карты Wi-Fi.

3. Команды Netplan

Синтаксис самой команды netplan очень прост:

netplan опции команда

В качестве команды можно передать одну из команд:

  • try - попробовать применить конфигурацию с возможностью отмены;
  • apply - применить конфигурацию;
  • generate - проверка текущей конфигурации и запись на диск;
  • config - записать текущую конфигурацию сети в YAML.

Как можно использовать Netplan и прокси-сервер для ограничения доступа к определенным сайтам

SurfAnalyzer ( surfanalyzer.ru ) — специализированное решение, позволяющее блокировать доступ к ресурсам, которые отвлекают от работы или несут потенциальную опасность. Программа, являясь посредником между интернетом и пользователем, пропускает через себя весь трафик, поэтому с ее помощью очень просто контролировать закачку файлов с определенными расширениями (.exe, .com, .zip и т.д.), вложения в электронной почте, фильтровать IM-сообщения, блокировать некоторые типы сайтов. Вся информация о посещенных ресурсах сохраняется, и, просмотрев логи, мы легко узнаем, чем занимался пользователь в рабочее время. В случае появления внештатных ситуаций администратор оповещается посредством e-mail или ICQ. SurfAnalyzer состоит из трех компонентов, которые, как правило, разворачиваются на нескольких системах:

  • сервер (Server) обеспечивает основной функционал, содержит веб-модуль (доступ в интернет, сбор статистики, контроль загрузки файлов, работа в IM), почтовый сервер (контроль исходящих и входящих писем), СУБД Firebird для хранения собранных данных; все это связывается при помощи модуля оповещения и настройки;
  • рабочее место специалиста безопасности (View) отслеживает нарушения политики безопасности и доступ к архивам e-mail, ICQ и посещенных веб-сайтов;
  • рабочее место администратора системы (Admin) позволяет настроить политики безопасности, доступ пользователей и систему контроля.

Для непосредственной организации доступа пользователей в интернет и учета трафика в паре с SurfAnalyzer должен использоваться прокси-сервер стороннего разработчика (UserGаte, WinGate и т.п.) В настройках прокси-сервера оставляется лишь одна учетная запись — SurfAnalyzer, которая будет иметь полные права. Все остальные пользователи будут подключаться к интернету через сервер SurfAnalyzer.

Для установки SurfAnalyzer потребуется компьютер, работающий под управлением Win2k/XP/2k3. Минимальные системные требования заявлены следующие: CPU 1.7 ГГц, 256 Мб RAM и 200 Мб HDD. Установка компонентов стандартна; все необходимое, в частности Firebird, уже идет в комплекте. По окончании установки сервера запустится небольшое окно управления ServiceManager. Далее вызываем окно консоли SurfAnalyzer Admin, регистрируемся как Admin с пустым паролем.

Если сервер установлен на другой системе, указываем его IP. Основное окно админки разделено на четыре вкладки. На вкладке «Основные» указываются настройки прокси-сервера, порт (Web+ICQ), на котором SurfAnalyzer будет ждать клиентские подключения (по умолчанию 3128), порты POP3 и SMTP, частота анализа текста и прочее. Собственно, в этой вкладке необходимо лишь настроить параметры доступа к прокси-серверу. Соответственно компьютеры пользователей, веб-браузеры, программы для работы с почтой и т.д. должны быть перенастроены на IP-адрес сервера SurfAnalyzer.

Вкладка «Контроль» позволяет добавить учетные данные админов и распределить между ними обязанности по настройке. Обслуживаемые почтовые ящики и e-mail-серверы, с которыми будет работать SurfAnalyzer, прописываются во вкладке Почта. Здесь же устанавливается соответствие учетной записи почты определенному компьютеру, действия для вложений и подозрительного содержимого.

Учетные записи пользователей, которые будут выходить в интернет, создаются во вкладке «Web + ICQ + Mail Agent». В SurfAnalyzer поддерживаются типы авторизации «только по IP», «только по МАС» и «IP+МАС». Программа сканирует доступные сети и выводит список найденных компьютеров, включая имя, IP- и МАС-адреса. После того, как учетная запись добавлена, в правой вкладке редактируются параметры доступа. Возможны два подхода: разрешить только выбранное или запретить выбранное. Так, типы файлов отмечаются во вкладке «MIME-настройки».

Отбираем нужное и указываем действие при помощи выпадающего списка «Правило». Правила хорошо прокомментированы, поэтому сориентироваться в них просто. При необходимости легко добавить новые MIME-типы/расширения для своих рулесетов. Все расширения, неизвестные SurfAnalyzer, автоматически попадают в одноименную категорию. Также можно определить список стоп-слов и запрещенных URL, которые будут контролироваться SurfAnalyzer. Все настройки выполняются в одной вкладке, по одной в строке: просто пишем строку, совпадение с которой будет проверяться. Например, для «Одноклассников» — odnoklassniki. Вот и весь шаблон, никаких подстановок не предусмотрено. Также нет возможности блокировок по IP.

SurfAnalyzer позволяет выполнять проверку в трафике определенных слов, которые задаются во вкладке «ICQ + Mail Agent». Все сообщения, содержащие запрещенные URL или слова, помечаются определенным образом в консоли View. Консоль специалиста безопасности, по сути, является средством получения различного рода отчетов по пользователям, событиям и датам. А имея на руках такую статистику, очень просто наказать сотрудника рублем :).

Как можно настроить Netplan для автоматического обновления прокси-сервера

Сегодня поговорим о том, как настроить статический IP-адрес в Ubuntu. Netplan — это новая утилита сетевых настроек с помощью командной строки, установленный  начиная с Ubuntu 17.10 для легкого управления и сетевых настроек в системах Ubuntu . Она позволяет настроить сетевой интерфейс с использованием абстракции YAML . Он работает совместно с сетевыми демонами NetworkManager и systemd-networkd (называемыми рендерерами, вы можете выбрать, какой из них использовать) в качестве интерфейсов к ядру.

Он считывает сетевую конфигурацию, описанную в файле /etc/netplan/*.yaml . Вы можете хранить конфигурации для всех своих сетевых интерфейсов в этих файлах.

В этой статье мы объясним, как настроить сетевой статический или динамический IP -адрес для сетевого интерфейса в Ubuntu с использованием утилиты Netplan .

Вывод списка всех активных сетевых интерфейсов на Ubuntu

Во-первых, вам нужно определить сетевой интерфейс, который вы собираетесь настроить. Вы можете перечислить все подключенные сетевые интерфейсы в вашей системе, используя команду ifconfig , как показано ниже:

Из вывода приведенной выше команды у нас есть 2 интерфейса, подключенных к системе Ubuntu : 1 интерфейс Ethernet и интерфейс обратной связи loopback .

Установка статического IP-адреса в Ubuntu

В этом примере мы настроим статический IP-адрес для сетевого интерфейса enp0s3 ethernet . Откройте файл конфигурации netplan с помощью текстового редактора, как показано ниже.

Как можно настроить Netplan для автоматического обновления прокси-сервера. Как настроить статический IP-адрес в Ubuntu

Создаем стартовую конфигурацию с помощью этой команды.

Смотрим какие файлы появились в /etc/netplan/

В нашем случае там один файл 01-network-manager-all.yaml

Открываем его в текстовом редакторе

Где:

Как можно настроить Netplan для автоматического обновления прокси-сервера. Как настроить статический IP-адрес в Ubuntu

  • enp0s3  — имя сетевого интерфейса.
  • dhcp4 и dhcp6 — dhcp свойства интерфейса для IPv4 и IPv6 .
  • addresses  — последовательность статических адресов для интерфейса.
  • gateway4 — адрес IPv4 для шлюза по умолчанию.
  • nameserver — последовательность IP -адресов для сервера имен.

Конфигурация будет выглядеть примерно так:

Сохраните файл и выйдите. Затем примените последние сетевые изменения, используя следующую команду netplan .

Теперь еще раз проверьте все доступные сетевые интерфейсы, интерфейс ethernet enp0s3  теперь должен быть подключен к локальной сети и иметь IP -адреса, как показано на следующем скриншоте.

Установка динамического IP-адреса DHCP в Ubuntu

Чтобы настроить интерфейс ethernet enp0s3  для динамического получения IP -адреса через , просто используйте следующую конфигурацию.

Как можно настроить Netplan для работы с несколькими прокси-серверами

Для корректной работы нескольких сетевых интерфейсов с публичными IP адресами на Ubuntu 18.04 одновременно не достаточно просто прописать базовые параметры для них в Netplan. Ведь при этом все пакеты будут уходить с сервера через шлюз по умолчанию, а значит и доступности сервера по всем его IP адресам не будет. Это минус маршрутизации на основе адреса получателя. Здесь мы добавим необходимые настройки в Netplan для корректной работы нескольких сетевых интерфейсов в Ubuntu 18.04.

Отключение автонастройки Netplan

При созданииили добавлении к нему новых сетевых интерфейсов из панели управления происходит автоматическая настройка параметров подключений. Кроме того, во время перезагрузки системы файл конфигурации Netplan тоже перезаписывается актуальными параметрами. Поэтому любые его изменения, сделанный в ручном режиме, будут потеряны. Чтобы этого избежать, можно отключить данную функцию. Для начала убедитесь, что Вы добавили необходимое количество сетевых адаптеров к серверу, а затем создайте файл:nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfgСо следующим содержимым:network: {config: disabled}После сохранения файла функция автоматической настройки сетевых интерфейсов будет отключена.

Маршрутизация для несколько сетевых интерфейсов

Задача обеспечения доступности сервера через несколько сетевых подключений и IP адресов будет решена с использованием маршрутизации на основе политик, а именно на основе адреса отправителя. Таким образом, каждый пакет будет отправлен с сервера через тот же адрес, через который и попал на него. В первую очередь нужно создать таблицы маршрутизации для данной цели, а для этого нужен пакет iproute2 . Если он отсутствует в системе, необходимо его установить:

apt-get install iproute2

Теперь откройте файл:

nano /etc/iproute2/rt_tables

В его конец необходимо добавить столько таблиц, сколько сетевых интерфейсов настраивается. Одна таблица - это отдельная строка, состоящая из двух чисел, разделенных пробелом. Первое число - это приоритет , а второе - это имя таблицы . Например:

50 5051 5152 52

Таким образом, мы добавим 3 таблицы. Теперь пришло время добавить настройки маршрутизации в Netplan, откройте его конфиг по пути /etc/netplan/ с расширением .yaml (имя файла может отличаться в Вашей системе):

nano /etc/netplan/50-cloud-init.yaml

Netplan чувствителен к форматированию в файле конфигурации. Очень важно соблюсти правильное количество пробелов и не использовать табуляции, иначе результат не пройдёт проверку. Корректный пример приведен ниже. В нём показан блок настроек для одного интерфейса (enp0s5), такие же блоки Вы увидите в конфиге для каждого из подключений. В каждый из блоков надо добавить настройки routes и routing-policy , а остальные настройки оставить как есть. Расшифровка добавляемых значений:

  • to - IP подсети назначения любой - 0.0.0.0/0
  • via - IP шлюза текущего сетевого подключения
  • table - имя одной из добавленных в rt_tables таблиц. Должно совпадать в routes и routing-policy каждого подключения. Но для разных интерфейсов - разные таблицы.
  • from - IP адрес данного интерфейса
  • priority - можно не менять

network:version: 2ethernets:enp0s5:addresses:- 11.22.33.44/24gateway4: 11.22.33.1match:macaddress: 00:99:88:77:66:55mtu: 1500nameservers:addresses:- 8.8.8.8- 1.1.1.1- 8.8.4.4search: set-name: enp0s5routes:- to: 0.0.0.0/0via: 11.22.33.1table: 50routing-policy:- from: 11.22.33.44table: 50priority: 300

После завершения редактирования конфигурации, убедимся в ее корректности:

netplan generate

Если вывод пустой, значит всё сделано верно. Если же есть ошибки, Вы увидите нечто подобное:

/etc/netplan/50-cloud-init.yaml:24:1: Invalid YAML: tabs are not allowed for indent:- to: 0.0.0.0/0^

В данном примере обнаружены табуляции. После исправления ошибок и успешного прохождения проверки примените изменения:

netplan apply

Теперь сервер будет доступен по всем настроенным таким образом IP адресам.