2つの競合するIPを持つ1つのNICがあります。修正しますか?


0

私は自分の問題を検索しましたが、同様の質問はありますが、正しい方向に導かれたものはありませんでした。重複した質問のように見える場合は申し訳ありません。

ISPモデムの背後に、TP-Link TL-WR941NDによってルーティングされたLANがあります。DHCPサーバーは起動していますが、いくつかのアドレスが予約されています。これらをここにリストします:

  • Raspberry Pi(イーサネット)-> 192.168.0.100
  • Macbook Pro(wifi)-> 192.168.0.101
  • Xiaomi電話(wifi)-> 192.168.0.102
  • 2番目のラップトップ(wifi)-> 192.168.0.111
  • モトローラの電話(wifi)-> 192.168.0.112(ご覧のとおり、自分のデバイスをさらに追加したい場合は.111にジャンプしました。.111および.112は家族の他のメンバーのデバイスです)。

問題は、Xiaomi電話のアドレスが192.168.0.103(.102である必要があります)のリースカウントダウンを持っている間、Raspberryが「永続的」として正しくリストされていることをDHCPクライアントリストに表示することです。電話用に.103を予約して1日に電話することはできますが、この混乱をDHCPリストに入れたくないし、ネットワーク内での将来の競合も避けたいです。ここで収集できるすべての情報を提供します。

Macbookからarp-scanを起動しました。

$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

Piで、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の専門家でもシステム管理者でもないので、少し迷っています。

何が起こっているのでしょうか?

前もって感謝します。


おそらくセットアップに複数の問題があります。静的IPがDHCPの範囲内にないことを確認することから始める必要があります。
ジュリーペレティエ

静的IPはありません。少なくとも私が知っていることではありません。予約アドレス(192.168.0.100/101/etc)を意味する場合、それらはDHCPサーバーによって予約ベースで割り当てられますが、他のDHCPアドレスと同じ方法で割り当てられます。何か他のことを話している場合、申し訳ありませんが、もう少し説明していただけますか?ありがとう。
AirieFenix

その場合、ルーター上のこれらの予約アドレスに問題があるはずですが、Xiaomi電話にもARP要求に対する誤った応答として設定エラーがあると思われます。
ジュリーペレティエ

回答:


2

rPiからDHCPリースを解放してみてください。
# dhclient -r eth0

次に、別のアドレスをリクエストします。
# dhclient eth0


リリースとリクエストの後、ip addrは192.168.0.102がセカンダリIPになったことを示します。それは素晴らしいことです。ただし、ルーターをリセットして(DHCPクライアントリストを消去し、各クライアントをそれぞれのアドレスに復元する)、ip addrが優先アドレスとして192.168.0.100と192.168.0.102の両方を再度表示します。そんなことがあるものか?
AirieFenix

この答えは私を正しい方向に向けてくれました。しかし、それは私の問題に対する正確な答えではありません。以下の答え。どうもありがとう、マーク。
AirieFenix

0

マークは正しい方向に私を指摘したが、それは問題ではなかった。解決策は次のとおりです。

RPiの/ etc /にあるdhcpcd.confファイルは、(特に)以下を示しました。

# 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

このスニペットは、DHCPサーバーが実行されていないか、障害がある場合に、優先IPとしてアドレス192.168.0.102の要求をプッシュします。ルーターが再起動する間にスクリプトが起動し、192.168.0.102を要求します。ルーターが起動を完了してDHCPサーバーが起動し、192.168.0.100をリースする場合にのみ、RPIによって優先されているため、192.168.0.102をネゴシエートできません。RPiは2つのIPになりました。1つはルーターのDHCPサーバーによってリースされ、もう1つはPi上のDHCPクライアントによって要求されました。

スニペットにコメントして再起動すると、すべてが修正されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.