Сетевое взаимодействие
Обзор
Сеть в Manjaro, как правило, работает из коробки без какого-либо специального вмешательства пользователя. В этой статье представлены некоторые специфические обстоятельства, с которыми могут столкнуться некоторые пользователи и даны советы по их преодолению.
Ручная настройка DNS-серверов
Обычно 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
Сохраните файл с таким содержимым
[main] rc-manager=resolvconf
Чтобы эффективно сделать обработку DNS ручной задачей, создайте файл с именем
/etc/NetworkManager/conf.d/99-dont-touch-my-dns.conf
Сохраните файл с таким содержимым
[main] dns=none
/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
Настройка статического IP-адреса
Использование графической утилиты
Большинство редакций Manjaro поставляются с каким-либо GUI-инструментом или апплетом для управления NetworkManager. Это самый простой способ установить статический IP. Просто зайдите в инструмент, который обычно находится в системном трее или меню, и введите необходимые параметры для вашей сети.
Использование systemd
Если вы не хотите использовать NetworkManager, следующий простой способ - настроить статический IP в 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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 </div> [Network] Address=192.168.1.101/24 Gateway=192.168.1.1 DNS=208.67.222.222 DNS=208.67.220.220
Остается только запустить и включить службу с помощью:
Использование dhcpcd вместо NetworkManager
NetworkManager является решением по умолчанию для работы в сети в большинстве редакций Manjaro. Если Вы предпочитаете использовать dhcpcd - он также поддерживается.
First, ensure NetworkManager is disabled and not running
Next, start and enable the dhcpcd service