Сетевое взаимодействие
Views
Actions
Namespaces
Variants
Tools
Обзор
Сеть в 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.
Во-первых, убедитесь, что у вас не запущен NetworkManager
Далее вам нужно будет найти имя сетевого устройства. Чтобы найти имя, используйте команду ip a, как показано здесь:
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 - это устройство 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
Остается только запустить и включить службу с помощью:
Использование dhcpcd вместо NetworkManager
NetworkManager является решением по умолчанию для работы в сети в большинстве редакций Manjaro. Если Вы предпочитаете использовать dhcpcd - он также поддерживается.
First, ensure NetworkManager is disabled and not running
Next, start and enable the dhcpcd service