Существует несколько менеджеров сетевых интерфейсов и утилит для взаимодействия с ними. Наиболее распространенными являются ifupdown и netplan. Помните, что наличие одного исключает наличие другого.
ifupdown - стабильное, многофункциональное, хорошо документированное средство управления сетевой подсистемой. Наиболее долгоживущее из существующих. Конфигурации хранятся в файле /etc/network/interfaces. Поддерживается выполнение скриптов при запуске и остановке интерфейсов. Управляется с помощью утилиты ifconfig.
netplan — это относительно новая утилита для конфигурации сети. Настройки сетевых адаптеров хранятся в конфигурационных файлах, которые находятся в папке /etc/netplan/ и имеют расширение .yaml. Чувствительны к отступам в конфигурационном файле. Имеет в составе очень функциональную утилиту ip.
Примеры конфигов netplan
netplan apply
- применит новый конфиг.
netplan try
- применит новый конфиг на 150 секунд.
ifupdown | netplan | |
---|---|---|
Отобразить сетевые настройки | ifconfig |
ip a |
Назначить адрес | ifconfig eth0 192.168.0.10/24 |
ip addr add 192.168.0.10/24 dev eth0 |
Удалить адрес | ifconfig eth0 0 |
ip addr del 192.168.0.10/24 dev eth0 |
Отобразить таблицу маршрутизации | route -n |
ip route list |
Добавить маршрут | route add -net 10.24.32.0/24 gw 192.168.0.1 dev enp0s3 |
ip route add 10.24.32.0/24 via 192.168.0.1 dev enp0s3 |
Удалить маршрут | route del -net 192.168.10.0/24 |
ip route del 192.168.10.0/24 |
Показать открытые порты | netstat netstat -tulpan |
ss ss -tulpan |
В некоторых консольных дистрибутивах также присутствует утилита nmtui, представляющая псевдо-графический интерфейс для настройки сетевых адаптеров.
# /etc/network/interfaces
auto enp0s3
iface enp0s3 inet static
address 10.20.30.2/24
gateway 10.20.30.1
dns-nameservers 10.20.30.1
# /etc/netplan/50-cloud-init.yaml
network:
ethernets:
enp0s3:
addresses:
- 10.20.30.2/24
nameservers:
addresses:
- 10.20.30.1
search: []
routes:
- to: default
via: 10.20.30.1
version: 2
# /etc/network/interfaces
auto enp0s3
iface enp0s3 inet dhcp
# /etc/netplan/50-cloud-init.yaml
network:
ethernets:
enp0s3:
dhcp4: yes
version: 2