web-dev-qa-db-ja.com

iptablesとdnsmasq- / etc / hostsによるドメインブロッキングの比較

現在、私は 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そして私はそれを使いたいです。

4
ZacWolf

dnsmasq/etc/hostsを使用するよりも、次のような行で構成を作成することをお勧めします。

address=/some.adserver.com/127.0.0.1

生成されたブロッキングリストファイルをに含めることができます

conf-file=...

dnsmasqのメイン構成ファイル。

キーワードdnsmasq adblockを検索すると、詳細な手順が見つかる場合があります。

質問の「通電された」URLは、dnsmasqに固有の構成ファイルも提供します。

1
Bodo

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ファイルが多分?!?)

コードでさらに見つけた場合は更新します。

0
ZacWolf