Базовая настройка, адресация и маршрутизация
Задаём имя устройству:
hostnamectl set-hostname ISP; exec bash
Включение IPv6:
Следует проверить значение CONFIG_IPV6 в etcnet.
Переменная может быть описана в
/etc/net/options.d/*, /etc/net/ifaces/default/*,
/etc/net/ifaces/*/options.
Поэтому необходимо перейти в конфигурационный файл "/etc/net/ifaces/default/options" и поменять значение "CONFIG_IPV6=no" на "CONFIG_IPV6=yes"
vim /etc/net/ifaces/default/options
или:
sed -i 's/CONFIG_IPV6=no/CONFIG_IPV6=yes/g' /etc/net/ifaces/default/options
Настройка адресации IPv4 и IPv6:
В качестве системы конфигурации сети используется etcnet
- подробнее о etcnet в Альт
Сетевые интерфейсы подключённые к ISP:
- ens33 - сеть Интернет;
- ens35 - сеть в сторону офиса HQ;
- ens36 - сеть в сторону офиса BRANCH;
- ens37 - сеть в сторону CLI;
Для каждого сетевого интерфейса необходимо создать директорию по пути /etc/net/ifaces/<NAME_INTERFACE>/options:
- где - <NAME_INTERFACE> имя сетевого интерфейса
mkdir /etc/net/ifaces/ens3{5..7}
Данная команда заменяет 3 отдельных команды по созданию директории
mkdir /etc/net/ifaces/ens35 mkdir /etc/net/ifaces/ens36 mkdir /etc/net/ifaces/ens37
Теперь необходимо описать файл options для каждого интерфейса в директории/etc/net/ifaces/<NAME_INTERFACE>
Пример для интерфейса ens33 - смотрит в настоящаю сеть Интернет и получает все необходимые параметры автоматически:
vim /etc/net/ifaces/ens33/options
где:
- TYPE - Эта опция определяет тип интерфейса;
- DISABLED - Если установить значение "yes", то интерфейс будет игнорироваться;
- NM_CONTROLLED - В сочитание с DISABLED=no получается чистый Etcnet;
- BOOTPROTO - Может быть любым из следующих: static, dhcp, ipv4ll. * "static": использует ipv4address/ipv6address;
Пример для интерфейса ens 35
vim /etc/net/ifaces/ens35/options
Поскольку данный файл должен быть идентичен для сетевых интерфейсов ens36 и ens37 - его можно скопировать в соответствующие директории:
cp /etc/net/ifaces/ens35/options /etc/net/ifaces/ens36/
cp /etc/net/ifaces/ens35/options /etc/net/ifaces/ens37/
Или можно простым bash-скриптом сразу записать все опции для всех сетевых интерфейсов:
for i in {5..7}; do cat <<EOF > /etc/net/ifaces/ens3$i/options TYPE=eth DISABLED=no NM_CONTROLLED=no BOOTPROTO=static CONFIG_IPV4=YES CONFIG_IPV6=YES EOF done
Теперь назначаем IPv4 и IPv6 -адреса на сетевые интерфейсы:
-
ens35
- сеть в сторону офиса HQ
echo 11.11.11.1/24 > /etc/net/ifaces/ens35/ipv4address
echo 2001:11::1/64 > /etc/net/ifaces/ens35/ipv6address
-
ens36
- сеть в сторону офиса BRANCH;
echo 22.22.22.1/24 > /etc/net/ifaces/ens36/ipv4address
echo 2001:22::1/64 > /etc/net/ifaces/ens36/ipv6address
- ens37 - сеть в сторону CLI;
echo 33.33.33.1/24 > /etc/net/ifaces/ens37/ipv4address
echo 2001:33::1/64 > /etc/net/ifaces/ens37/ipv6address
Таким образом, должна получиться следующая структура в директориях сетевых интерфейсов:
Включаем forwarding - маршрутизацию:
Включаем forwarding для IPv4 и IPv6 посредством редактирования файла по пути /etc/net/sysctl.conf
vim /etc/net/sysctl.conf
Для применения всех сетевых настроек перезагружаем службу "network"
systemctl restart network