configurations/linux/network.md

110 lines
4.3 KiB
Markdown
Raw Normal View History

# Настройка сети
## Netplan
Настройка профиля [netplan](https://netplan.io/examples/) в файле `/etc/netplan/config.yaml`. В `Ubuntu` файл расположен `/etc/netplan/00-installer-config.yaml`
### Параметры `netplan`
- `renderer` - программа для обработки конфигурации (`networkd` или `NetworkManager`)
- `ethernets` - настройка сетевых адаптеров `ethernet`
- `wifis` - настройка беспроводных адаптеров
- `dhcp4` - получение IPv4 адреса по DHCP
- `dhcp6` - получение IPv6 адреса по DHCP
- `dhcp-identifier` - если передать значение "mac", то будет использоваться MAC-адрес в качестве идентификатора DHCP
- `addresses` - добавляет статические адреса к интерфейсу, можно несколько
- `gateway4` - указывает шлюз IPv4
- `gateway6` - указывает шлюз IPv6
- `nameservers` - указывает DNS-серверы
- `search` - дописывает окончание домена, если происходит обращание к узлу сети только по его имени
- `macaddress` - устанавливает новый MAC-адрес
- `routes` - позволяет настроить маршруты таблицы маршрутизации
- `to` - адрес/подсеть до которой необходим маршрут
- `via` - шлюз через которой будет доступна подсеть
- `on-link` - прописывать маршруты всегда при поднятии линка
- `routing-policy` - дополнительная настройка маршрутов, для IP или подсети
- `access-points` - список точек доступа для Wi-Fi
- `password` - пароль для точки доступа Wi-Fi
- `mode` - режим работы сетевой карты Wi-Fi
### Команды `netplan`
- `try` - попробовать применить конфигурацию с возможностью отмены
- `apply` - применить конфигурацию
- `generate` - проверка текущей конфигурации и запись на диск
- `config` - записать текущую конфигурацию сети в YAML
### Отладка `netplan`
- `--debug` - получение подробной информации при применении команд
Проверка конфигурационного файла на ошибки и создание файлов конфигурации для программы-обработчика:
```sh
sudo netplan --debug generate
```
Применение конфигурации:
```sh
sudo netplan --debug apply
```
### Перезагрузка сетевого интерфейса
Перезагрузка сетефого интерфейса в `Ubuntu`:
```sh
sudo systemctl restart systemd-networkd.service
```
В других дистрибутивах:
```sh
sudo systemctl restart networking
```
```sh
sudo /etc/init.d/networking restart
```
### Примеры `netplan`
Настройка сети, где `enp3s0`, `enp8s0` и `wlp3s0` - сетевые интерфейсы:
- `enp3s0` - динамическая адресация
- `enp8s0` - статическая адресация
- `wlp3s0` - беспроводное подключение
```sh
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: true
enp8s0:
addresses:
- 10.10.10.2/24
gateway4: 10.10.10.1
nameservers:
search: [mydomain, otherdomain]
addresses: [10.10.10.1, 1.1.1.1]
routes:
- to: default
via: 10.10.10.1
wifis:
wlp3s0:
dhcp4: no
dhcp6: no
addresses: [192.168.0.21/24]
nameservers:
addresses: [192.168.0.1, 8.8.8.8]
access-points:
"network_ssid_name":
password: "**********"
routes:
- to: default
via: 192.168.0.1
on-link: true
```