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

У меня есть локальная сеть за модемом ISP, маршрутизируемая TP-Link TL-WR941ND; DHCP-сервер включен, но у меня зарезервированы некоторые адреса. Я перечисляю их здесь:

  • Raspberry Pi (ethernet) -> 192.168.0.100
  • Macbook Pro (wifi) -> 192.168.0.101
  • Телефон Xiaomi (wifi) -> 192.168.0.102
  • 2-й ноутбук (wifi) -> 192.168.0.111
  • Телефон Motorola (wifi) -> 192.168.0.112 (как вы можете видеть, я перешел на .111 на случай, если я захочу добавить больше собственных устройств, .111 и .112 - устройства других членов семьи).

Теперь проблема, я вижу в списке клиентов DHCP, что Raspberry правильно указан как "Постоянный", в то время как у телефона Xiaomi есть обратный отсчет аренды с адресом 192.168.0.103 (должен быть .102). Я мог бы зарезервировать .103 для телефона и звонить ему один день, но я не хочу, чтобы этот беспорядок был в списке DHCP, а также хотел бы избежать будущих конфликтов в сети. Я даю всю информацию, которую мог собрать здесь:

Я запустил arp-scan с Macbook:

$sudo arp-scan -I en0 -l

Interface: en0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9 with 256 hosts
192.168.0.1     [TP-Link MAC]       TP-LINK TECHNOLOGIES CO.,LTD.
192.168.0.100   [Pi MAC]            Raspberry Pi Foundation ####<<<<----?????
192.168.0.102   [Pi MAC]            Raspberry Pi Foundation ####<<<<----?????
192.168.0.104   [guest phone MAC]   (Unknown)
192.168.0.103   [Xiaomi phone MAC]   Airgo Networks, Inc.

621 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9: 256 hosts scanned in 1.862 seconds (137.49 hosts/sec). 5 responded

На Пи я запускаю ip адрес:

$ip a show eth0

 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 link/ether b8:27:eb:0a:ec:42 brd ff:ff:ff:ff:ff:ff
 inet 192.168.0.100/24 brd 192.168.0.255 scope global eth0        ####<<<<----????
valid_lft forever preferred_lft forever
 inet 192.168.0.102/24 brd 192.168.0.255 scope global secondary eth0  ####<<<<----????
valid_lft forever preferred_lft forever
 inet6 fe80::ba27:ebff:fe0a:ec42/64 scope link
valid_lft forever preferred_lft forever

А на Pi /etc /network /interfaces:

$cat /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp       ####<<<----- seems ok, right?

allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Список ARP на маршрутизаторе не имеет привязанного / связанного MAC-адреса.

Я, честно говоря, не знаю, что происходит. Я предполагаю, что Raspberry делает странные вещи, но искренне я не эксперт по Linux и не системный администратор, я немного растерялся.

Есть идеи, что может происходить?

Заранее спасибо.

2 ответа2

2

Попробуйте освободить аренду DHCP от RPI:
# dhclient -r eth0

Затем запросите другой адрес:
# dhclient eth0

0

Марк указал мне правильное направление, но это была не совсем проблема. Решение заключается в следующем:

Файл dhcpcd.conf в /etc / в RPi показал следующее (среди прочего):

# A hook script is provided to lookup the hostname if not set by the DHCP
# server, but it should not be run by default.
nohook lookup-hostname
::: interface eth0
static ip_address=192.168.0.102/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Этот фрагмент отправляет запрос на адрес 192.168.0.102 в качестве предпочтительного IP-адреса, когда DHCP-сервер не работает или неисправен; между перезагрузками роутера запускается скрипт и запрашивает 192.168.0.102; только когда маршрутизатор завершает загрузку, DHCP-сервер просыпается и арендует 192.168.0.100, но не может согласовать 192.168.0.102, потому что RPI уже выбрал его в качестве предпочтительного. RPi получил два IP-адреса, один из которых был арендован DHCP-сервером в маршрутизаторе, а другой - DHCP-клиентом самого Pi.

Комментирование фрагмента и перезагрузка исправили все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .