Управление сетью с помощью DHCPCD

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Network management using DHCPCD and the translation is 50% complete.
Outdated translations are marked like this.

Эта статья основана на теме из Gentoo Forums и повествует о том, как использовать dhcpcd в качестве менеджера сети.

Настройка

Убедитесь, что dhcpcd установлен. Затем добавьте его на уровень запуска default и запустите сервис:

root #rc-update add dhcpcd default
root #/etc/init.d/dhcpcd start

Эта инструкция по настройке сети отличается от инструкций в Gentoo Handbook. Достоинство этого метода состоит в том, что он автоматически переключается между проводным и беспроводным сетевым интерфейсом.

wpa_supplicant

wpa_supplicant can be used for authentication of wireless and wired network interfaces. Create the configuration file if it does not exist.

ФАЙЛ /etc/wpa_supplicant/wpa_supplicant.conf
# Allow users in the 'wheel' group to control wpa_supplicant
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

# Make this file writable for wpa_gui / wpa_cli
update_config=1

For authentication for the wired interface add the configuration file mentioned in Wpa_supplicant#Setup_wired_802.1X.

First follow the setup guide for dhcpcd.

Emerge wpa_supplicant (Version >=2.6-r2 is needed in order to get the CONFIG_MATCH_IFACE option added in April 2017):

root #emerge --ask net-wireless/wpa_supplicant

Using OpenRC

Complete its conf.d file with the -M option for the wireless network interface:

ФАЙЛ /etc/conf.d/wpa_supplicant
wpa_supplicant_args="-B -M -c/etc/wpa_supplicant/wpa_supplicant.conf"

In case authentication for the wired interface is needed, this configuration file should look like:

ФАЙЛ /etc/conf.d/wpa_supplicant
wpa_supplicant_args="-ieth0 -Dwired -c/etc/wpa_supplicant/wpa_supplicant_wired.conf -B -M -c/etc/wpa_supplicant/wpa_supplicant.conf"

With the configuration done, run it as a service:

root #rc-update add wpa_supplicant default
root #rc-service wpa_supplicant start

Using Systemd

Systemd allows a simpler per-device setup without needing to create the above conf.d files. As explained under wpa_supplicant item in the Native services section, a service symlink such as wpa_supplicant@wlan0.service looks for a separate configuration file to manage the device wlan0 in this case.

To configure a specific device this way, first copy or rename the /etc/wpa_supplicant/wpa_supplicant.conf file as /etc/wpa_supplicant/wpa_supplicant-DEVNAME.conf where DEVNAME should be the name of the device, such as wlan0.

Then, navigate to /etc/systemd/system/multi-user.target.wants and create the symlink:

root #ln -s /lib/systemd/system/wpa_supplicant@.service wpa_supplicant@DEVNAME.service

where DEVNAME is same device name as in the conf file above.

Важно
Note the @ signs on both arguments in the symlink step.

Test the system:

root #systemctl daemon-reload
root #systemctl start wpa_supplicant@DEVNAME
root #systemctl status wpa_supplicant@DEVNAME

Wireless using net-wireless/iwd

See the iwd article.

Тестирование

Остановите dhcpcd и wpa_supplicant, затем запустите dhcpcd с включенной отладкой и наблюдайте за подключением dhcpcd.

root #/etc/init.d/dhcpcd stop
root #killall wpa_supplicant
root #dhcpcd -dB
dhcpcd[23772]: version 6.4.5 starting
dhcpcd[23772]: udev: starting
dhcpcd[23772]: dev: loaded udev
...
...

Статический IP-адрес

В случае если карта сетевого интерфейса должна работать со статическим IP-адресом, введите это в графический пользовательский интерфейс, информация может быть также введена вручную в /etc/dhcpcd.conf как показано в Dhcpcd#Static_IP_addresses.

Переход с Gentoo net.* скриптов

Если вы переходите на dhcpcd с net.* скриптов Gentoo, очень важно удалить net.* скрипты из уровней запуска.

user $rc-config list | grep 'wpa_supplicant\|dhcpcd\|net.'
  net.wlp8s0                default
  dhcpcd                    default

Все, что начинается на net., не должно быть в уровнях запуска. В примере выше, net.wlp8s0 должен быть удален.

root #rc-update del net.wlp8s0
root #/etc/init.d/net.wlp8s0 stop

Когда сеть начала работать, можно полностью удалить старые net.* скрипты Gentoo. Чтобы сделать это, отключите USE-флаг netifrc, пересоберите OpenRC и затем удалите net-misc/netifrc:

root #echo 'sys-apps/openrc -netifrc' >> /etc/portage/package.use
root #emerge --ask --newuse --oneshot sys-apps/openrc
root #emerge --ask --depclean net-misc/netifrc

Также, старые конфигурационные файлы и симлинки должны быть удалены:

root #rm /etc/conf.d/net
root #rm /etc/init.d/net.*

Сервисы, зависимые от сети

Использование сервисов, зависимых от сети больше не поддерживается dhcpcd начиная с версии openrc-0.16.4.

= Графический пользовательский интерфейс

Графический пользовательский интерфейс dhcpcd называется net-misc/dhcpcd-ui.

Смотрите также

Внешние ресурсы