LINUX.ORG.RU

Arch, настройка DHCP

 , ,


0

1

Доброго времени суток. Столкнулся с ситуацией, когда очень требуется помощь по настройке Arch Linux, так как сам с Linux сталкиваюсь впервые.

Ситуация: в школьном компьютерном классе есть сервер, на котором работает система тестирования. Ученики подключались к ней по статическому IP-адресу через браузер, но за осенние каникулы в кабинете установили дополнительный роутер, который теперь раздаёт DHCP. Поскольку сервер настраивали лет пять назад, сейчас никто даже не знает логина и пароля, чтобы на него зайти. По инстукции с Archwiki получил доступ, но только под root, однако сменить IP-адрес на динамический (или прописать статику из актуальной сети) не смог.

На данный момент по команде ip address show вижу, что определены 3 интерфейса: локальный, интегрированный enp3s0 и дополнительная сетевая карта enp4s2. 192.168.10.125 — это как раз старая статика.

Если использую команду dchcd enp3s0, то интерфейс вроде бы получает актуальный IP (в данный момент 192.168.0.105), и тот начинает пинговаться с другого ПК, но при повторном вызове ip address show отображаются два адреса: и новый, и старый. А при попытке запустить тестирование из браузера по новому IP адрес в строке автоматом меняется на старый, и вместо окна тестирования появляется ошибка, что время ожидания истекло.

Если же соединяю ПК и сервер напрямую, прописав предварительно старую сетку, то всё работает как надо, то есть на самом сервере, как понимаю, система тестирования запускается корректно, но ученическая машина не может до неё достучаться.

Также пробовал отключать интегрированный интерфейс в биосе и перетыкать кабель в дополнительную сетевую карту, но результат после выполнения команды был тот же. https://i.imgur.com/WZ5xSve.jpg https://i.imgur.com/xS5FCeB.jpg



Последнее исправление: Dezmond (всего исправлений: 1)

Arch Linux

сервер

Жесть. Интересно, каким местом думал тот, кто это всё устанавливал и настраивал…

Для начала нужно определить, с помощью чего настроена сеть. Вероятно, используется netctl - покажите вывод head -n -0 /etc/netctl/*, а также systemctl -t service.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Можно уточнить: Я правильно понял, что для настройки через netctl достаточно создать профиль с соответствующим шаблоном и поместить его в автозагрузку командой netctl enable <имя профиля>? Профили для dhcp и новой статики (пока без корректных реквизитов, так как не помню новою адресацию) я вроде бы создал через текстовый редактор vi. По команде netctl list они отображаются. https://i.imgur.com/3OHyvsu.jpg https://i.imgur.com/Nhn5ALl.jpg

И ещё подскажите, пожалуйста, как отключить network@enp3s0.service? Этого не нашёл, к сожалению.

Dezmond
() автор топика
Ответ на: комментарий от Dezmond

Можно уточнить: Я правильно понял, что для настройки через netctl достаточно создать профиль с соответствующим шаблоном и поместить его в автозагрузку командой netctl enable <имя профиля>?

Да, всё верно.

И ещё подскажите, пожалуйста, как отключить network@enp3s0.service? Этого не нашёл, к сожалению.

systemctl disable network@enp3s0.service

Rootlexx ★★★★★
()

Arch Linux

сервер настраивали лет пять назад

Пиздец. Роллинг без 5 лет обновлений. Даже не думай обновлять — нахрен рухнет, это не Debian stable, Ubuntu LTS или CentOS.

Vsevolod-linuxoid ★★★★★
()

Оффтоп, но не могу сдержаться: с одной стороны, приятно видеть человека вдумчивого, искренне пытающегося разобраться. С другой — ситуация, описанная в ОП-посте, прямо-таки наталкивает на вариант «снести нахрен всё и переделать с нуля по-нормальному». Система тестирования в виде дистрибутива или (ещё лучше!) пакета где-нибудь есть?

XMs ★★★★★
()

А при попытке запустить тестирование из браузера по новому IP адрес в строке автоматом меняется на старый, и вместо окна тестирования появляется ошибка, что время ожидания истекло.

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

Доменного имени или другого имени у сервера как понимаю не было и на него заходили по ip.

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

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

Ну либо настрой в роутере, что стоит в классе выдачу ip адресов в классе из старой схемы адресации и привяжи к мак адресу сервера его старый ip адрес.

infomeh ★★
()
Ответ на: комментарий от XMs
  • был у меня станок на обслуживании, стояла хр embedded. Если стажер поковырялся ручонками в спец проге проще было снести и поставить все заново.
mmindworker
()
Ответ на: комментарий от Rootlexx

systemctl disable network@enp3s0.service

Спасибо, помогло. Но, к сожалению, не полностью. IP-сменился, пинги до шлюза и до 8.8.8.8 идут. Но не до ученического компа. Хотя с него сервер пингуется. Система, правда, так и не работает. Может быть, действительно, как сказали выше

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

Правда не пойму, почему пинги до другого компа в сети с арча не доходят.

Dezmond
() автор топика
Ответ на: комментарий от XMs

«Снести нахрен» пока в резерве как крайнее средство. С автором системы уже общался. Вроде, исходники у него остались. Но тогда я думал, что достаточно будет смены сетевых настроек, поэтому серьёзно вопрос переустановки с нуля не обсуждался.

Я ведь правильно понял, что Арч вообще не очень хорошо подходит для такой задачи? Вы не могли бы посоветовать какую-нибудь альтернативу?

Dezmond
() автор топика
Ответ на: комментарий от Rootlexx

кто это всё устанавливал и настраивал

Арчешкольники видимо.

anonymous
()
Ответ на: комментарий от Rootlexx

Совсем глупый вопрос, наверное. У меня, кажется, получилось запустить одновременно два профиля через netctl: DHCP с актуальным адресом для дискретной сетевой, и статику со старым IP для встроенной. Обе воткнуты в один роутер. Нельзя сделать внутри арча что-то вроде маршрутизации, чтобы ученики обращались по актуальному IP, а сервер уже перенаправлял их у себя на статику?

Dezmond
() автор топика
Ответ на: комментарий от Dezmond

[quote] Нельзя сделать внутри арча что-то вроде маршрутизации, чтобы ученики обращались по актуальному IP, а сервер уже перенаправлял их у себя на статику? [/quote] Сделай.

Пропиши на вашем роутере, который выдаёт параметры сети по DHCP маршрут до старого IP адреса сервера через новый IP адрес сервера, получаемый им по DHCP, только в настройках роутера пропиши привязку IP адреса к маку сервера.

Но более правильный способ посмотреть код страниц / скриптов на сервере, который реализуют систему тестирования и переделать его на относительные пути, а лучше на доменное имя.

Но доменное имя нужно прописать в DNS,

anonymous
()
Ответ на: комментарий от Dezmond

Я ведь правильно понял, что Арч вообще не очень хорошо подходит для такой задачи?

Проблема в том, что Арч — rolling release. Это значит, что обновления накатываются непрерывно, зачастую, новые версии ломают совместимость с уже установленным ПО, из-за чего его нужно пересобирать. Если софт из репозитория пересоберут меинтейнеры, то твой может отвалиться после любого обновления. Не обновлять — не выход совершенно, так как ты лишаешься заплаток безопасности и исправлений ошибок. А тут, вдобавок, система, которую пять лет не обновляли: вообще не факт, что она переживёт обновление.

Вы не могли бы посоветовать какую-нибудь альтернативу?

Debian (Devuan)/CentOS, по вкусу. Это «релизные» дистрибутивы с довольно длительным сроком поддержки, и обновления с релиза на релиз на них обычно не представляет проблем (сужу по дебиану). Кроме того, можно (deb-based) поставить пакет unattended-upgrades, после чего у тебя обновления безопасности будут ставиться ежедневно и автоматически. А если покопаться в конфигах, то и не только они. Разумеется, в случае обновления с релиза на релиз свой софт придётся пересобирать, но эту операцию придётся выполнять раз в несколько лет, а не каждый ~месяц. Ещё плюс: никто не мешает обновляться не сразу, а предварительно подготовить тестовую среду и посмотреть, какие подводные камни могут встретиться. Тоже немаловажно. В случае с rolling release задержка в подобной подготовке может обернуться подводными камнями в совершенно неожиданных местах

XMs ★★★★★
()
Ответ на: комментарий от Dezmond

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

Rootlexx ★★★★★
()
Ответ на: комментарий от Dezmond

Вы не могли бы посоветовать какую-нибудь альтернативу?

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

SR_team ★★★★★
()
Ответ на: комментарий от SR_team

NixOS

Слушайте, я понимаю, что вам нравится NixOS и всё такое - но вы сейчас по сути руководствуетесь тем же самым, что и тот, кто водрузил Arch на этот сервер. Давайте всё-таки предлагать автору не каждый свою любимую игрушку, а общепризнанные инструменты под его задачу: Debian, CentOS, Ubuntu LTS.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

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

Доступа нет, а системник сегодня утром увёз обратно в школу. Оказалось, что статика действительно была забита в самой системе тестирования. С человеком, который её когда-то писал (но не настраивал сам сервак), встретился, он и поправил. К счастью, всё заработало. Поскольку меня уже поторапливали, пока решили оставить в таком виде. Где-нибудь перед новогодними праздниками (или раньше, если время будет) выпрошу в школе новый системник, и попробуем настроить с нуля на чём-нибудь более подходящем.

Огромное спасибо всем за помощь.

Dezmond
() автор топика
Ответ на: комментарий от Rootlexx

Слушайте, я понимаю, что вам нравится NixOS и всё такое - но вы сейчас по сути руководствуетесь тем же самым, что и тот, кто водрузил Arch на этот сервер. Давайте всё-таки предлагать автору не каждый свою любимую игрушку, а общепризнанные инструменты под его задачу: Debian, CentOS, Ubuntu LTS.

Так это общепризнанная игрушка. Ничего лучше пока не придумали

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.