
DNSnitchは、ネットワークトラフィックを完全に制御できる、ローカルでプライバシー優先のDNSサーバーです。受動的なブロックリストとは異なり、DNSnitchは「Default Deny」(デフォルト拒否)の哲学に基づいて動作します。つまり、未知のドメインはすべてデフォルトでブロックされ、リアルタイムのターミナルダッシュボードで承認するまでアクセスできません。
免責事項 これは自分用に作ったもので、必要とする人がいればここに置いてあるだけです。バグを見つけたら遠慮なくIssueを開いてください!
対話型ターミナルDNSファイアウォール
DNSnitchは、ネットワークトラフィックを完全に制御できる、ローカルで動作するプライバシー最優先のDNSサーバーです。パッシブなブロックリストとは異なり、DNSnitchは**「デフォルト拒否」**の哲学で動作します。つまり、未知のドメインはすべてデフォルトでブロックされ、リアルタイムのターミナルダッシュボードで承認するまでアクセスできません。
NXDOMAINを返し、「保留キュー」に表示されます。Apply したときだけ有効になります。ダッシュボードはファンクションキーで操作します。
PgUp/PgDnでスクロールできます。Left/Right 矢印キーで列(Temp、Once、Perm、Blocked)をハイライトし、Up/Down でその列をスクロールします。> は選択中を示し、* はステージングされた変更を示します。DNSnitchはキーボード操作が基本です。以下はConsole [F1] で利用可能なコマンドの完全なリストです。
アクションを適用する前に、対象を選択する必要があります。保留中のリクエストはIDで、手動ドメインは名前で選択できます。
| コマンド | 使用例 | 説明 |
|---|---|---|
s | s | 現在の選択をクリアします。 |
s <id> | s 1 3 5 | キューID(F3で確認可能)で保留中のドメインを選択します。 |
s <domain> | s google.com | 名前で特定のドメインを選択します(キューになくても可)。既存ルールの編集に便利です。複数選択に対応しています。 |
q, ls | q | キュータブ [F3] に切り替えます。 |
clear | clear | 保留キューをフラッシュします(表示からすべての保留リクエストを削除します)。 |
ドメインを選択したら、以下のショートカットでステータスを設定します。
| コマンド | 使用例 | 説明 |
|---|---|---|
p | p | 選択項目を**恒久許可(Permanent Allow)**に設定します。 |
t | t | 選択項目を一時許可(Temporary)(5分間)に設定します。 |
o | o | 選択項目を一度だけ許可(Allow Once)(次のリクエストのみ)に設定します。 |
b | b | 選択項目をブロック(Blocked)(ブラックリスト)に設定します。 |
rm, del | rm | 選択したドメインのルールを削除します(忘れて、最初からやり直します)。 |
変更は適用するまで有効になりません。
| コマンド | 使用例 | 説明 |
|---|---|---|
cc | cc | 設定確認(Check Config): ステージングされた変更のテキスト要約を表示します。 |
d, ditch | d | 破棄(Discard): ワークスペースをリセットし、ステージングされた変更をすべて元に戻します。 |
a | a | 適用(Apply): ワークスペースをライブのファイアウォールデータベースにコミットします。 |
ファイアウォールのグローバルな動作を変更します。
| コマンド | 使用例 | 説明 |
|---|---|---|
m dft | m dft | デフォルトモード(Default Mode): 未知のものをすべてブロックします(標準的なセキュリティ)。 |
m rec | m rec | レコードモード(Record Mode): すべてを許可し、一意のドメインを [F6] に記録します。 |
m rbl | m rbl | レコード+ブロックリスト(Record + Blocklist): 既知のブロックを除くすべてを許可し、一意のドメインを記録します。 |
crec | crec | 記録クリア(Clear Records): [F6] の記録済みドメインのリストを消去します。 |
ドメインをカスタムターゲットにマッピングします(ローカルDNSスプーフィング)。
| コマンド | 使用例 | 説明 |
|---|---|---|
r | r dev.loc 127.0.0.1 | dev.loc をローカルIPにリダイレクトします(Aレコード)。 |
r | r my.net google.com | my.net を google.com にリダイレクトします(CNAME)。 |
ur | ur dev.loc | リダイレクト解除(Unredirect): dev.loc のカスタムルールを削除します。 |
| コマンド | 使用例 | 説明 |
|---|---|---|
logs | logs | ログタブ [F4] に切り替えます。 |
help | help | 利用可能なすべてのコマンドを一覧表示します。 |
exit | exit | DNSサーバーをシャットダウンします。 |
example.com にアクセスしてみます。失敗します。1. example.com が表示されます。s 1 と入力します。(行がハイライトされます)。p と入力します。(行に [PERM] と表示されます)。a と入力します。(適用)。google.com を誤ってブロックしてしまいました。s google.com と入力します。rm(削除)または p(恒久許可)と入力して、ブロックを上書きします。a と入力します。mysite.local でアクセスしたいとします。r mysite.local 127.0.0.1 と入力します。m rec(モード: レコード)と入力します。m dft と入力して、セキュアなモードに戻します。