Подробный гайд: Переключение разрешённого сегмента сети (подсети) в Linux (xx.xx.x.x/xx)
Переключение разрешённого сегмента сети (подсети) в Linux — задача, которая может решаться на нескольких уровнях: от настройки маршрутизации до конфигурации межсетевого экрана. Выбор метода зависит от того, что именно требуется: направлять трафик в другую подсеть, разрешить доступ из неё или изолировать сетевые интерфейсы.
Добавление статического маршрута
Чтобы Linux «знал», как достичь конкретной подсети (например, 192.168.2.0/24), используется команда ip route add. Синтаксис предельно прост: указывается целевая сеть, шлюз (nexthop) и, при необходимости, интерфейс.
# Добавить маршрут к сети 192.168.2.0/24 через шлюз 10.0.0.1
sudo ip route add 192.168.2.0/24 via 10.0.0.1
# Указать также выходной интерфейс (например, eth0)
sudo ip route add 192.168.2.0/24 via 10.0.0.1 dev eth0
Проверить результат можно командой ip route show или ip route get 192.168.2.100 (для конкретного адреса).
Важно:
Маршруты, добавленные таким образом, действуют до перезагрузки.
Для постоянного сохранения необходимо использовать инструменты вашего дистрибутива:
- Netplan (Ubuntu/Debian): правка YAML-файла в
/etc/netplan/с последующимnetplan apply. - nmcli (RHEL/CentOS/Fedora):
nmcli connection modify "<имя>" +ipv4.routes "192.168.2.0/24 10.0.0.1". - systemd-networkd: создание секции
[Route]в.networkфайле.
Управление доступом через firewalld
Если под «разрешённым сегментом» вы подразумеваете доверенную подсеть, которой разрешены входящие подключения, это настраивается в firewalld.
Например, можно поместить целую подсеть в зону trusted:
# Разрешить весь трафик из подсети 192.168.0.0/16
sudo firewall-cmd --zone=trusted --add-source=192.168.0.0/16 --permanent
sudo firewall-cmd --reload
Этот метод часто применяется для приватных диапазонов 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16.
Смена IP-адреса интерфейса
Чтобы переключить сам хост в другой сегмент, можно временно изменить IP-адрес интерфейса.
Это выполняется командой ip addr add (и ip addr del для удаления старого):
# Назначить интерфейсу eth0 новый адрес в подсети 10.10.10.0/24
sudo ip addr add 10.10.10.5/24 dev eth0
sudo ip addr del 192.168.1.5/24 dev eth0
Для постоянного эффекта эти параметры также прописываются в конфигурационных файлах (Netplan, nmcli, ifcfg).
Продвинутые сценарии: VLAN и сетевые пространства имён
В более сложных случаях «переключение сегмента» может означать работу с изолированными средами:
- VLAN: если физический интерфейс (
eth0) подключён к транковому порту, можно создать виртуальные подынтерфейсы для разных VLAN-ID. Например,ip link add link eth0 name eth0.10 type vlan id 10создаст интерфейсeth0.10в изолированном сегменте VLAN 10. - Network Namespaces: позволяют создать полностью изолированный сетевой стек. Вы можете поместить в него отдельный интерфейс и настроить там свои маршруты и правила firewall, не влияя на основную систему.
Важно
Выбор метода зависит от вашей цели: ip route — для маршрутизации трафика в нужную подсеть, firewalld — для фильтрации доступа из сегмента, ip addr — для смены адреса хоста, а VLAN и network namespaces — для создания изолированных сетевых сред.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.