インフラは筋肉で構築するもの

サーバとネットワークを筋肉でどうにかします

自宅サーバで内向きDNSコンテナを作る

内向きDNSサーバをESXiから移行します BINDだと管理が面倒なのでdnsmasqを使って構築します

dnsmasqとは

軽量なDNSサーバとDHCPサーバで、簡単にDNSを立てることができます

$ vi Dockerfile
###############################
FROM alpine                
# FROM hypriot/rpi-alpine-scratch raspberry piの場合はこちらを使用

RUN apk update && \
apk upgrade && \
apk add bash dnsmasq && \
rm -rf /var/cache/apk/* && \
mkdir -p /etc/default/ && \
echo -e "ENABLED=1\nIGNORE_RESOLVCONF=yes" > /etc/default/dnsmasq

CMD ["dnsmasq","--no-daemon"]

ビルドする

$ docker build -t dnsmasq ./

# dnsmasq用のconfigを用意
$ mkdir /opt/docker
$ vi /opt/docker/dnsmasq.conf

# 中身は適宜書き換えてください
#dnsmasq config, for a complete example, see:
#  http://oss.segetech.com/intra/srv/dnsmasq.conf
#log all dns queries
log-queries
#dont use hosts nameservers
no-resolv
#use google as default nameservers
server=8.8.4.4
server=8.8.8.8
#serve all .company queries using a specific nameserver
server=/company/10.0.0.1
#explicitly define host-ip mappings
# adress=/使いたい名前.使いたい名前/割り当てるIPアドレス
address=/myhost.company/10.0.0.2

# 作ったコンテナをrunする
$ docker run --name dnsmasq -d -p 53:53/udp -v /opt/ddocker/nsmasq.conf:/etc/dnsmasq.conf dnsmasq

サンプルをそのまま使うとnslookup myhost.companyで10.0.0.2が帰ってきます

これで名前解決できるようになりました