現在、私は dnsmasq を使用していますが、Energized packs [ https://energized.pro/#packs] から大きな/ etc/hostsファイルを取得しています。これらのいくつかは非常に大きいです。
フォーラムではなく mailist を使用しているdnsmasqチームから情報を取得することは不可能でした。
1a)dnsmasqがアドレスを解決する方法を誰かに教えてもらえますか?
1b)それは:キャッシュ、/ etc/hosts、次にアップストリームDNSですか?
1c)/ etc/hostsは何らかの方法でメモリにキャッシュされていますか?
1d)ルックアップレイテンシを削減できるツール/ソリューションがない場合
2a) iptable フィルターは、[150,000以上のオーダーの]ドメイン/ URLの大規模なリストをブロックするのに高速でしょうか?
2b)iptablesを高速化するために、巨大なフィルターリストをメモリに保存する方法はありますか? IPTables-IPv4-DBTarpit について読みました。
3)IPアドレスの膨大なリストのIPルックアップをブロックするための待ち時間が最小のその他のツールに関するアドバイスはありますか?
私はこれをすべて持っていますRAMそして私はそれを使いたいです。
dnsmasq
に/etc/hosts
を使用するよりも、次のような行で構成を作成することをお勧めします。
address=/some.adserver.com/127.0.0.1
生成されたブロッキングリストファイルをに含めることができます
conf-file=...
dnsmasq
のメイン構成ファイル。
キーワードdnsmasq adblock
を検索すると、詳細な手順が見つかる場合があります。
質問の「通電された」URLは、dnsmasq
に固有の構成ファイルも提供します。
2つのオプションの比較:
1:addn-hosts=hosts.conf
[Energized.proから]をdnsmasq.conf
に追加します
dnsmasqを実行している同じマシンからのDigリクエストに3秒(ミリ秒ではない)を追加しましたhosts.conf
リストにあるかどうかに関係なく、ドメインの結果時間はほぼ同じでした。
2:dnsmasq.conf
with nono-hosts
パラメータが追加されましたが、Energized.proホストが/etc/hosts
ファイルに追加され、追加のルックアップ時間はありません。別のドメイン(dnssecが遅延を追加)。0msが同じドメインのDigを繰り返します。同様に、/etc/hosts
でドメインのDigを実行すると、最初以降は0msで0.0.0.0が正しく報告されました。
私の読書に基づいて、/etc/hosts
は起動時にメモリにロードされます。したがって、dnsmasqは、メモリに常駐する/etc/hosts
データに、独自のプロセスメモリに保存せずにアクセスしているように見えますが、addn-hosts=hosts.conf
を利用しているようです。最初のDigは72ミリ秒かかり、2番目のDig(キャッシュにある)は0ミリ秒かかるため、dnsmasq.conf
で使用されるキャッシュパラメーターはルックアップのキャッシュに厳密に使用され、addn-hosts=hosts.conf
データには使用されないため、それがどこに保存されているのかわかりません(しかし、3秒間、tmpファイルが多分?!?)
コードでさらに見つけた場合は更新します。