- Настройка сети в Linux с помощью netplan
- Конфигурационный файл
- Простая настройка сети
- Применение настроек
- detailed how to or example needed to setup an access point using netplan
- 1 Answer 1
- Configure Ubuntu WiFi Adapter with Netplan
- 1. Gather Required Details
- 2. Compose the Netplan file
- 3. Apply the Netplan file
- 4. Verify
Настройка сети в Linux с помощью netplan
Обновлено: 16.02.2023 Опубликовано: 31.10.2019
Начиная с Ubuntu 18.04 конфигурирование сети выполняется с помощью утилиты netplan. В других системах на базе deb, например, Debian, она может быть установлена командой:
Конфигурационный файл
Файл для настройки сети находится в каталоге /etc/netplan/. Имя файла может быть любым, на конце должно быть расширение yaml, например:
* чаще всего, это файл 50-cloud-init.yaml или 01-netcfg.yaml. YAML представляет из себя текстовый формат файла. Вложенные параметры должны иметь отступы табуляциями или пробелами, количество которых имеет важное значение (если поставить лишний пробел у одного из нескольких параметров, мы получим сообщение об ошибке «expected mapping»).
Простая настройка сети
Разберем пример настройки 3-х сетевых интерфейсов. Два из них будут с IP-адресами назначенными вручную (static IP), один — по DHCP. Приводим файл к следующему виду:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: true
ens7:
dhcp4: no
addresses: [192.168.122.195/24]
routes:
#- to: 0.0.0.0/0
— to: default
via: 192.168.122.1
mtu: 1500
nameservers:
addresses: [8.8.8.8, 77.88.8.8]
search: [ dmosk.local ]
ens9:
dhcp4: no
addresses: [192.168.1.10/24, 192.168.1.20/24]
nameservers:
addresses:
— 8.8.8.8
— 77.88.8.8
search: [ dmosk.local, dmosk.ru ]
- version — версия YAML. На момент обновления статьи, была 2.
- renderer — менеджер сети (networkd или NetworkManager).
- ethernets — настройка сетевых адаптеров ethernet.
- ens3, ens7, ens9 — настройки для соответствующих сетевых адаптеров. В данном примере мы настраиваем 3 сетевых адаптера.
- dhcp4 — будет ли получать сетевой адаптер IP-адрес автоматически. Возможны варианты yes/true — получать адрес автоматически; no/false — адрес должен быть назначен вручную.
- addresses — задает IP-адреса через запятую.
- routes — настройка маршрутов. Для шлюза по умолчанию используем опцию и значение to: default. Ранее использовалась директива gateway4, но теперь она считается устаревшей (при применении настройки с ней система вернет предупреждение gateway4 has been deprecated, use default routes instead). Также обратите внимание на вариант с 0.0.0.0 — в более ранних версиях системы вариат с default выдаст ошибку, и нужно использовать конфигурацию с четыремя нулями.
- mtu — при желании, можно задать значение MTU.
- nameservers — настройка серверов имен (DNS).
- nameservers addresses — указываем серверы DNS. Обратите внимание на разный формат записи для ens7 и ens9. Приемлемы оба варианта.
- nameservers search — дописывает окончание домена, если мы обращаемся к узлу сети только по его имени. Стоит обратить внимание, что мы можем указать несколько доменов через запятую.
Применение настроек
Для применения настроек необходимо запустить команду netplan. Ее синтаксис:
Для проверки нашего конфигурационного файла вводим:
detailed how to or example needed to setup an access point using netplan
As I am far from being an expert, the more detailed the instructions, the better.
1 Answer 1
I got it to work with the help of these links: 1, 2, 3, 4
This is the sequence, which worked for me (WiFi in n-Mode, static IP):
- Install hostapd: apt-get update , apt-get install hostapd
- unmask & enable it: sudo systemctl unmask hostapd , sudo systemctl enable hostapd
- create /etc/hostapd/hostapd.conf and cut&paste:
# the interface used by the AP interface=wlan0 driver=nl80211 # "g" simply means 2.4GHz band hw_mode=g # the channel to use channel=1 # limit the frequencies used to those allowed in the country ieee80211d=1 # the country code country_code=DE # 802.11n support ieee80211n=1 # QoS support wmm_enabled=1 # the name of the AP ssid=yourSSID macaddr_acl=0 # 1=wpa, 2=wep, 3=both auth_algs=1 ignore_broadcast_ssid=0 # WPA2 only wpa=2 wpa_passphrase=yourpassphrase wpa_key_mgmt=WPA-PSK #wpa_pairwise=TKIP rsn_pairwise=CCMP
- Edit the file /etc/default/hostapd and modify the line of DAEMON_CONF like this: DAEMON_CONF=»/etc/hostapd/hostapd.conf»
(Testing to verify is AP is visible i.e. on phone: sudo service hostapd start ; then sudo service hostapd stop again to continue setup)
- cut&paste this into `/etc/netplan/network.yaml file (no tabs, just spaces, follow indentation exactly — yaml is picky. ):
network: version: 2 renderer: networkd ethernets: # My Ethernet adapter eth0: # For some reason it seems I must specify at least something here. dhcp4: no # My Wi-Fi adapter wlan0: dhcp4: no bridges: br0: interfaces: - eth0 - wlan0 # Using a static IP for this box. addresses: - 192.168.1.xxx/24 gateway4: 192.168.1.x nameservers: addresses: [1.1.1.1,1.0.0.1]
Configure Ubuntu WiFi Adapter with Netplan
👉 Here’s a short explanation of how to configure an Ubuntu machine to join a wireless network, with Netplan.
👉 This is for a wireless network with WPA2 Personal authentication (you need a password).
👉 My test machine is running Ubuntu desktop 21.04.
1. Gather Required Details
- Get the wireless network details.
This is WPA2 Personal, you’re going to need the usual details:- SSID
- Wireless network password
- Get your Ubuntu machine’s wireless adapter name.
You can use ip link or ip add for this.
joe@ub1:~$ ip add . 3: wlx18d6c7116805: mtu 1500 qdisc mq state UP group default qlen 1000
In this example, my adapter is wlx18d6c7116805 .
2. Compose the Netplan file
- Create a netplan yaml file in the /etc/netplan directory.
- In this example my file is called mynet1.yaml .
- Configure the wireless adapter details under wifis .
- The SSID for your wireless network (the name of the network) is configured under access-points .
- Record the wireless network password under the SSID.
- Make sure to configure any other networking adapters that you require as well, see my previous blog for examples of wired networks here.
network: ethernets: eno1: addresses: - 10.150.15.25/24 wifis: wlx18d6c7116805: dhcp4: yes dhcp6: yes access-points: "IDontLikeSand15": password: "Supersecure123" version: 2 renderer: NetworkManager
- The wired ethernet adapter eno1 is configured with a static IPv4 address.
- The wireless adapter wlx18d6c7116805 is configured for DHCPv4 and DHCPv6 address allocation.
- The SSID is IDontLikeSand15 with a password of Supersecure123 .
3. Apply the Netplan file
Run the command netplan apply .
4. Verify
- Use the command iwconfig to check the wireless adapter state.
- Use ip add to view all your network adapter.
$ iwconfig lo no wireless extensions. eno1 no wireless extensions. wlx18d6c7116805 IEEE 802.11bgn ESSID:"IDontLikeSand15" Nickname:"" Mode:Managed Frequency:2.412 GHz Access Point: 24:F2:7F:D1:89:81 Bit Rate:72.2 Mb/s Sensitivity:0/0 Retry:off RTS thr:off Fragment thr:off Power Management:off Link Quality=100/100 Signal level=100/100 Noise level=0/100 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 $ ip add 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 50:65:f3:2f:c9:a1 brd ff:ff:ff:ff:ff:ff altname enp0s25 inet 10.150.15.25/24 brd 10.150.15.255 scope global noprefixroute eno1 valid_lft forever preferred_lft forever inet6 2001:db8:15:0:5265:f3ff:fe2f:c9a1/64 scope global dynamic mngtmpaddr valid_lft 2591913sec preferred_lft 604713sec inet6 fe80::5265:f3ff:fe2f:c9a1/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlx18d6c7116805: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 18:d6:c7:11:68:05 brd ff:ff:ff:ff:ff:ff inet 192.168.15.74/24 brd 192.168.15.255 scope link noprefixroute wlx18d6c7116805 valid_lft forever preferred_lft forever inet6 2001:db8:15:0:a402:f49a:d7be:5049/64 scope global temporary dynamic valid_lft 599939sec preferred_lft 81131sec inet6 2001:db8:15:0:1ad6:c7ff:fe11:6805/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 2591914sec preferred_lft 604714sec inet6 fe80::1ad6:c7ff:fe11:6805/64 scope link noprefixroute valid_lft forever preferred_lft forever