Задать вопрос
@karpo518

Как проверить работоспособность выделенных ip-адресов на web-сервере?

Есть железный web-сервер с двумя дополнительными выделенными ip-адресами. После перезагрузки сервера nginx отказался запускаться, ругаясь на дополнительные ip-адреса вот так:
emerg]: bind() to IP x.x.x.x failed (99: Cannot assign requested address)


Обнаружив проблему, я быстро заменил ip-адреса в конфигах хостов на основной ip-адрес сервера и перезапустил nginx. Сайты заработали. Я обратился в ТП дата-центра, чтобы решить проблему. ip-адреса не пинговались. Я же решил, что независимо от того, правильно или неправильно настроен сервер, ip-адреса должны пинговаться. Но мне сказали, что у меня на сервере, что-то внутри настроено неправильно.

Я вернул в конфиг старые ip-адреса и избавился от ошибки строкой net.ipv4.ip_nonlocal_bind = 1 в /etc/sysctl.conf

Nginx запустился, но сайты на дополнительных ip-адресах перестали открываться. Браузер пишет:

This site can’t be reached 
site.ru is unreachable.
ERR_ADDRESS_UNREACHABLE


Проблема в том, что я ничего на сервере не настраивал. Т.е. не выполнял никаких действий, которые могли привести к поломке. Сейчас нужно либо доказать ТП наличие аппаратной проблемы на сервере, либо продиагностировать и решить проблему в ПО сервера. Как это сделать?

Итак, a-запись домена указывает на дополнительный выделенный ip-адрес, он же выбран у домена в панели VESTACP и прописан в конфиге nginx, но сайт can’t be reached. Что это значит? Если выбирать основной ip-адрес, то сайт работает корректно.

Сервер: Ubuntu 16.04 + VESTACP + NGINX + PHP-FPM
  • Вопрос задан
  • 291 просмотр
Подписаться 1 Сложный 3 комментария
Решения вопроса 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
karpo518, ручное вмешательство БЫЛО, потому что вы сами видели в файле '/etc/network/interfaces' прописанные дополнительные адреса. Кто их туда прописал - это уже другой вопрос, я тут не смогу.
Почему перестало работать? Вот тут смогу. Ubuntu в очередной раз обновилась, и основной утилитой конфигурирования сети стал netplan (хотя кто его об этом не просил?). А поскольку дополнительные адреса были прописаны нестандартно, отдельными записями - скрипт миграции с одной конфигурации на другую не смог их корректно распознать/перенести, вот они и потерялись/отключились. Вуаля!

P.S. Написал, что бы можно было отметить ответ - решением.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Конечно все ip адреса должны быть настроены в настройках сетевой или сетевых карт.
В выводе команды ifconfig дополнительные адреса присутствуют?
Ответ написан
@karpo518 Автор вопроса
При помощи AUser0:
1) Обнаружил в /etc/networks/interfaces коммент о том, что файлы настройки сети лежат в папке /etc/netplan.
2) В файле /etc/netplan лежит файл 01-netcfg.yaml обнаружил следующий код:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    eno2:
      accept-ra: false
      addresses: [ a.b.c.d/24 ]
      gateway4: m.n.o.p
      nameservers:
          search: [ worldstream.nl ]
          addresses:
              - "s.t.u.v"
              - "w.x.y.z"


3) Заменил строку "addresses: [ a.b.c.d/24 ]" на "addresses: [ a.b.c.d/24, e.f.g.h/24, i.j.k.l/24 ]", где:

a.b.c.d - основной адрес сервера
e.f.g.h и i.j.k.l - дополнительные ip-адреса, которые не работали, потому что отсутствовали в этой строке

4) Выполнил от имени root на сервере команду netplan apply

После выполнения шагов ip-адреса появились в выводе команды ip a
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы