Бывают ситуации, когда мы не хотим использовать DHCP, а хотим назначить хосту статичный IP. Бывают ситуации, когда мы просто не можем использовать динамический IP адрес – на VDS, например. В этой небольшой инструкции будет показано, как установить статический IP на Arch Linux / BlackArch.
Настройка статического IP при установке Arch Linux / BlackArch
Если нам нужно установить статичный IP адрес на один раз, до перезагрузки (пример, когда это нужно, установка новой системы), то делается это так.
Для начала узнаём имя сетевого интерфейса:
ip a
После этого назначение статичного IP делается следующей командой (сам IP, маску подсети и имя сетевого интерфейса замените на свои):
ip a add 192.168.1.101/255.255.255.0 dev ens3
Вы можете немного сократить её:
ip a add 192.168.1.101/24 dev ens3
Тем не менее, этом этапе у вас ещё не будет соединения с Интернетом. Нам нужно прописать шлюз по умолчанию (адрес шлюза замените на свой):
ip route add default via 192.168.1.254
И… всё равно на этом этапе ещё не будет интернета. Нужно прописать DNS сервер.
Для этого откройте файл
vim /etc/resolv.conf
и добавьте туда строку:
nameserver 8.8.8.8
Наконец-то, теперь можно проверять:
ping ya.ru
Сделанные таким образом изменения пропадут после перезагрузки.
Настройка статического IP в Arch Linux / BlackArch сохраняющегося после перезагрузки
Узнаем имя сетевого интерфейса:
ip a
Нам нужно создать файл с настройками сетевого интерфейса в каталоге /etc/netctl/. Нам необязательно писать его с нуля. Мы можем отредактировать один из примеров, которые поставляются с программой netctl. В следующей команде имя файла static.ens3 можете поменять на любое своё:
cp /etc/netctl/examples/ethenet-static /etc/netctl/static.ens3
Отредактируем этот файл:
vim /etc/netctl/static.ens3
Вот пример моего файла:
Description='A basic static ethernet connection' Interface=ens3 Connection=ethernet IP=static Address=('185.87.49.81/22') #Routes=('192.168.0.0/24 via 192.168.1.2') Gateway='185.87.48.1' DNS=('8.8.8.8') ## For IPv6 autoconfiguration #IP6=stateless ## For IPv6 static address configuration #IP6=static #Address6=('1234:5678:9abc:def::1/64' '1234:3456::123/96') #Routes6=('abcd::1234') #Gateway6='1234:0:123::abcd'
Здесь:
- ens3 – имя моего сетевого интерфейса
- 185.87.49.81/22 – это IP и сокращённая запись маски подсети.
- 185.87.48.1 – шлюз по умолчанию.
- 8.8.8.8 – DNS сервер.
Больше ничего в этом файле я не менял.
После редактирования и сохранения файла активируйте и проверьте статус сетевого интерфейса (если вы поменяли имя файла на своё, то измените static.ens3 на имя своего файла):
netctl start static.ens3 netctl status static.ens3
Также наличие сети можно проверить пингом.
Чтобы изменения сохранились и после перезагрузки, выполните команду:
netctl enable static.ens3
Близкие статьи
- Настройка статического IPv6 адреса в Arch Linux / BlackArch (100%)
- Установка Arch Linux / BlackArch на VDS / VPS (94.6%)
- Варианты установки BlackArch (64.1%)
- Создание загрузочной флешки BlackArch / Arch Linux (64.1%)
- Установка BlackArch, часть первая: Установка BlackArch в VirtualBox (64.1%)
- Как установить Varnish в Arch Linux — кэширование для Apache (RANDOM - 56.4%)
Я делал так:
Конфигурация проводной сети с использованием NetworkМanager
[root@localhost ~]# pacman -S networkmanager
Исходное состояние:
Если был установлен и сконфигурирован netctl то следует его удалить и удалить конфигурационный файл сетевых настроек /etc/netctl/<INTERFACE>
dhcpcd выключен
сетевой проводной интерфейс “опущен”
[root@localhost ~]# systemctl start NetworkManager
Просмотр текущих соединений (должно быть пусто)
[root@localhost ~]# nmcli c
NAME UUID TYPE DEVICE
dhcpd выключен
[root@localhost ~]# systemctl status dhcpcd
● dhcpcd.service - dhcpcd on all interfaces
Loaded: loaded (/usr/lib/systemd/system/dhcpcd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Создание нового проводного соединения со статическим адресом
Просмотр текущих сетевых устройств (я уже переименовал enp0s25 в net0 для удобства, см. раздел Привязка MAC-адресов к сетевым интерфейсам)
[root@localhost ~]# nmcli d
DEVICE TYPE STATE CONNECTION
net0 ethernet disconnected --
lo loopback unmanaged --
Создание соединения со статическим адресом (без автоконнекта)
[root@localhost ~]# nmcli connection add con-name myEthernet ifname net0 autoconnect no type ethernet ip4 192.168.0.64/24 gw4 192.168.0.1
Connection 'myEthernet' (504eed46-833e-4943-94d2-8c5b9ae02bfe) successfully added.
Проверка что создано
root@localhost qq]# nmcli c
NAME UUID TYPE DEVICE
myEthernet 504eed46-833e-4943-94d2-8c5b9ae02bfe 802-3-ethernet --
Проверка состояния
root@localhost qq]# nmcli d
DEVICE TYPE STATE CONNECTION
net0 ethernet disconnected --
lo loopback unmanaged --
Поднятие соединения
root@localhost qq]# nmcli connection up myEthernet
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/0)
Контроль присвоения адреса на интерфейс
root@localhost qq]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
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: net0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:84:7b:60 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.64/32 brd 192.168.0.64 scope global net0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe84:7b60/64 scope link
valid_lft forever preferred_lft forever
Контроль связи с интернет и шлюзом
Интернета нет (DNS не разрешает адреса):
root@localhost qq]# ping ya.ru
ping: ya.ru: Name or service not known
шлюз доступен:
root@localhost qq]# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.52 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.873 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=1.21 ms
^C
--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.873/1.204/1.527/0.270 ms
интернет доступен по адресам:
root@localhost qq]# ping 213.180.193.3
PING 213.180.193.3 (213.180.193.3) 56(84) bytes of data.
64 bytes from 213.180.193.3: icmp_seq=6 ttl=57 time=19.9 ms
64 bytes from 213.180.193.3: icmp_seq=7 ttl=57 time=19.5 ms
^C
--- 213.180.193.3 ping statistics ---
10 packets transmitted, 5 received, 50% packet loss, time 9014ms
rtt min/avg/max/mdev = 19.589/19.733/19.956/0.131 ms
Контроль созданного соединения в конфигурационном файле
root@localhost qq]# cat /etc/NetworkManager/system-connections/myEthernet
[connection]
id=myEthernet
uuid=504eed46-833e-4943-94d2-8c5b9ae02bfe
type=ethernet
autoconnect=false
interface-name=net0
permissions=
secondaries=
[ethernet]
mac-address-blacklist=
[ipv4]
address1=192.168.0.64/24,192.168.0.1
dns-search=
method=manual
[ipv6]
dns-search=
method=auto
Модификация соединения
Добавить DNS
root@localhost qq]# nmcli connection modify myEthernet ipv4.dns 192.168.0.1
Обновить соединение
root@localhost qq]# nmcli connection up myEthernet
Теперь работает интернет по именам
root@localhost qq]# ping ya.ru
PING ya.ru (93.158.134.3) 56(84) bytes of data.
64 bytes from http://www.yandex.ru (93.158.134.3): icmp_seq=1 ttl=56 time=19.3 ms
64 bytes from http://www.yandex.ru (93.158.134.3): icmp_seq=2 ttl=56 time=19.7 ms
^C
--- ya.ru ping statistics ---
3 packets transmitted, 2 received, 33% packet loss, time 2003ms
rtt min/avg/max/mdev = 19.300/19.500/19.701/0.244 ms
Для добавления дополнительной информации в поле используем символ +. Например можно добавить еще один ip адрес:
root@localhost qq]# nmcli connection modify myEthernet +ipv4.addresses 192.168.3.64/24
И второй маршрут в другую сеть:
root@localhost qq]# nmcli c mod myEthernet ipv4.routes '192.168.0.0/16 192.168.3.1'
Осталось обновить настройки и просмотреть технические данные соединения:
root@localhost qq]# nmcli connection up myEthernet
root@localhost qq]# nmcli connection show myEthernet