Dd-wrtを実行する中央ルーターのあるネットワークがあります。それに接続されているのは、いくつかのエンドユーザーデバイスです。ただし、1つのポートは、DHCPサーバーを実行する特別なデバイス用に予約されています。 DHCPをオフにできないため、特別と呼んでいます。しかし実際には、dd-wrtルーターにDHCPを提供してもらいたいのです。
その1つのデバイスとの間のすべてのDHCPトラフィックをブロックするルールを設定するにはどうすればよいですか(iptablesベースである必要があると思いますか?)。
デバイスが同じサブネット上にあり、異なるサービスの他のすべてのデバイスから到達可能であることに注意してください。
DHCPがサーバーにUDPポート67を使用し、クライアントにUDPポート68を使用するという事実から、次のようなIPテーブルルールを作成できます。
iptables -A FORWARD -p udp -d that-one-device-ip-address --dport 67 -j DROP
iptables -A FORWARD -p udp -s that-one-device-ip-address --sport 68 -j DROP
MACアドレスでブロックするには、-s $ip_address
を-m mac --mac-source $mac_address
に置き換えます。並列の--mac-destination
コマンドはありません(場合によっては回避できる可能性があります。 https://superuser.com/q/977997/247806 を参照してください)。
ただし、iptablesはDHCPトラフィックをブロックしません( https://unix.stackexchange.com/q/447440/103025 を参照)。