DNSMasqからネットワーク上の特定のPCに、別のホストファイルを設定したり、さまざまな応答を送信したりする方法を知っている人はいますか?
具体的には、MAC ab:cd:00:01:02:03で子供のコンピューターからyoutubeやfacebookなどをブロックしたい場合、DNSMasqホストファイルに次のようなエントリを追加することを考えています。
>127.0.0.1 facebook.com、youtube.com
しかし、私は家族全員のためにこれらをブロックしたくはありません。彼/彼女のコンピューターのためだけです。
提案ありがとうございます。
承認された回答:
DNSMasqの条件付き機能は、主にそのタグ付けメカニズムに依存しており、DHCP側にのみ関連しています。
1つの解決策は、最初にDNSMasqのDHCP側を使用してタグを付けることです。 どのホストが「子」で、どちらが「大人」であるか:
# grownup network
dhcp-host=11:22:33:44:55:66,host01,192.168.1.11,infinite,set:grownup
dhcp-host=66:55:44:33:22:11,aa:bb:cc:dd:ee:ff,host02,192.168.1.12,infinite,set:growup
# child network
dhcp-host=ab:cd:00:01:02:03,child01,192.168.1.21,infinite,set:child
したがって、条件付きでdhcp-option
を設定します 特定のDNS解決チェーンを「成長した」ホストに帰属させる(10.10.10.1
を想定) および10.10.10.2
DNSサーバーと192.168.1.2
DNSMasqボックスのIPアドレスです):
# options
dhcp-option=tag:grownup,option:dns-server,10.10.10.1,10.10.10.2
dhcp-option=tag:child,option:dns-server,192.168.1.2
そこから、「成長した」ホストはISP DNSを介して直接解決し、「子」のホストはDNSMasq解決チェーン(またはDNSMasqボックスにある他のDNSサーバー)を使用します。
最後に、いくつかのhost-record
を追加します またはaddn-hosts
オプション:
host-record=www.facebook.com,127.0.0.1
DNSMasqの詳細:
- DNSMasq man