2つの異なるシナリオで使用できるデバイスがあります。
1 つは、通常のイーサネット LAN 企業ネットワークに接続されていることです。このネットワークには DHCP サーバーがあり、デバイスは DHCP クライアントとして IP アドレスを自動的に受信することが期待されます。
2 番目のシナリオは、デバイスがイーサネット LAN ケーブルを使用して PC/ラップトップに直接接続される場合です。その場合、デバイスは独自の IP を選択し、PC/ラップトップにも IP を与えることが予想されます。その場合、デバイスは DHCP サーバーの役割を担う必要があります。
おそらく、これがどこに向かっているのか、すでにお分かりでしょう。デバイスのユーザーが何かを設定しなければならない状況は避けたいのです。接続するだけで使えるようにすべきです。さて、問題は、ネットワーク内に別のDHCPサーバーがあるかどうかを確実に知ることが難しいはい、DHCPリクエストなどを行うことができます。99%の確率でサーバーを見つけることができます。しかし、今回1回だけサーバーが見つからなかったとき(パケットロスやパケット移動時間が長いなど)、デバイスがDHCPサーバーになった場合、間違った範囲のIPアドレスを配布することで、会社のネットワーク全体に悪影響を及ぼします。この問題を解決するにはどうすればよいですか?この問題を解決するために実行できるプロトコルや安全対策はありますか?保証された会社のネットワークに干渉しないようにするには?
私のデバイスは、プリンタのようなサービスを提供するクライアント デバイスです。OpenWRT を実行します。自分でコンパイルし、すべての構成ファイルを制御します。ユーザーは通常、Windows 7、8、または 10 を実行します。OpenWRT で APIPA を有効にするにはどうすればよいでしょうか。または、AVAHI を有効にできますか。これは Windows の APIPA と互換性がありますか。
答え1
これはすでにほとんどの IP クライアントに組み込まれており、APIPA: Automatic Private IP Addressing と呼ばれます。
デバイスが DHCP サーバーがない LAN に接続すると、デバイス同士が通信して APIPA アドレスを決定します。これらは通常、169.254... で始まるため簡単に識別でき、LAN 管理やインターネット アクセスが利用できないことを示すことがよくあります。
また、何らかのネットワークに接続していることがわかっている場合は、ネットワーク上の他のデバイスの APIPA アドレスを見つけて、そのアドレスを使用して通信できることも意味します。
答え2
ルーター上
iptables -I INPUT 1 -i eth0 -p udp -m mac ! --mac-source XX:XX:XX:XX:XX:XX -j DROP
変化eth0NIC に。
MACアドレスを変更します。
の!はNOTを意味します。これにより、ホワイトリストが作成されますあなたのDHCPサーバーが通信します。スポーツおよび/またはdポート必要に応じてオプションを選択します。
DHCP サーバーをオンにします。