- Сетевое взаимодействие
- NetworkManager
- Использование resolvconf
- /etc/resolvconf.conf
- dhcpcd и resolv.conf.head/tail
- Использование графической утилиты
- Использование systemd
- Networking
- NetworkManager
- Use resolvconf
- /etc/resolvconf.conf
- dhcpcd and resolv.conf.head/tail
- Using a GUI Tool
- Using systemd
- Software Center
- networkmanager
- Package Details
Сетевое взаимодействие
Сеть в Manjaro, как правило, работает из коробки без какого-либо специального вмешательства пользователя. В этой статье представлены некоторые специфические обстоятельства, с которыми могут столкнуться некоторые пользователи и даны советы по их преодолению.
Обычно DNS-серверы предоставляются провайдером автоматически через DHCP. Однако иногда необходимо использовать DNS-серверы, отличные от предоставленных провайдером. В такой ситуации Вы можете обнаружить, что адреса ваших DNS или других нестандартных серверов имен сбрасываются при перезагрузке, поскольку /etc/resolv.conf может быть перезаписан NetworkManager или в процессе загрузки. Здесь мы рассмотрим некоторые методы сохранения ваших настроек.
NetworkManager
Если вы используете NetworkManager — это одно из решений проблемы. Каталог conf.d NetworkManager находится в /etc/NetworkManager/conf.d . Там Вы можете разместить фрагменты, управляющие работой NetworkManager. Файлы должны иметь имя с номером и описанием его назначения и всегда заканчиваться .conf . Файлы применяются в числовом порядке от низшего к высшему. Конфигурация в файле с большим номером отменяет то, что могло быть настроено в файле с меньшим номером.
Использование resolvconf
Чтобы скрипт resolvconf обрабатывал файл resolv.conf для NetworkManager. Создайте файл конфигурации в каталоге NetworkManager conf.d
/etc/NetworkManager/conf.d/20-rc-manager.conf
Сохраните файл с таким содержимым
Чтобы эффективно сделать обработку DNS ручной задачей, создайте файл с именем
/etc/NetworkManager/conf.d/99-dont-touch-my-dns.conf
Сохраните файл с таким содержимым
/etc/resolvconf.conf
Файл resolvconf.conf — это сценарий shell , используемый resolvconf, а это значит, что resolvconf.conf должен содержать правильные команды оболочки. Посмотрите его man page для получения более подробной информации и команд. Файл расположен по адресу /etc/resolvconf.conf и для его редактирования требуются права root. Для получения дополнительной информации о том, как редактировать файл конфигурации, принадлежащий root, пожалуйста, просмотрите эту_статью.
В качестве примера мы добавим серверы имен OpenDNS в верхнюю часть нашего файла resolvconf при каждом вызове. Мы можем добиться этого, добавив следующие строки в нижнюю часть файла resolvconf.conf.
# OpenDNS servers name_servers="208.67.222.222 208.67.220.220"
После внесения изменений просто обновите и примените настройки с помощью следующей команды
dhcpcd и resolv.conf.head/tail
Альтернативным решением, если вы используете dhcpd, является ввод наших настроек в файл /etc/resolv.conf.head . Если этот файл не существует — создайте его. Содержимое /etc/resolv.conf.head будет отправлено в начало /etc/resolv.conf во время процесса загрузки.
Следуя нашему предыдущему примеру: если мы хотим использовать серверы OpenDNS с помощью этого метода, то должны поместить в файл следующее:
# OpenDNS servers nameserver 208.67.222.222 nameserver 208.67.220.220
Использование графической утилиты
Большинство редакций Manjaro поставляются с каким-либо GUI-инструментом или апплетом для управления NetworkManager. Это самый простой способ установить статический IP. Просто зайдите в инструмент, который обычно находится в системном трее или меню, и введите необходимые параметры для вашей сети.
Использование systemd
Если вы не хотите использовать NetworkManager, следующий простой способ — настроить статический IP в systemd.
Во-первых, убедитесь, что у вас не запущен NetworkManager
Далее вам нужно будет найти имя сетевого устройства. Чтобы найти имя, используйте команду ip a , как показано здесь:
ip a 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: ens33: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:02:55:c4 brd ff:ff:ff:ff:ff:ff inet 172.16.197.200/24 brd 172.16.197.255 scope global dynamic noprefixroute ens33 valid_lft 1725sec preferred_lft 1725sec inet6 fe80::7116:2769:dac:6314/64 scope link noprefixroute valid_lft forever preferred_lft forever
lo — это устройство loopback, которое можно игнорировать для целей данной статьи. Устройство, которое нам здесь нужно, обозначено выше как ens33 . Это имя понадобится нам на следующем этапе.
Теперь создайте или отредактируйте файл для хранения сетевой конфигурации по адресу /etc/systemd/network/devicename.network . Используя пример выше, файл будет называться /etc/systemd/network/ens33.network . Этот файл нужно будет создать/отредактировать от имени root. Более подробную информацию о том, как это сделать, вы найдете в этой статье. Пример содержимого файла выглядит следующим образом:
[Match] Name=enp0s3 [Network] Address=192.168.1.101/24 Gateway=192.168.1.1 DNS=208.67.222.222 DNS=208.67.220.220
Остается только запустить и включить службу с помощью:
NetworkManager является решением по умолчанию для работы в сети в большинстве редакций Manjaro. Если Вы предпочитаете использовать dhcpcd — он также поддерживается.
Во-первых, убедитесь, что NetworkManager отключен и не запущен
Затем запустите и включите службу dhcpcd
Networking
Networking on Manjaro generally works out of the box without any special user intervention. This article presents some specialized circumstances which some users may encounter and provides advice on how to overcome them.
Usually, your DNS servers will be provided by your ISP automatically through DHCP. However, sometimes it nesecary to use different DNS servers than the ones provided by your ISP. In this situation you may find that your DNS or other non-standard nameserver addresses will get reset on reboot as /etc/resolv.conf can be overwritten by NetworkManager or during the boot process. Here we will look at some techniques to preserve your settings.
NetworkManager
If you are using NetworkManager, this is one solution to the problem. The NetworkManager’s config drop folder is placed in /etc/NetworkManager/conf.d . In this folder you can place snippets which controls how NetworkManager works. The files should be named with a number and a description of its purpose and always end with .conf . The files are then applied in numerical order from the lowest to the highest. A configuration in a file with a higher number will override what could have been configured in a lower numbered file.
Use resolvconf
To have the resolvconf script handle the resolv.conf file for NetworkManager. Create a configuration file in NetworkManager’s config drop folder
/etc/NetworkManager/conf.d/20-rc-manager.conf
Save the file with this content
To effectively make DNS handling a manual task create a file named
/etc/NetworkManager/conf.d/99-dont-touch-my-dns.conf
Save the file with this content
/etc/resolvconf.conf
The resolvconf.conf file is a shell script that is sourced by resolvconf, meaning that resolvconf.conf must contain valid shell commands. Take a look at its man page for more details and commands. The file is located at /etc/resolvconf.conf and will require root privelege to edit. For more information on how to edit a configuration file owned by root, please review this article.
As an example, we will prepend OpenDNS nameservers to the top of our resolvconf file whenever called. We can achieve this by adding the following lines to the bottom of resolvconf.conf.
# OpenDNS servers name_servers="208.67.222.222 208.67.220.220"
After making any changes simply update and apply your settings with the following command
dhcpcd and resolv.conf.head/tail
An alternative solution if you are using dhcpd is to input our settings to the /etc/resolv.conf.head file. If this file does not exist then create it. The contents of /etc/resolv.conf.head get sent to the top of /etc/resolv.conf during the boot process.
Following our previous example, if we want to use the OpenDNS servers with this method, we could place the following in the file:
# OpenDNS servers nameserver 208.67.222.222 nameserver 208.67.220.220
Using a GUI Tool
Most editions of Manjaro come with some type a GUI tool or applet to manage NetworkManager. This is the easiest way to set a static IP. Simply go into the tool, usually in the system tray or menu, and input the required parameters for your network.
Using systemd
If you don’t want to use NetworkManager the next easiest thing is to configure a static IP in systemd.
First, make sure you aren’t running NetworkManager
Next you will need to find the name of your network device. To locate the name, use the command ip a as seen here:
ip a 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: ens33: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:02:55:c4 brd ff:ff:ff:ff:ff:ff inet 172.16.197.200/24 brd 172.16.197.255 scope global dynamic noprefixroute ens33 valid_lft 1725sec preferred_lft 1725sec inet6 fe80::7116:2769:dac:6314/64 scope link noprefixroute valid_lft forever preferred_lft forever
lo is the loopback device which can be ignored for the purposes of this article. The device we need here is identified above as ens33 . We will need this name in the next step.
Now create or edit a file to hold the network configuration at /etc/systemd/network/devicename.network . Using the example above, the file would be called /etc/systemd/network/ens33.network . This file will need to be created/edited as root. For more information on how to do that please review this article. An example of the contents of the file would look like this:
[Match] Name=enp0s3 [Network] Address=192.168.1.101/24 Gateway=192.168.1.1 DNS=208.67.222.222 DNS=208.67.220.220
All that remains is to start and enable the service using:
NetworkManager is the default solution for networking on most Manjaro editions. If you would prefer to use dhcpcd, that is also supported.
First, ensure NetworkManager is disabled and not running
Next, start and enable the dhcpcd service
Software Center
networkmanager
Description Network connection manager and user applications
info add Licenses: GPL
Repository: extra
Compare Version: 1.42.6-1
Download Size: 3.6 MB
https://networkmanager.dev/
Installing:
pamac install networkmanager
Removing:
pamac remove networkmanager
Package Details
Build Date: Thursday April 20 16:20
Packager: Jan Alexander Steffens, ArchLinux
Package Source
Optional Dependencies:
bluez Bluetooth support
dhclient alternative DHCP client
dhcpcd alternative DHCP client
dnsmasq connection sharing
firewalld firewall support
iptables connection sharing
iwd wpa_supplicant alternative
modemmanager cellular network support
nftables connection sharing
openresolv alternative resolv.conf manager
pacrunner PAC proxy support
polkit let non-root users control networking
ppp dialup connection support