Изоляция сервисов, практическая работа 1
Запускаем рекурсивный DNS cервер с одной собственной зоной в контейнере
- Немного теории о DNS
- Устанавливаем docker
- Подготавливаем сеть
# docker network create --subnet=10.10.0.0/24 dns-net
- Подготавливаем файлы конфигурации
- named.conf
options { directory "/var/cache/bind"; recursion yes; listen-on { 10.10.0.100; }; forwarders { 8.8.8.8; 8.8.4.4; }; }; zone "my-example.com" { type master; file "/etc/bind/zones/db.my-example.com"; };
- db.my-example.com
$TTL 300 @ IN SOA ns1.my-example.com. root.my-example.com. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ; name servers - NS records IN NS ns1.my-example.com. ; name servers - A records ns1 IN A 10.10.0.1 test IN A 10.10.0.100 academy IN A 83.99.169.65
- named.conf
- Запускаем контейнер
docker run --network=dns-net --ip 10.10.0.100 \ --mount type=bind,source=/home/ikopmans/code/dns,target=/etc/bind \ --mount type=bind,source=/tmp,target=/var/cache/bind \ --mount type=bind,source=/tmp,target=/var/lib/bind \ internetsystemsconsortium/bind9:9.16