Настройка сети при помощи утилит Calculate

Начиная с версии 2.2.17, в calculate-install добавилась возможность указывать настройки сети (ip-адрес, таблицу маршрутизации, dns, менеджер сети). Для этого используются параметры --ip, --route, --dns, --dhcp, --netconf.

При установке системы без указания этих параметров настройки берутся из текущих установок системы (текущий IP и маска, менеджер сети, таблица маршрутизации). Эти параметры будут отображены в информации перед установкой:

Сетевые сервисы
 * Менеджер сети: openrc
 * DNS: 192.168.1.2
...
Сетевые устройства
+------------+-----------------------+-------------------+----------------+
| Устройство | Название              | MAC адрес         | IP адрес       |
+------------+-----------------------+-------------------+----------------+
| eth0       | Realtek RTL8111/8168B | 00:24:1d:d1:41:83 | 192.168.1.3/24 |
+------------+-----------------------+-------------------+----------------+
Маршрутизация
+------------+----------------+-------------+-------------+
| Устройство | Сеть           | Шлюз        | Исходный IP |
+------------+----------------+-------------+-------------+
| eth0       | 192.168.1.0/24 |             | 192.168.1.3 |
| eth0       | default        | 192.168.1.1 |             |
+------------+----------------+-------------+-------------+

В зависимости от используемого менеджера сети (openrc или networkmanager), настройки будут производится в /etc/NetworkManager/system-connections или в /etc/conf.d/net (начиная с версии утилит 2.2.17 этот файл не переносится из текущей системы в новую, а пересоздается). При использовании openrc для настройки сети символические ссылки на net.ethX будут созданы автоматически.

Указание IP-адреса

Для установки ip-адреса с маской (маска указывается как CIDR) для определенного интерфейса используется параметра --ip (если интерфейс один, то его можно не указывать).

# установить дистрибутив, назначив для eth0 192.168.1.5 mask 255.255.255.0
cl-install --ip eth0:192.168.1.5/24
# или
cl-install --ip 192.168.1.5/24
# установить дистрибутив назначив eth0 - 192.168.1.10 mask 255.255.255.0, eth1 10.0.0.5 mask 255.0.0.0
cl-install --ip eth0:192.168.1.10/24 --ip eth1:10.0.0.5/8

Настройка маршрутизации

Для указания шлюза и таблицы маршрутизации используется параметр --route. Маршруты по умолчанию берутся из текущей таблицы маршрутизации и в ней замещаются указанные записи по сетям. Для удаления маршрута для определенной сети необходимо указать сеть, не указывая шлюз. Формат указания маршрута следующий: <СЕТЬ или DEFAULT>:<ШЛЮЗ или пусто>:<сетевой интерфейс>:<src ip>.

# указание шлюза по умолчанию 192.168.1.1
cl-install --ip 192.168.1.50 --route default:192.168.1.1
# указание, чтобы пакеты в сеть 10.0.50.0/24 отправлялись через маршрутизатор 192.168.1.5
cl-install --ip 192.168.1.50 --route default:192.168.1.1 --route 10.0.50.0/24:192.168.1.5
Для маршрутизатора, использующего ipsec-туннели, может еще пригодиться указывать, от какого ip-адреса отправлять пакеты в сеть, находящуюся на другом конце туннеля. Например, для шлюза, соединяющего по туннелю сеть 192.168.1.0/24 с сетью 192.168.2.0/24, необходимо прописать, чтобы пакеты в сеть 192.168.2.0/24 отправлялись с 192.168.1.5
cl-install --route 192.168.2.0/24::eth0:192.168.1.5

Указание DNS

Для указания DNS используется параметр --dns. Если его не указывать, он берется из текущего состояния системы. Если DNS серверов несколько, то они перечисляются через запятую.

cl-install --dns 192.168.1.1,8.8.8.8

Указание получение настроек сети по DHCP

Для указания настройки сетевого интерфейса по DHCP используется параметр --dhcp. В нем указывается, какой интерфейс будет настраиваться по DHCP.

# eth0, eth2 по DHCP eth1 - статика
cl-install --dhcp eth0 --ip eth1:192.168.1.1/24 --dhcp eth2

Указание менеджера сети

Выбор менеджера настройки сети осуществляется при помощи параметра --netconf:

# использовать openrc
cl-install --netconf openrc
# использовать networkmanager
cl-install --netconf networkmanager

Перенастройка сети в текущей системе

Перенастройка сети в текущей системе осуществляется с параметром --startup и установкой пустого значения переменной os_install_net_settings.

cl-setup-network --netconf openrc --ip 192.168.1.5 --hostname host.local --dns 192.168.1.1 --route default:192.168.1.1:eth0:192.168.1.5
После выполнения команды можно перезагрузиться - сеть будет настраиваться указанным способом.

Спасибо!