У меня есть сервер 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
запуск демона и убедиться, что мой сервер использует только статический?
источник
ifconfig
и он используется регулярно. В один прекрасный день его заменят,ip
но, честно говоря, это не имеет никакого значения, если кто-то из бандитов будет говорить о том, что «лучше», так как это не состязание.ifconfig
предоставляет более чем достаточно деталей для отладки подобных вещей.Ответы:
Этот сценарий звучит очень странно, потому что ваша установка должна работать так, как вы описываете, и надеяться, что она будет работать, если в ней установлен статический IP
/etc/network/interfaces
. Тем не менее, эта дискуссия на официальном сайте Raspberry Pi фокусируется на проблеме с пользователем «rpdom», заявив об этом в посте «Четверг 28 мая 2015 6:21 утра»:Глубже в теме пользователь «KLL» предлагает следующий пост в своем ответе от «Пн Авг 10, 2015 12:59 pm». Согласно «кнуту»:
Таким образом, идея заключается в том, что
dhcpcd5
поведение изменилось в одном из обновлений. И предложение для решения этой проблемы состоит в том, чтобы удалить любые изменения/etc/network/interfaces
и вместо этого изменить настройки,/etc/dhcpcd.conf
чтобы получить статический IP-адрес; Пример конфигурации ниже:Более подробную информацию о содержании
dhcpcd.conf
можно найти на официальной странице руководства для этого .Тем не менее, другая идея состоит в том, чтобы сохранить настройки, которые у вас есть,
/etc/network/interfaces
но затем отредактировать,/etc/dhcpcd.conf
добавив строку,denyinterfaces eth0
чтобы демон DHCP полностью игнорировалeth0
. Любое решение должно работать, но одно решение может быть более предпочтительным в зависимости от ваших общих сетевых потребностей.источник
/etc/network/interfaces
никогда не менялось,manual
как в случае с Raspberry Pi. Предлагаемые решения работали и для меня.у меня получилось использовать / etc / network / interfaces как в исходном вопросе и просто удалить клиент dhcp:
источник
Должен сказать, что, к сожалению, ни одно из предложенных здесь решений не помогло мне. Но после долгой битвы с DHCP я наконец смог решить проблему:
сдача:
чтобы:
надеюсь это поможет.
источник
Предпочтительным способом отключения любой службы, такой как dhcpcd, является использование функций управления системой. Вам нужно будет перезагрузиться, чтобы оно вступило в силу - если только вы не остановите службу.
Для Джесси (которая использует
systemd
управление):А для старшего Уизи (
System-V
управление):Но если вы отключите его, то вам нужно убедиться, что у вас есть статическая конфигурация ip,
/etc/network/interfaces
иначе ваши интерфейсы не получат IP-адрес.источник
Вот краткое изложение того, что мне нужно было сделать для Raspbian Jessie 2017-01-11:
Отредактируйте / etc / network / interfaces и добавьте раздел статического адреса, удалите другие ссылки на статический интерфейс (в данном случае eth0). Автоматическая строка важна, иначе интерфейс не запустится при загрузке:
Затем отключите dhcpcd и включите стандартную сеть:
systemctl disable dhcpcd.service
systemctl enable networking
Raspbian Jessie, начиная с версии 2017-01-11, похоже, не использует сетевую систему
источник
Попробовал несколько вещей и обнаружил, что
нашел:
Я просто отключил
dhcpcd5
и исправил это с помощью:сделал перезагрузку и все было денди
источник