dnsmasq Lightweight DNS & DHCP Server Setup

๐Ÿ’ก dnsmasq Lightweight DNS & DHCP Server Setup โ€” Executive Summary

Technical architectural analysis, practical configuration manifests, and deployment instructions for dnsmasq Lightweight DNS & DHCP Server Setup.

Mac: Local DNS settings

References and Guidelines (NOTE)

If used like this, /etc/hosts may not be touched

Setup
bash
brew install dnsmasq
Restart after setting local DNS
bash
DOMAIN=.com.dev #ํƒ€๊ฒŸ ๋„๋ฉ”์ธ ์ž…๋ ฅ *.com.dev ์ „์ฒด ๋Œ€์ƒ์ผ ๊ฒฝ์šฐ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ์‚ฌ์šฉ
IP=1.2.3.4 #ํƒ€๊ฒŸ IP ์ž…๋ ฅ
mkdir -pv $(brew --prefix)/etc/
echo "address=/$DOMAIN/$IP" > $(brew --prefix)/etc/dnsmasq.conf
sudo brew services restart dnsmasq
Add resolver
bash
DOMAIN_DIR=com.dev #ํƒ€๊ฒŸ ๋„๋ฉ”์ธ ์ž…๋ ฅ *.com.dev ์ „์ฒด ๋Œ€์ƒ์ผ ๊ฒฝ์šฐ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ์‚ฌ์šฉ
DNS_IP=127.0.0.1 #๋กœ์ปฌDNS ์‚ฌ์šฉ์‹œ ๊ณ ์ •
sudo mkdir -v /etc/resolver
sudo bash -c "echo 'nameserver $DNS_IP' > /etc/resolver/$DOMAIN_DIR"
Add local DNS to search order in System Preferences

System Preferences > Network > Wi-Fi (or whatever you use) > Advancedโ€ฆ > DNS > Add 127.0.0.1 to top of list

Check operation
bash
scutil --dns

Sample file location

bash
vi /opt/homebrew/Cellar/dnsmasq/2.90/.bottle/etc/dnsmasq.conf
vi /opt/homebrew/Cellar/dnsmasq/2.90/homebrew.mxcl.dnsmasq.plist
Autoload option on startup
bash
sudo cp -fv /opt/homebrew/Cellar/dnsmasq/2.90/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons
sudo chown root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *