dnsproxy

module
v0.0.0-...-dec2982 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2021 License: CC0-1.0

README

DNSProxy

これは何

なんか一時的に名前解決をhackしたいとき、ありますよね。サービス名のドメインを使いたいけど開発するときはそれはlocalhostに向いていてほしい、みたいな

そういうとき /etc/hosts を書き換えるというソリューションが知られているけど、恒常的に使う設定でも無ければあんまり触りたくないですよね。時々やらないといけないくて自動化したくなる。

そこでsedを持ち出すとちょっと不安だし、ansibleみたいなのを持ってくるのは大げさな気がする、世の中には /etc/hosts管理くんみたいなのもあるけど、別に/etc/hosts を管理したいわけじゃないんですよね

というわけで

sudo ./dnsproxy example.com=localhost

とかして起動すると、example.comの名前解決結果をlocalhostに向けてくれる君です

何をしているかというとnftablesを使って外向きの53番ポートへのアクセスをフックしています。example.com以外の名前解決には関心がないので/etc/resolv.confに書いてあるDNS Serverに投げ直したかったけど、これはたいてい53番へのアクセスになってしまってこれもフックに引っかかるので、やむをえず1.1.1.1:853DNS over TLSで名前解決を投げ直しています

便利だと思いませんか? 私はあんまり……。そもそもnftables使いたくなったからこんなことをしているけど、一時的に/etc/hostsを書き換えて、プロセスの終了とともにもとに戻してくれたらいいんですよね。

Install

go install github.com/theoremoon/dnsproxy@latest

Author

theoremoon

Directories

Path Synopsis
cmd
dnsproxy command
internal
redirector
/ DNS requestを特定のポートにリダイレクトするくん
/ DNS requestを特定のポートにリダイレクトするくん

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL