nmcli - Консольный инструмент от NetworkManager'а
Просмотр доступных интерфейсов:
nmcli
nmcli connection show
nmcli device show
Предположим, нам надо настроить все статически на нашем сетевом интерфейсе.
В NetworkManager'е мы обычно заполняем такие поля:
Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает):
nmcli connection modify enp0s3 connection.autoconnect yes ipv4.method manual ipv4.dns 192.168.1.100 ipv4.dns-search mydomen.dom ipv4.addresses 192.168.1.200/24 ipv4.gateway 192.168.1.1
где:
Далее надо перезапустить наш интерфейс:
nmcli connection down enp0s3 nmcli connection up enp0s3
Либо перезапускаем так:
nmcli device disconnect enp0s3 nmcli device connect enp0s3
Предположим, нам надо настроить все динамически, на нашем сетевом интерфейсе.
В NetworkManager'е мы обычно заполняем такие поля:
Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает):
nmcli connection modify enp0s3 ipv4.method auto ipv4.ignore-auto-dns no
Далее надо перезапустить наш интерфейс:
nmcli connection down enp0s3 nmcli connection up enp0s3
Либо перезапускаем так:
nmcli device disconnect enp0s3 nmcli device connect enp0s3
Предположим, нам надо настроить все динамически, кроме DNS, на нашем сетевом интерфейсе.
В NetworkManager'е мы обычно заполняем такие поля:
Чтобы все это проделать в консоли, вводим следующее (автодополнение по клавише Tab работает):
nmcli connection modify enp0s3 ipv4.ignore-auto-dns yes ipv4.dns 192.168.1.100
где:
Далее надо перезапустить наш интерфейс:
nmcli connection down enp0s3 nmcli connection up enp0s3
Либо перезапускаем так:
nmcli device disconnect enp0s3 nmcli device connect enp0s3
Как известно, на одном интерфесе можно "повесить" несколько VLAN'ов. Для примера, нам нужно сделать vlan 100.
nmcli connection add type vlan con-name vlan-enp0s3.100 ifname enp0s3.100 dev enp0s3 id 100 ip4 10.10.1.10/24
У нас получится, что мы завели vlan 100 на интерфейс enp0s3 с именем vlan-enp0s3.100
Проверить, с другого сервера/клиента в этом же влане можно командой ping:
ping -I enp0s3.100 10.10.1.10
Просмотр интервейсов:
nmcli connection
dc2 ~ # nmcli connection NAME UUID TYPE DEVICE enp0s3 8ceb1102-f61f-3fd1-9f6f-caaa08c51327 ethernet enp0s3 vlan-enp0s3.100 0633a9a9-4da3-4a40-a7d8-c22f263ba54b vlan enp0s3.100
либо:
ip -br a
dc2 ~ # ip -br a lo UNKNOWN 127.0.0.1/8 ::1/128 enp0s3 UP 192.168.1.100/24 fe80::a00:27ff:fe2e:1f96/64 enp0s3.100@enp0s3 UP 10.10.1.10/24 fe80::adbf:6483:4d41:aec9/64
Bonding - это технология, поддерживаемая ядром Linux и Red Hat Enterprise Linux, которая позволяет объединить два и более сетевых интерфейса в один логический интерфейс для избыточности или увеличения пропускной способности.
Просмотр двух физических интерфейсов:
nmcli
Создаём связанный интерфейс с именем bond0, определяем интерфейс как bond0, устанавливаем режим "Dynamic Link Aggregation" (Канал агреггации) и назначаем IP-адрес для связанного интерфейса.
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad ip4 192.168.122.5/24
Для teaming интерфейса создаем team1, определяем интерфейс как team1, устанавливаем режим "LACP (Dynamic Link Aggregation)" (Канал агреггации) и назначаем IP-адрес для связанного интерфейса.
nmcli connection add type team con-name team1 ifname team1 team.runner lacp ip4 192.168.122.6/24
Для каждого интерфейса bond, который хотим связать, используем команду nmcli con add type bond-slave.
Для каждого интерфейса team, который хотим связать, используем команду nmcli con add type team-slave.
Команда не содержит аргумента con-name, поэтому имя генерируется автоматически. Добавим интерфейсы eth0 и eth1 в качестве вспомогательных.
nmcli con add type bond-slave ifname eth0 master bond0 nmcli con add type bond-slave ifname eth1 master bond0
Для team интерфейса:
nmcli conn add type team-slave ifname eth0 master team1 nmcli conn add type team-slave ifname eth1 master team1
Команда nmcli con add type bond-slave автоматически создаёт необходимые файлы конфигурации интерфейса в директории /etc/sysconfig/network-scripts. Команда nmcli con add type team-slave автоматически создаёт необходимые файлы конфигурации интерфейса в директории /etc/sysconfig/network-scripts.
Активируем bonding. Сперва поднимаем вспомогательные интерфейсы (аналогично с teaming)
nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1
Затем поднимаем логический интерфейс bond0 (аналогично с teaming)
nmcli connection up bond0
Проверяем статус bonding-интерфейса (аналогично с teaming):
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth1 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth1 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:89:b8:cf Slave queue ID: 0 Slave Interface: eth0 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 52:54:00:20:46:42 Slave queue ID: 0
Для отключения IPv6 на bonding-интерфейсе используем команду:
nmcli connection modify bond0 ipv6.method ignore