Поиск по сайту:

Настройка статического и динамического IP-адреса в Arch Linux

В этом кратком руководстве описывается, как настроить статический и динамический IP-адрес в Arch Linux и его производных, таких как EndeavourOS и Manjaro Linux.

Настройте статический IP-адрес в Arch Linux

Мы можем настроить статический IP-адрес двумя способами. Мы увидим оба.

Способ 1: назначить статический IP-адрес в Arch Linux с помощью netctl

Netctl — это утилита командной строки, которую можно использовать для анализа и управления состоянием служб systemd для менеджера сетевых профилей.

Как вы, возможно, уже знаете, примеры файлов конфигурации сети будут храниться в папке /etc/netctl/examples/ в Arch Linux.

ls /etc/netctl/examples/

Пример вывода:

bonding macvlan-dhcp tunnel wireless-wep
bridge macvlan-static tuntap wireless-wpa
ethernet-custom mobile_ppp vlan-dhcp wireless-wpa-config
ethernet-dhcp openvswitch vlan-static wireless-wpa-configsection
ethernet-static pppoe wireless-open wireless-wpa-static

Как видно из приведенного выше вывода, файлы ethernet-static и ethernet-dhcp представляют собой примеры профилей Ethernet. В этом месте вы также увидите профили беспроводной сети.

Сначала давайте найдем имя нашей сетевой карты. Для этого запустите:

ip link

Пример вывода:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
 link/ether 08:00:27:db:14:7a brd ff:ff:ff:ff:ff:ff

Как вы видите в приведенном выше выводе, имя моей сетевой карты — enp0s3.

Теперь скопируйте образец профиля сетевой карты из каталога /etc/netctl/examples/ в каталог /etc/netctl/, как показано ниже.

sudo cp /etc/netctl/examples/ethernet-static /etc/netctl/enp0s3

Замените enp0s3 именем вашей сетевой карты.

Теперь отредактируйте файл конфигурации сети:

sudo nano /etc/netctl/enp0s3

Введите свой IP-адрес, маску сети, шлюз и данные DNS-сервера, как показано ниже.

Description='A basic static ethernet connection'
Interface=enp0s3
Connection=ethernet
IP=static
Address=('192.168.1.102/24')
Gateway=('192.168.1.1')
DNS=('8.8.8.8' '8.8.4.4')

Вам необходимо заменить eth0 на фактическое имя вашей сетевой карты (т. е. enp0s3 в нашем случае) в приведенном выше файле конфигурации. Сохраните и закройте файл.

Включите автоматический запуск сетевой карты при каждой перезагрузке с помощью команды:

sudo netctl enable enp0s3

Наконец, запустите профиль сети, как показано ниже.

sudo netctl start enp0s3

Остановите и отключите службу DHCP.

sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd

Перезагрузите систему, чтобы изменения вступили в силу.

Теперь проверьте статический IP-адрес с помощью команды:

ip addr

Пример вывода будет:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
 link/ether 08:00:27:db:14:7a brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.102/24 brd 192.168.1.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet6 fe80::367c:d479:4d21:cede/64 scope link 
 valid_lft forever preferred_lft forever

Как видно из приведенного выше вывода, сетевой карте был назначен статический IP-адрес (192.168.1.102).

Способ 2: установите статический IP-адрес в Arch Linux с помощью systemd

systemd — это менеджер систем и служб для операционных систем Linux. Давайте теперь посмотрим, как настроить статический IP-адрес с помощью systemd.

Создайте профиль сети, как показано ниже.

sudo nano /etc/systemd/network/enp0s3.network

Замените enp0s3 именем вашей сетевой карты. И добавьте следующие строки.

[Match]
Name=enp0s3

[Network]
Address=192.168.1.102/24
Gateway=192.168.1.1
DNS=8.8.8.8
DNS=8.8.4.4

Сохраните и закройте файл.

Далее вам нужно отключить netctl. Чтобы узнать, что включено и связано с netctl, выполните следующую команду:

sudo systemctl list-unit-files

Как только вы определите все, что связано с netctl, отключите их все. В моей системе была включена следующая служба, поэтому я отключил ее, как показано ниже.

sudo systemctl disable netctl@enp0s3.service

И удалите пакет netctl из вашего Arch Linux с помощью команды:

sudo pacman -Rns netctl

Кроме того, не забудьте остановить и отключить службу DHCP.

sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd

Затем включите и запустите службу systemd-networkd, как показано ниже:

sudo systemctl enable systemd-networkd
sudo systemctl start systemd-networkd

Перезагрузите систему. И проверьте, правильно ли назначен IP-адрес, с помощью команды:

ip addr

Теперь вы знаете, как настроить статический IP-адрес. Далее мы увидим, как назначить динамический IP-адрес сетевой карте.

Настройте динамический IP-адрес в Arch Linux с помощью Netctl

Сначала установите netctl, если он еще не установлен.

sudo pacman -S netctl

Скопируйте профиль ethernet-dhcp из каталога /etc/netctl/examples/ в каталог /etc/netctl/, как показано ниже.

sudo cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/enp0s3

Отредактируйте файл /etc/netctl/enp0s3:

sudo vi /etc/netctl/enp0s3

Замените eth0 на фактическое имя сетевого интерфейса, например enp0s3.

Description='A basic dhcp ethernet connection'
Interface=enps03
Connection=ethernet
IP=dhcp
#DHCPClient=dhcpcd
#DHCPReleaseOnStop=no
## for DHCPv6
#IP6=dhcp
#DHCP6Client=dhclient
## for IPv6 autoconfiguration
#IP6=stateless

Сохраните и закройте файл.

Включите и запустите службу dhcpcd:

sudo systemctl enable dhcpcd
sudo systemctl start dhcpcd

Перезагрузите систему. Проверьте IP-адрес с помощью следующей команды:

ip addr

Надеюсь это поможет.

Статьи по данной тематике