Есть ли способ отключить DHCP-клиент в Raspbian Linux на Rasperry Pi?

у меня есть сервер Linux (Rasperry Pi с использованием Raspbian в качестве ОС), который должен использовать только статический IP.

однако я заметил, что он также получил IP от DHCP сервера (IP выданный DHCP 192.168.111.2). В соответствии с сетевыми настройками сервер должен использовать только статический IP (192.168.111.100).

содержание /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.111.100
netmask 255.255.255.0
gateway 192.168.111.1
dns-nameservers ip1 ip2

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

вывод Netstat:

udp        0      0 192.168.111.2:123       0.0.0.0:*                           2774/ntpd
udp        0      0 192.168.111.100:123     0.0.0.0:*                           2774/ntpd

по данным ifconfig IP 192.168.111.2 не используется:

eth0      Link encap:Ethernet  HWaddr b8:27:eb:be:18:1c
          inet addr:192.168.111.100  Bcast:192.168.111.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:138099 errors:0 dropped:0 overruns:0 frame:0
          TX packets:81146 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:95954711 (91.5 MiB)  TX bytes:27076870 (25.8 MiB)

ps -ef | grep dhcp показывает, что у меня работает демон DHCP:

root      2000     1  0 Oct07 ?        00:00:06 /sbin/dhcpcd

Как отключить DHCP демон от запуска и убедитесь, что мой сервер использует только статический?

16
задан Madoc Comadrin
12.12.2022 0:43 Количество просмотров материала 2653
Распечатать страницу

6 ответов

этот сценарий звучит очень странно, потому что ваша установка должна работать так, как вы описываете-и надеюсь, что она будет работать-если есть статический IP, установленный в /etc/network/interfaces. Тем не менее,это обсуждение на официальном сайте Raspberry Pi фокусируется на проблеме с пользователем "rpdom", заявив об этом на посту от "чт 28 мая 2015 6:21 am":

это происходит в последних обновлениях. Это вызвано новым dhcp клиент игнорирует действия и действия файлов интерфейсов свое собственное дело кроме того... мне это кажется безумием. Я бы посмотрел, как перенастроить dhcp-клиент (не могу вспомнить, что это такое или как это сделать, я все еще на старый, который работает для меня), отключив его или удалив (если вероятный.)

глубже в потоке пользователь " KLL " предлагает следующий пост в своем ответе от "Пн Авг 10, 2015 12:59 вечера."По данным "КНТЭУ":

где-то по пути обновления изменен мой /etc/network/interfaces файл со словом 'manual' вместо dhcp или статический, и я закончил с двумя IP-адресами, статический и адрес dhcp. Я наконец-то успел поиграть с ним и узнал, что dhcpcd5 работает иначе, чем то, что было в нем раньше. Получить как раз ваш статический адрес, не изменяйте /etc/network/interfaces. Положить обратно слово "руководство", если вы изменили его и вместо этого изменить /etc/dhcpcd.conf как показано в примере из документации.

Итак, идея в том, что dhcpcd5’ы поведение изменилось в одном из обновлений. И предложение, чтобы решить эту проблему, чтобы удалить любые изменения из /etc/network/interfaces и вместо этого настройте параметры в /etc/dhcpcd.conf чтобы получить статический IP-адрес; пример конфигурации ниже:

static <value>
             Configures a static <value>.  If you set ip_address then dhcpcd
             will not attempt to obtain a lease and just use the value for the
             address with an infinite lease time.

             Here is an example which configures a static address, routes and
             dns.
                   interface eth0
                   static ip_address=192.168.0.10/24
                   static routers=192.168.0.1
                   static domain_name_servers=192.168.0.1

подробнее о содержании dhcpcd.conf можно найти на официальной странице man для него.

что сказал, Еще одна идея-сохранить настройки в /etc/network/interfaces а потом редактировать /etc/dhcpcd.conf добавить строку denyinterfaces eth0 для скажите демону DHCP полностью игнорировать eth0. Любое решение должно работать, но одно решение может быть более предпочтительным решением в зависимости от ваших общих сетевых потребностей/требований.

11
отвечен JakeGould 2022-12-13 08:31

что сработало для меня, так это использование /etc / network / interfaces, как в исходном вопросе, и просто удаление dhcp-клиента:

apt-get remove dhcpcd5 isc-dhcp-client isc-dhcp-common
6
отвечен docno 2022-12-13 10:48

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

vi /etc/systemd/network/eth0.network

изменения:

[Match]
Name=eth0

[Network]
DHCP=yes

to:

[Network]
DHCP=no

надеюсь, что это помогает.

1
отвечен lester289 2022-12-13 13:05

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

для Джесси (которая использует systemd управления):

sudo systemctl disable dhcpcd.service

и для старшего Сопелка (System-V управления):

sudo update-rc.d dhcpcd disable

но если вы отключите его, то вам нужно убедиться, что у вас есть статическая конфигурация ip в /etc/network/interfaces в противном случае ваши интерфейсы не получат IP адрес.

0
отвечен Pierz 2022-12-13 15:22

вот краткий обзор того, что мне нужно сделать для Raspbian Jessie 2017-01-11:

редактировать /etc / network / interfaces и добавить строфу статического адреса, удалить другие ссылки на статический интерфейс (в этом случае eth0). Линия auto важна, иначе интерфейс не запустится при загрузке:

    auto eth0
    iface eth0 inet static
      address 192.168.44.17
      netmask 255.255.255.0
      gateway 192.168.44.27

далее отключите dhcpcd и включите стандартную сеть:

  • отключить dhcpcd:systemctl disable dhcpcd.service
  • включить сети: systemctl enable networking
  • перезагрузка

Raspbian Jessie, как освобождения 2017-01-11, кажется, не использовать systemd сетей

0
отвечен SteveB 2022-12-13 17:39

попробовал несколько вещей, и обнаружили, что

 apt list --installed | grep dhcp

найдено:

dhcpcd5 
isc-dhcp-client
isc-dhcp-common

Я просто отключен dhcpcd5 и так:

 sudo apt-get remove dhcpcd5

сделал перезагрузку и все было денди

0
отвечен Mick65 2022-12-13 19:56

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх