Как настроить статический ip-адрес в ubuntu 20.04

Настройки локальной сети

Отредактируйте файл конфигурации netplan который находится в директории :

sudo vim /etc/netplan/00-installer-config.yaml

Здесь придётся прописать всё ручками, если у вас ещё нет доступа по SSH. У меня этот файл уже редактировался, мне необходимо изменить только IP адрес.

Основные настройки:

  • addresses — ip адрес который будет назначен вашей сетевой карте.
  • gateway4 — ip адрес вашего роутера.
  • nameservers — DNS сервера. Первый — наш роутер.
  • search — домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера

Мои настройки:

network:
 ethernets:
  enp0s3:
   addresses:
    - 192.168.0.105/24
   gateway4: 192.168.0.1
   nameservers:
    addresses: 
   optional: true
 version: 2
 renderer: networkd

После редактирования файла: -> -> -> .

Если есть необходимость передать управление сетевыми устройствами утилите NetworkManager:

network:
 version: 2
 renderer: NetworkManager

Настройка статического IP — адреса на сервере Ubuntu 20.04

Начиная с Ubuntu 17.10 и более поздних версий, сетевое взаимодействие контролируется функцией Netplan. Файлы конфигурации для Netplan находятся в каталоге   и написаны на языке YAML. В этом каталоге вы найдете файлы конфигурации YAML с пометкой либо, либо .

Однако, если вы используете облачный экземпляр Ubuntu, то есть вероятность того, что он управляется cloud-init. Который автоматически присваивает ему IP адрес с помощью протокола DHCP. Прежде чем мы продолжим, вам необходимо отключить облачную инициализацию. Для этого откройте файл конфигурации  в каталоге

Установите «network» в положение «disabled«.

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


Как настроить статический IP адрес в Ubuntu

В файле конфигурации мы видим директиву «network, которая содержит 2 элемента. Первый — это «ethernets«, который определяет сетевой интерфейс, а второй-версия средства визуализации, которое является «systemd-networkd«. Для экземпляров без графического интерфейса и NetworkManager для рабочего стола Ubuntu ( с графическим интерфейсом).


Файл конфигурации «network»

Нам требуется установить значение «dhcp4» на «no«, чтобы отключить протокол DHCP, и указать статический IP-адрес интерфейса следующим образом.

Чтобы назначить статический IP-адрес интерфейсу , измените файл следующим образом:

  • Укажите статический IP адрес сервера в разделе : укажите IPv4 адрес, который будет назначен сетевому интерфейсу.
  • Далее укажите шлюз.
  • В разделе  укажите DNS или IP — адреса серверов имен. Мы указали DNS Google, который имеет адрес 8.8.8.8 и IP-адрес маршрутизатора.


Настройка статического IP Ubuntu Linux

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

Вы можете использовать команду ifconfig или ip, чтобы убедиться, что ваш сетевой интерфейс настроен на использование статического IP-адреса, настроенного несколько минут назад.


Проверка сетевого интерфейса командой ifconfig

Кроме того, вы можете использовать команду Показать IP-маршрут для отображения новых маршрутов в вашей системе.


Команда ip route show

Отлично! Мы успешно настроили статический IP-адрес на сервере Ubuntu в терминале. Давайте теперь посмотрим как вы можете сделать то же самое на рабочем столе Ubuntu 20.04

WiFi

Для подключения к беспроводной сети задаем следующие настройки:

network:
    version: 2
    renderer: networkd
    wifis:
        wlp2s0b1:
            dhcp4: no
            dhcp6: no
            addresses: [192.168.2.10/24]
            gateway4: 192.168.2.1
            nameservers:
                addresses:
            access-points:
                <имя WiFi сети (SSID)>:
                    password: wifi_password

* где:

  • wifis — определяет настойки для WiFi.
  • wlp2s0b1 — настройка для беспроводного сетевого адаптера.
  • dhcp4, dhcp6 — включает или отключает автоматическое получение IP-адреса.
  • addresses, gateway4, nameservers — настройка сети (IP-адрес, шлюз, сервер DNS).
  • access-points — настройка для подключения к беспроводной сети.
  • <имя WiFi сети (SSID)> — имя беспроводной сети, к которой будем подключаться.
  • password — пароль для подключения к беспроводной сети.

Настройка кэширующего прокси-сервера Squid3

На заре своего развития основным назначением прокси-сервера Squid было кэширование трафика, сегодня, когда безлимитный интернет стал нормой жизни, эти возможности отходят на второй план, но остаются достаточно актуальными. 

Squid поддерживает кэширование двух типов, в оперативной памяти и на диске. Сегодня можно встретить рекомендации отказаться от дискового кэша, мол проще скачать объект заново, чем искать его на диске. Однако мы считаем, что разумный размер дискового кэша при большом количестве клиентов позволяет эффективно использовать канал за счет хранения в кэше статических элементов: картинок, скриптов, CSS-файлов для часто посещаемых ресурсов.

Сразу предостережем от распространенной ошибки — использования для хранения кэша старых медленных дисков и выделения под кэш значительного пространства. В этом случае эффект будет прямо противоположен ожиданиям, время поиска объекта на диске при большой нагрузке будет занимать значительно больше времени, чем его повторное скачивание.

Но все преимущества Squid раскрываются тогда, когда появляется необходимость тонкой фильтрации трафика, здесь богатые возможности позволяют реализовывать самые разнообразные схемы, которые просто невозможно рассмотреть в рамках одного материала.

Для установки squid выполните команду:

get

Перейдем к настройкам. Для новичка конфигурационный файл squid может показаться излишне сложным, на самом деле большую часть его занимают подробные комментарии и примеры. Поэтому мы пойдем по файлу от начала к концу, указывая какие строки надо добавить или изменить.  Откроем файл конфигурации /etc/squid3/squid.conf  и перейдем к указанию группы доступа (acl) для локальной сети. Раскомментируем и исправим или добавим ниже строку:

acl192.168.31.024

Затем, спускаясь далее по конфигурационному файлу найдем секцию отвечающую за правила доступа и убедимся, что она содержит следующие правила:

http_access
http_access
http_accessall

Данная секция разрешает доступ для клиентов локальной сети, собственно сервера и запрещает всем остальным.

Теперь укажем порт, интерфейс и режим работы прокси-сервера. 

http_port.168.31.1:3128intercept

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

Перейдем к указанию параметров кэша. Зададим доступный объем памяти и укажем максимальный объем кэшированного объекта в памяти:

1024
in512

При задании этих параметров исходите из доступной памяти сервера, но учтите, что кэш в памяти начинает эффективно работать только после «прогрева» и будет сброшен при перезагрузке или выключении сервера.

После чего укажем размер дискового кэша и его расположение:

var204816256

Следующий параметр задает максимальный размер объекта в дисковом кэше:

Далее по файлу укажем место хранения логов и количество ротаций:

logloglog
31

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

Остальные параметры оставляем без изменений, сохраняем файл и перезапускаем squid:

Затем в /etc/nat добавляем правило заворачивающее http-трафик на squid:

iptables192.168.31.024808080192.168.31.1:3128

Сохраняем изменения, перезагружаем сервер.

Обращаем ваше внимание, что squid3 в прозрачном режиме, в отличие от предыдущей версии, не принимает соединения, если в настройках прямо указано использование прокси

В этом случае вы получите сообщение, что доступ запрещен:

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

Настроить DHCP-клиент через среду рабочего стола Ubuntu

Вы также можете использовать другую виртуальную машину с Ubuntu 20.04 Desktop в качестве DHCP-клиента. В Ubuntu метод конфигурации по умолчанию установлен как DHCP. Если он не берет IP-директор от DHCP-сервера, измените настройку IPV4 в вашей сети. Нажмите, перейдите в «Настройки» и перейдите в настройки проводной или беспроводной сети. В вашей системе должно появиться следующее окно:

Установите всю конфигурацию IPV4, как показано на скриншоте выше.

Теперь отобразите сведения о сети, щелкнув вкладку «Подробности» следующим образом:

Проверьте конфигурацию, выполнив следующую команду:

Вы увидите, что IP-адрес назначен сетевому интерфейсу.

Вы также можете использовать хост-компьютер в своей системе в качестве DHCP-клиента. Однако, чтобы получить IP-адрес, не перезагружайте хост-компьютер, потому что в этом случае Virtualbox будет отключен, поэтому в системе не будет запущен DHCP.

Важно отметить, что если вы используете мобильные устройства или хост-машины в качестве DHCP-клиента, скорее всего, они уже подключены к этой сети. Однако они будут запрашивать у DHCP-сервера тот же IP-адрес, который был выделен ранее. Однако, если IP-адрес не попадает в указанный вами диапазон, тогда маршрутизатору будет отправлен запрос

Однако, если IP-адрес не попадает в указанный вами диапазон, тогда маршрутизатору будет отправлен запрос.

Основы использования Netplan

Все конфигурационные файлы Netplan находятся в папке /etc/netplan/. Во время запуска службы, она преобразовывает свою конфигурацию в конфигурацию той службы, которая будет управлять сетью и помещает её в каталог /run/. По умолчанию в Ubuntu есть только один конфигурационный файл со следующим содержимым:

Это означает, что управление всей сетью передаётся утилите NetworkManager. Чтобы разобраться, что это означает, давайте рассмотрим синтаксис конфигурационного файла.

1. Синтаксис конфигурации Netplan

Новичкам синтаксис конфигурационного файла Netplan может показаться запутанным, но разобраться в нём вполне можно. Он чем-то напоминает JSON, но не имеет таких жёстких ограничений:

поле0  поле1 значение  поле2    — элемент1    — элемент2    — элемент3

Имя поля и его значение разделяется двоеточием. В качестве значения поля можно передавать не только текстовое или числовое значение, но и другое поле, несколько полей или список значений. При передаче списка каждый новый элемент списка должен начинаться с дефиса. Табуляции использовать нельзя. Отступы используются для указания структуры. Например, из примера видно, что поле1 и поле2 относятся к полю0. Это всё, что касается общего синтаксиса, теперь про Netplan:

network  version 2  renderer программа_бэкенд  вид_интерфейса    имя_интерфейса       параметр значение

Первые две строчки конфигурации стандартны. Первая указывает, что мы будем иметь дело с сетью, а вторая указывает версию стандарта конфигурации, которая будет использоваться. Их лучше не трогать.

  • renderer — указывает программу, для которой будут преобразоваться ваши настройки. На данный момент поддерживаются только network-manager и systemd-networkd;
  • вид_интерфейса — вид сетевых интерфейсов, которые вы будете настраивать в этой секции. Они делятся на физические: ethernets (проводные), wifis (беспроводные) и виртуальные: vlans , bonds, bridges.
  • имя_интерфейса — имя сетевого интерфейса в системе, например enp3s0 или eth0;
  • параметры — настройки, с помощью которых указывается, как нужно подключаться к сети.

2. Параметры Netplan

Мы разобрались с основным синтаксисом, далее разберём команды, с помощью которых мы будем настраивать сеть:

  • renderer — программа для обработки конфигурации;
  • dhcp4 — получение IPv4 адреса по DHCP;
  • dhcp6 — получение IPv6 адреса по DHCP;
  • dhcp-identifier — если передать значение «mac», то будет использоваться MAC-адрес в качестве идентификатора DHCP;
  • addresses — добавляет статические адреса к интерфейсу, можно несколько;
  • gateway4 — указывает шлюз IPv4;
  • gateway6 — указывает шлюз IPv6;
  • nameservers — указывает DNS-серверы;
  • macaddress — устанавливает новый MAC-адрес;
  • routes — позволяет настроить маршруты таблицы маршрутизации;
  • routing-policy — дополнительная настройка маршрутов, для IP или подсети;
  • access-points — список точек доступа для Wi-Fi;
  • password — пароль для точки доступа Wi-Fi;
  • mode — режим работы сетевой карты Wi-Fi.

3. Команды Netplan

Синтаксис самой команды netplan очень прост:

netplan опции команда

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

  • try — попробовать применить конфигурацию с возможностью отмены;
  • apply — применить конфигурацию;
  • generate — проверка текущей конфигурации и запись на диск;
  • config — записать текущую конфигурацию сети в YAML.

Настройка mtu на интерфейсе

Параметр mtu нужно менять, если вы пользуетесь индивидуальной защитой от DDoS. В стандарте Ethernet TCP-пакеты разбиты на кадры объемом 1500 байт, но при передаче через GRE-тоннель маршрутизаторы дописывают к кадрам свои 24 байта. Принимающая система оказывается не готова к кадру размером 1524 байт, поэтому мы изменим параметр mtu на интерфейсе, уменьшив его до 1476 байт, чтобы принимающая система спокойно восприняла итоговый кадр в 1500 байт.

Дописываем mtu в конфигурационный файл /etc/netplan/50-cloud-init.yaml сразу после имени интерфейса, например: 

ens3:
  mtu: 1476
  addresses:
  - 185.185.68.210/22

Важно соблюдать количество пробелов как в остальном файле. После чего перезагружаем сетевую службу командой netplan apply

После чего перезагружаем сетевую службу командой netplan apply.

Редактируем файл /etc/network/interfaces, добавляя параметр вслед за описанием интерфейса:

auto ens3
iface ens3 inet static
mtu 1476
address 123.123.123.123

Перезагружаем сеть командой systemctl restart networking.

Вносим в файл /etc/sysconfig/network строку:

MTU=1476

И перезагружаем сетевую службу: systemctl restart network.

Назначение IP-адресов разных классов

Существует пять классов доступных диапазонов IP, а именно: класс A, класс B, класс C, класс D и класс E. Обычно используются классы A, B и C.

Класс сети Диапазон адресов Поддерживает
Класс A 1.0.0.1 — 126.255.255.254 16 миллионов хостов в каждой из 127 сетей.
Класс B 128.1.0.1 — 191.255.255.254 65 000 хостов в каждой из 16 000 сетей.
Класс С 192.0.1.1 — 223.255.254.254 254 хоста в каждой из 2 миллионов сетей.
Класс D 224.0.0.0 — 239.255.255.255 Мультикаст
Класс E 240.0.0.0 — 254.255.255.254 Зарезервировано для будущего использования или для целей исследований и разработок.

Как вы могли заметить, в этой статье мы использовали адреса сетей класса C.

Попробуем назначить IP-адрес из другого класса сетей , например, из диапазона класса A. Возможно ли это? Конечно да.

Просто добавьте выбранный IP-адрес в файл конфигурации сетевой карты.

Назначение IP-адреса разных классов в системах на основе Ubuntu/Debian

В системах на базе DEB отредактируйте файл /etc/network/interfaces

$ sudo nano /etc/network/interfaces

Добавьте дополнительный IP-адрес:

  iface enp0s3 inet static
  address 10.0.0.105/16

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

Выполните следующую команду, чтобы изменения вступили в силу:

$ sudo ifdown enp0s3 && sudo ifup enp0s3

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

$ ip addr

Пример вывода команды

Пропингуем новый IP-адрес:

$ sudo ping -c 3 10.0.0.105

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

PING 10.0.0.105 (10.0.0.105) 56(84) bytes of data.
64 bytes from 10.0.0.105: icmp_seq=1 ttl=64 time=0.042 ms
64 bytes from 10.0.0.105: icmp_seq=2 ttl=64 time=0.070 ms
64 bytes from 10.0.0.105: icmp_seq=3 ttl=64 time=0.055 ms

--- 10.0.0.105 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.042/0.055/0.070/0.014 ms

Таким образом, мы можем добавить несколько IP-адресов к одной сетевой карте в Ubuntu, Debian и их производных, таких как Linux Mint, Elementary OS и т.д.

Назначение IP-адреса разных классов в системах на базе CentOS / RHEL / Scientific Linux

Отредактируем файл конфигурации сетевой карты:

# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Добавим новый IP-адрес, как показано ниже

Обратите внимание, что вы должны добавить правильный префикс (маску сети) для каждого диапазона IP-адресов необходимого класса.. Давайте добавим IP-адрес из сети класса А, например 10.0.0.150.

Давайте добавим IP-адрес из сети класса А, например 10.0.0.150.

IPADDR2="10.0.0.150"

PREFIX2=16

Убедитесь, что номер IPADDR (IPADDR2) и номер PREFIX (PREFIX2) одинаковы для каждой сети ..0.150.

Сохраните и закройте файл. Перезапустите сетевой сервис, чтобы изменения вступили в силу.

# systemctl restart network

Проверьте новый IP с помощью команды:

# ip addr

Пример вывода команды

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
 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 pfifo_fast state UP qlen 1000
 link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet 192.168.2.150/24 brd 192.168.255.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet 10.0.0.150/16 brd 10.255.255.255 scope global enp0s3
 valid_lft forever preferred_lft forever
 inet6 fe80::a00:27ff:fe80:6319/64 scope link 
 valid_lft forever preferred_lft forever

Пропингуем новый IP:

# ping -c 3 10.0.0.150

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

PING 10.0.0.150 (10.0.0.150) 56(84) bytes of data.
64 bytes from 10.0.0.150: icmp_seq=1 ttl=64 time=0.097 ms
64 bytes from 10.0.0.150: icmp_seq=2 ttl=64 time=0.100 ms
64 bytes from 10.0.0.150: icmp_seq=3 ttl=64 time=0.105 ms

--- 10.0.0.150 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.097/0.100/0.105/0.012 ms

Новый IP-адрес добавлен, и он работает. Не нужно покупать новую карту, делать сложные настройки маршрутизатора или что-то еще. Используя этот метод, мы можем легко добавить несколько разных IP за считанные минуты.

Прослушиваемые порты

Посмотреть к чему по умолчанию назначен определённый порт можно в файле
/etc/services

Например, порт 636

cat /etc/services | grep 636

ldaps 636/tcp # LDAP over SSL
ldaps 636/udp

ss

Посмотреть список открытых портов можно утилитой ss

ss -lntup

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:40292 0.0.0.0:*
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:5353 0.0.0.0:*
udp UNCONN 0 0 :5353 :*
udp UNCONN 0 0 :46860 :*
tcp LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:631 0.0.0.0:*
tcp LISTEN 0 128 :22 :*
tcp LISTEN 0 2 :3350 :*
tcp LISTEN 0 128 :631 :*
tcp LISTEN 0 2 *:3389 *:*

Если нужно проверить используется ли определённый порт, например 5000

ss -na | grep :5000

Если вывод пуст, значит порт не используется

Чтобы узнать какая программа слушает определённый порт нужно предварительно установить один из
инструментов:

netstat, fuser или lsof

Начнём с netstat

Netstat

Netstat входи в состав net-tools
который устанавливается командой

sudo apt -y install net-tools

С помощью команды
netstat
можно посмотреть список активных соединений по сети

netstat

Для изучения подключений по сети используются опции tupn

sudo netstat -tupn

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 10.1.102.72:22 10.1.54.137:33010 ESTABLISHED 4054/sshd: andrei [
udp 0 0 10.1.102.72:68 10.1.103.252:67 ESTABLISHED 709/NetworkManager
udp 0 0 10.15.252.122:68 10.15.255.252:67 ESTABLISHED 709/NetworkManager

Для изучения прослушиваемых портов netstat используют с набором опций tulpn

sudo netstat -tulpn | grep LISTEN

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 795/cupsd
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 664/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3955/sshd: /usr/sbi
tcp6 0 0 ::1:631 :::* LISTEN 795/cupsd
tcp6 0 0 :::3389 :::* LISTEN 3048/xrdp
tcp6 0 0 ::1:3350 :::* LISTEN 3038/xrdp-sesman
tcp6 0 0 :::22 :::* LISTEN 3955/sshd: /usr/sbi

lsof

Утилита lsof (list open files) позволяет посмотреть
все
открытые в системе соединения.

Чтобы изучить именно сетевые соединения воспользуйтесь опцией
i

Чтобы отображались именно порты, а не названия сетевых служб примените опцию
P

lsof -i -P

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

В Ubuntu 20.04 система идентифицирует сетевые интерфейсы, используя «предсказуемые имена сетевых интерфейсов».

Первым шагом к настройке статического IP-адреса является определение имени интерфейса Ethernet, который вы хотите настроить. Для этого используйте команду , как показано ниже:

Команда печатает список всех доступных сетевых интерфейсов. В этом примере имя интерфейса :

Файлы конфигурации Netplan хранятся в каталоге . Вероятно, вы найдете в этом каталоге один или несколько файлов YAML. Имя файла может отличаться от настройки к настройке. Обычно файл называется , или , но в вашей системе он может быть другим.

Если ваш облачный экземпляр Ubuntu снабжен cloud-init, вам необходимо отключить его. Для этого создайте следующий файл:

/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Чтобы назначить статический IP-адрес в сетевом интерфейсе, откройте файл конфигурации YAML в текстовом редакторе :

/etc/netplan/01-netcfg.yaml

Прежде чем изменять конфигурацию, давайте кратко объясним код.

Каждый файл Netplan Yaml начинается с ключа, который содержит как минимум два обязательных элемента. Первый обязательный элемент — это версия формата конфигурации сети, а второй — тип устройства. Типом устройства может быть , , или .

В приведенной выше конфигурации также есть строка, показывающая тип средства . , если вы установили Ubuntu в серверном режиме, средство визуализации настроено на использование в качестве серверной части.

Под типом устройства ( ) вы можете указать один или несколько сетевых интерфейсов. В этом примере у нас есть только один интерфейс который настроен для получения IP-адресации от DHCP-сервера .

Чтобы назначить статический IP-адрес интерфейсу , отредактируйте файл следующим образом:

  • Установите DHCP на .
  • Укажите статический IP-адрес. В разделе вы можете добавить один или несколько IP-адресов IPv4 или IPv6, которые будут назначены сетевому интерфейсу.
  • Укажите шлюз.
  • В разделе установите IP-адреса серверов имен.

/etc/netplan/01-netcfg.yaml

При редактировании файлов YAML убедитесь, что вы следуете стандартам отступа кода YAML. Если синтаксис неправильный, изменения не будут применены.

После этого сохраните файл и примените изменения, выполнив следующую команду:

Проверьте изменения, набрав:

Это оно! Вы назначили статический IP-адрес своему серверу Ubuntu.

Настройка статического IP

Вы установили сервер и во время установки указали какие-то сетевые параметры, или не указали, не важно. Но сейчас вы решили, что вам нужно назначить статический ip (static ip) адрес. Воспользуемся для этого утилитой ip

Сначала посмотрим список всех сетевых интерфейсов:

Воспользуемся для этого утилитой ip. Сначала посмотрим список всех сетевых интерфейсов:

У меня в системе 1 сетевой интерфейс eth0 и он каким-то образом уже сконфигурирован. Назначим ему еще один статический адрес:

Этот адрес будет добавлен к уже существующему адресу. Проверим это:

Теперь сервер будет доступен по обоим адресам. Текущая настройка сохранится только до перезагрузки сервера. Чтобы она применялась во время загрузки, нужно либо каким-то образом добавить команду на изменение настроек в автозагрузку, например в /etc/rc.local, но это будет костыль. Правильнее отредактировать файл, который отвечает за сетевые настройки в debian — /etc/network/interfaces. Для того, чтобы назначить постоянный статический ip адрес, его нужно привести к следующему виду:

auto указанный интерфейс необходимо запускать автоматически при загрузке системы
iface интерфейс eth0 находится в диапазоне адресов IPv4 со статическим ip
address статический ip адрес
gateway шлюз по-умолчанию
netmask маска сети

Для проверки перезагружаем сервер и смотрим, все ли в порядке с настройкой статического ip адреса. Если вам нужно сменить ip адрес в debian, то вы можете временно изменить его с помощью команды ip, либо постоянно, отредактировав параметр address в файле сетевых настроек interfaces.

Определение DNS-сервера

Другим параметром конфигурации, который может быть задан DHCP-сервером своему клиенту, является определение DNS-сервера. Если вы хотите, чтобы ваши клиенты использовали DNS-сервер с IP-адресом 8.8.8.8 и 10.1.1.1, вы можете сделать это, включив опцию domain-name-servers в конфигурационный файл DHCP.

default-lease-time 600;
max-lease-time 7200;

subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option domain-name-servers 10.1.1.1, 8.8.8.8;
}

subnet 192.168.0.0 netmask 255.255.0.0 {
}

subnet 10.1.1.0 netmask 255.255.255.0 {
range 10.1.1.3 10.1.1.254;
option routers 10.1.1.1;
}

multiple interfaces example

Interface

nano -w /etc/network/interfaces
auto lo
iface lo inet loopback

mapping hotplug
        script grep
        map eth1

iface eth1 inet dhcp

auto eth0
iface eth0 inet static
    address 10.152.187.1
    netmask 255.255.255.0

auto wlan0
  iface wlan0 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    up     /sbin/iwconfig wlan0 mode TTTTTT && /sbin/iwconfig wlan0 enc
restricted && /sbin/iwconfig wlan0 key  XXXXXXXX && /sbin/iwconfig
wlan0 essid SSSSSSSS

auto eth1
nano -w /etc/default/isc-dhcp-server
INTERFACES="wlan0 eth0"

Configure Subnet

nano -w /etc/dhcp3/dhcpd.conf
ddns-update-style none;
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {

        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option broadcast-address        192.168.1.255;
        option domain-name-servers      194.168.4.100;
        option ntp-servers              192.168.1.1;
        option netbios-name-servers     192.168.1.1;
        option netbios-node-type 2;
        default-lease-time 86400;
        max-lease-time 86400;

        host bla1 {
                hardware ethernet DD:GH:DF:E5:F7:D7;
                fixed-address 192.168.1.2;
        }
        host bla2 {
                hardware ethernet 00:JJ:YU:38:AC:45;
                fixed-address 192.168.1.20;
        }
}

subnet  10.152.187.0 netmask 255.255.255.0 {

        option routers                  10.152.187.1;
        option subnet-mask              255.255.255.0;
        option broadcast-address        10.152.187.255;
        option domain-name-servers      194.168.4.100;
        option ntp-servers              10.152.187.1;
        option netbios-name-servers     10.152.187.1;
        option netbios-node-type 2;

        default-lease-time 86400;
        max-lease-time 86400;

        host bla3 {
                hardware ethernet 00:KK:HD:66:55:9B;
                fixed-address 10.152.187.2;
        }
}

Check Route

ip route
192.168.1.0/24 dev wlan0  scope link
82.16.TT.0/24 dev eth1  scope link
10.152.187.0/24 dev eth0  scope link
default via 82.16.TT.UU dev eth1

Установка статического IP-адреса в Ubuntu через файл конфигурации

Проблема со всеми вышеперечисленными методами в том, что где-то не задокументировано что-либо. Совершенно не рекомендуется вносить изменения таким образом на сервере. Рекомендуемый способ — отредактировать файл конфигурации. Таким образом, все изменения документируются, и вы можете просто отменить предыдущее изменение, добавив строки в качестве комментариев.

файл конфигурации / и т. д. / сеть / интерфейс. Для редактирования этого файла вам необходимы права администратора. Но перед этим нам понадобится множество значений, таких как маска подсети, адрес шлюза, широковещательный адрес и имя коммутатора. просто беги ifconfig -a в Терминале, чтобы получить имя адаптера, маску подсети и значения широковещательного адреса.

Для адреса шлюза выполните следующую команду в Терминале.

route -n

Эта команда покажет вам таблицу IP-маршрутизации. Первая запись в таблице — это адрес шлюза. В моем случае первая запись 10.0.0.1 Что, в свою очередь, является адресом шлюза.

Теперь нам нужно открыть файл конфигурации, чтобы внести изменения. Для этого выполните следующую команду.

sudo vi /etc/network/interface

Если вы не знакомы с редактором и элементами управления vi , вы также можете использовать Gedit. Gedit Это графический интерфейс для редактирования файлов. Чтобы открыть файл в Gedit Выполните следующую команду

sudo gedit /etc/network/interface

После открытия файл должен быть пустым или содержать предыдущие конфигурации. Если конфиги были выбраны ранее, просто закомментируйте их вместо удаления. Приставляя все строки к префиксу «#», вы делаете строки бесполезными. Теперь нам потребуются имя адаптера, маска подсети и широковещательный адрес, о которых мы упоминали ранее.

Нажмите на «i«Если вы используете vi для доступа к режиму вставки. Напишите следующий код и замените значения на свои собственные.

auto enp0s3

iface enp0s3 inet static

address 10.0.0.6

netmask 255.255.255.0

network 10.0.0.1

broadcast 10.0.0.255

gateway 10.0.0.1

Но прежде чем вводить эти строки, нужно разобраться в коде. «авто enp0s3Он автоматически перезапустит интерфейс при загрузке системы. «айфейс enp0s3Это суффикс для определения интерфейса. enp0s3, «инет«IPv4» означает «Пока»инет статическийозначает определение статического IP-адреса для указанного сетевого адаптера. Остальные строки говорят сами за себя.

Если вы хотите снова переключиться на DHCP, вы можете изменить его на «инет dhcp».

После успешного добавления кода нажмите Esc и введите «: Wqчтобы сохранить изменения. Теперь нам нужно перезапустить сеть, чтобы изменения вступили в силу. Выполните следующую команду, чтобы перезапустить сетевой адаптер.

sudo service network-manager restart

После перезапуска изменения вступят в силу. Чтобы просмотреть изменения, запустите Ifconfig снова и увидеть следующие значения. Он должен соответствовать значениям, указанным в файле конфигурации.

Если вы хотите внести изменения, сделайте комментарии к предыдущим строкам и добавьте изменения.

Настройка DNS

Служба DNS используется для преобразования доменных имен сайтов в IP-адреса. При получении IP-адреса автоматически через DHCP мы используем правильные DNS-серверы, но если мы выбрали статический IP, то DNS можно и не получить, поэтому придётся сделать всё вручную.

Если вам нужно настроить DNS так, чтобы он не сбивался после перезагрузки, необходимо использовать систему настройки сети Ubuntu. Для этого откройте файл /etc/network/interfaces и добавьте в него строчку после директив для нужного интерфейса:

dns-nameservers 8.8.8.8 4.4.4.4

Здесь 8.8.8.8 и 4.4.4.4 это IP-адреса DNS серверов, можете заменить их на свои. И можно использовать один, а не два. Дальше сохраните файл и перезапустите сеть:

sudo service networking restart

Если же вам нужно настроить DNS только для этого сеанса, то добавьте строчку в /etc/resolv.conf

sudo vi /etc/resolv.conf

nameserver 8.8.8.8 nameserver 4.4.4.4

После сохранения файла сеть будет работать полностью так, как нужно. Но последний способ пригоден только до перезагрузки, поскольку файл /etc/resolv.conf генерируется автоматически.

SSH

Чтобы подключиться к удалённой машине по

SSH

нужно, например, знать
IP машины, имя пользователя, пароль

Пример подключения:

ssh andrei@192.168.0.2

Если вы подключаетесь впервые, то получите предупреждение

The authenticity of host ‘192.168.0.2 (192.168.0.2)’ can’t be established.
ECDSA key fingerprint is SHA256:ABCDE/FGHIJKLMNOPQRSTUVWXYZ123456789ABCDEFG.
Are you sure you want to continue connecting (yes/no/)?

Это предупреждение отображается, потому что в файле

known_hosts

, отвечающем за
ивестные хосты нет записи о 192.168.0.2

Файл

known_hosts

находится в директории

Он содержит строки такого вида:

После того как вы выберете
yes вы увидите сообщение

Warning: Permanently added ‘192.168.0.2’ (ECDSA) to the list of known hosts.
ssh_dispatch_run_fatal: Connection to 192.168.0.2 port 22: Broken pipe

А в файле

known_hosts

появится новая запись

Если вы подключаетесь к хосту не в первый раз

ssh andrei@192.168.0.2

Нужно будет ввести пароль

andrei@192.168.0.2’s password:

После успешного ввода может появиться сообщение о последнем логине

Last login: Wed Jun 06 17:55:40 2022

Заключение

В данном обзоре мы рассмотрели первоначальную настройку и оптимизацию Ubuntu 20.04. Так же рекомендуем ознакомиться со статьей «Как обеспечить безопасность Linux сервера» и другими статьями нашего блога, в котором рассмотрены вопросы администрирования операционных систем и различных приложений. Для наших клиентов облачного VPS хостинга, мы создали готовый шаблон, с помощью которого вы можете установить Ubuntu 20.04 в автоматическом режиме и уже несколько минут приступить к работе. Наша круглосуточная служба технической поддержки поможет с его базовой настройкой, если у вас возникнут сложности.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: