Manjaro Сетевое взаимодействие

Сетевое взаимодействие

From Manjaro
Revision as of 16:22, 2 January 2023 by Krotesk (talk | contribs) (Created page with "lo - это устройство loopback, которое можно игнорировать для целей данной статьи. Устройство, которое...")
Other languages:
English • ‎русский

Обзор

Сеть в 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"


После внесения изменений просто обновите и примените настройки с помощью следующей команды

user $ sudo resolvconf -u COPY TO CLIPBOARD


dhcpcd и resolv.conf.head/tail

Note
Большинство установок Manjaro не будут использовать dhcpd по умолчанию


Альтернативным решением, если вы используете 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

user $ sudo systemctl disable --now NetworkManager.service COPY TO CLIPBOARD



Далее вам нужно будет найти имя сетевого устройства. Чтобы найти имя, используйте команду 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. Это имя понадобится нам на следующем этапе.


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


Остается только запустить и включить службу с помощью:

user $ sudo systemctl enable --now systemd-networkd.service COPY TO CLIPBOARD

Использование dhcpcd вместо NetworkManager

NetworkManager является решением по умолчанию для работы в сети в большинстве редакций Manjaro. Если Вы предпочитаете использовать dhcpcd - он также поддерживается.


First, ensure NetworkManager is disabled and not running

user $ sudo systemctl disable --now NetworkManager.service COPY TO CLIPBOARD


Next, start and enable the dhcpcd service

user $ sudo systemctl start --now dhcpcd.service COPY TO CLIPBOARD

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

Cookies help us deliver our services. By using our services, you agree to our use of cookies.