Index: tools/gformat.py
===================================================================
--- tools/gformat.py	(revision 10256)
+++ tools/gformat.py	(revision 10264)
@@ -686,5 +686,5 @@
 
 
-def make_dns(output_dir = 'dns'):
+def make_dns(output_dir = 'dns', external = False):
   items = dict()
 
@@ -809,15 +809,23 @@
   details['serial'] = time.strftime('%Y%m%d%H')
 
+  if external:
+    dns_masters = ['siteview.wirelessleiden.nl', 'ns1.vanderzwet.net']
+  else:
+    dns_masters = ['sunny.wleiden.net']
+
+  details['master'] = dns_masters[0]
+  details['ns_servers'] = '\n'.join(['\tNS\t%s.' % x for x in dns_masters])
+
   dns_header = '''
 $TTL 3h
-%(zone)s. SOA sunny.wleiden.net. beheer.lijst.wirelessleiden.nl. ( %(serial)s 1d 12h 1w 3h )
+%(zone)s. SOA %(master)s. beheer.lijst.wirelessleiden.nl. ( %(serial)s 1d 12h 1w 3h )
 	; Serial, Refresh, Retry, Expire, Neg. cache TTL
 
-	NS	sunny.wleiden.net.
+%(ns_servers)s
   \n'''
 
 
-  if not os.path.isdir('dns'):
-    os.makedirs('dns')
+  if not os.path.isdir(output_dir):
+    os.makedirs(output_dir)
   details['zone'] = 'wleiden.net'
   f = open(os.path.join(output_dir,"db." + details['zone']), "w")
@@ -976,5 +984,5 @@
 
     elif sys.argv[1] == "dns":
-      make_dns(sys.argv[2] if len(sys.argv) > 2 else 'dns')
+      make_dns(sys.argv[2] if len(sys.argv) > 2 else 'dns', 'external' in sys.argv)
     elif sys.argv[1] == "cleanup":
       # First generate all datadumps
