一部のクライアントはページフィルタリングにopenDNSを使用する必要があり、一部のクライアントは任意のDNS(Google DNSなど)を許可されているというポリシーを持つネットワークがあります。私はインターネットへのすべての接続に透過モードでSquidを使用しています。 Squidではすべてのリクエストに対してdns_nameserversを定義できますが、クライアントのIPに基づいて異なるDNSサーバーを定義する方法はありますか?または、Squidの外部で、一部のクライアントにopenDNSの使用を強制し、一部のクライアントの構成にあまり触れずにGoogle DNSを使用する賢明な方法はありますか?一部のクライアントへのアクセスが制限されています。
すでに回答済みの質問については、 DNSMasqを使用するクライアントごとのDNSサーバー を参照してください(または、dnsmasqの回答は実際にはsquidとは何の関係もないため、重複としてマークします)。
DHCPサーバーとしてdnsmasqを使用して、さまざまなクライアントに特定の範囲を設定します。次に例を示します。
dhcp-Host=00:00:00:00:00:01,set:DNS1,192.168.0.1
dhcp-Host=00:00:00:00:00:02,set:DNS1,192.168.0.2
dhcp-Host=00:00:00:00:01:01,set:DNS2,192.168.0.11
dhcp-Host=00:00:00:00:01:02,set:DNS2,192.168.0.12
dhcp-option=tag:DNS1,option:dns-server,8.8.8.8
dhcp-option=tag:DNS2,option:dns-server,8.8.4.4