Install netmagis
- postgresql server and database (not managed here), can use pgsql variable
netmagis_default_domain('localdomain') Default netmagis domain …netmagis_http_host('netmagis.localdomain')pgsql({}) - dicthost: db hostport(5432): database portuser: db userpasswd: db passwd
netmagis_rootusers(['admin']) Admin usersnetmagis_socket('unix:/var/run/fcgiwrap/netmagis.sock') Socket between netmagis daemon and nginxnetmagis_zonesdir('/var/netmagis/dnsmaster') Zones directorynetmagis_dhcpd_file('/var/netmagis/dhcpd-gen.conf') dhcpd file generatednetmagis_dhcpd_failover('') string added to dhcp pools for ISC DHCPD failover mechanismnetmagis_dhcpd_check_cmd('/usr/sbin/service isc-dhcpd configtest') dhcpd config checknetmagis_dhcpd_cmd('/usr/sbin/service isc-dhcpd restart') dhcpd reload commandnetmagis_zonecmd('/usr/local/sbin/nsd-control reload') zones reload commandnetmagis_cron_user('root') crons usernetmagis_cron_dns('{{ prefix }}/sbin/mkzones') program to run for zones generationnetmagis_cron_dhcp('{{ prefix }}/sbin/mkdhcp') program to run for dhcpd config generationprefix(/usr) use /usr/local here on freebsd
- nginx
- dhcpd
- nsd
Simple one:
- hosts: magis
roles:
- netmagis
vars:
pgsql: { host: 'mydbhost', port: '5432', user: 'magis', passwd: 'NetMagisPassword' }
netmagis_http_host: 'netmagis.univ.fr'
netmagis_default_domain: 'test.univ.fr'
sysadmin_mail: netmagis@univ.fr
nsd_patterns:
- { name: magismaster, notify: [ "192.0.2.3 NOKEY", "198.51.100.2 NOKEY" ], provide-xfr: [ "192.0.2.3 NOKEY", "198.51.100.2 NOKEY" ] }
nsd_zones:
- { name: 'niceusers.univ.fr.', masters: ['192.0.2.3'], pattern: magismaster }
- { name: 'others.univ.fr.', masters: ['192.0.2.3'], pattern: magismaster }
BSD
Geoffroy Desvernay for Ecole Centrale de Marseille