You are here: Home » Инструкции » Настройка статического IP адреса в Arch Linux / BlackArch

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

Бывают ситуации, когда мы не хотим использовать 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

02

Также наличие сети можно проверить пингом.

Чтобы изменения сохранились и после перезагрузки, выполните команду:

netctl enable static.ens3

1 Comment

  1. Я делал так:

     

    Конфигурация проводной сети с использованием 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

     

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *