diff --git a/configure b/configure index 4d7f0e6ef14b56dd54e4f0626050ed756c77cbd9..a5b74a9d5996b3f1cb473d74995bdb09750e795e 100755 --- a/configure +++ b/configure @@ -1809,6 +1809,7 @@ s%@PUBLIC_NETWORK@%$PUBLIC_NETWORK%g s%@PUBLIC_ROUTER@%$PUBLIC_ROUTER%g s%@PUBLIC_NETMASK@%$PUBLIC_NETMASK%g s%@DHCPD_DYNRANGE@%$DHCPD_DYNRANGE%g +s%@NAMED_FORWARDERS@%$NAMED_FORWARDERS%g s%@DHCPD_CONTROLNET_DECL@%$DHCPD_CONTROLNET_DECL%g s%@SSLCERT_COUNTRY@%$SSLCERT_COUNTRY%g s%@SSLCERT_STATE@%$SSLCERT_STATE%g diff --git a/configure.in b/configure.in index 41ecfa09336e493ad73348f31f357fd8065e93a3..979789f6f81144db039e51544db8ac6f179aa9a4 100755 --- a/configure.in +++ b/configure.in @@ -84,6 +84,7 @@ AC_SUBST(PUBLIC_ROUTER) AC_SUBST(PUBLIC_NETMASK) AC_SUBST(DHCPD_DYNRANGE) AC_SUBST(DHCPD_CONTROLNET_DECL) +AC_SUBST(NAMED_FORWARDERS) AC_SUBST(SSLCERT_COUNTRY) AC_SUBST(SSLCERT_STATE) AC_SUBST(SSLCERT_LOCALITY) diff --git a/defs-default b/defs-default index 7bb20585445f4ca8f3b1e240fe7dcafd6ebb9ad9..bddea7aa66f2b81c3b4f350bbb408ebea62b1928 100644 --- a/defs-default +++ b/defs-default @@ -60,3 +60,4 @@ PUBLIC_NETWORK=155.98.33.0 PUBLIC_ROUTER=155.98.33.1 PUBLIC_NETMASK=255.255.255.0 DHCPD_DYNRANGE="155.98.36.200 155.98.36.249" +NAMED_FORWARDERS="" diff --git a/defs-elabinelab b/defs-elabinelab index 1468c1811dd7e4369ce6ed7ae1f8497e35371077..412bf41f797af7720b305f5524dafbf85529de9f 100644 --- a/defs-elabinelab +++ b/defs-elabinelab @@ -63,6 +63,7 @@ PUBLIC_NETWORK=changeme PUBLIC_ROUTER=changeme PUBLIC_NETMASK=changeme DHCPD_DYNRANGE=changeme +NAMED_FORWARDERS=changeme # # Must localize to avoid conflict with outer emulab frisbeed. # diff --git a/defs-example b/defs-example index b3c2f37bab2ae9c90eb7bb5112b1b4e4c408eaaa..3452b540ce165342553e88768d16697d5e769cc5 100644 --- a/defs-example +++ b/defs-example @@ -136,6 +136,12 @@ PUBLIC_NETMASK=255.255.255.0 # DHCPD_DYNRANGE="155.98.36.200 155.98.36.249" +# +# If you have forwarders for your named, specify them here for named.conf +# generation in the named directory. +# +NAMED_FORWARDERS="1.1.1.1 1.1.2.1" + # # You shouldn't have to change anything below this point # diff --git a/defs-stoller-home b/defs-stoller-home index 209654e56c0b0e311541746f002af0af8a706277..14965ecf7a74966855383d9d2b795515fc2f52bb 100644 --- a/defs-stoller-home +++ b/defs-stoller-home @@ -52,3 +52,5 @@ PUBLIC_NETWORK=155.98.33.0 PUBLIC_ROUTER=155.98.33.1 PUBLIC_NETMASK=255.255.255.0 DHCPD_DYNRANGE="155.98.36.200 155.98.36.249" +NAMED_FORWARDERS="206.163.129.2 69.59.192.71 69.59.192.72" + diff --git a/named/GNUmakefile.in b/named/GNUmakefile.in index 6139f12ebaa4d5a0ac73234b399be93d9c0895bf..c53fae34da13b84f303b9a54c374f9b9398cfed5 100644 --- a/named/GNUmakefile.in +++ b/named/GNUmakefile.in @@ -12,6 +12,7 @@ SUBDIR = named ETCDIR = /etc NAMEDB_DIR = $(ETCDIR)/namedb OURDOMAIN = @OURDOMAIN@ +FORWARDERS = @NAMED_FORWARDERS@ # This is silly. Needs to be done properly. TESTBED_NETWORK = @TESTBED_NETWORK@ diff --git a/named/named.conf.template.in b/named/named.conf.template.in index b1c81ed3fbf046f974db1cd20a86bc03485cdd23..db2955b1554e17068e8eec0d7aea805ccf9af0ab 100644 --- a/named/named.conf.template.in +++ b/named/named.conf.template.in @@ -15,10 +15,7 @@ # options { directory "/etc/namedb"; - # Put forwarders here if you have them - #forwarders { - # 1.1.1.1; - #}; + %forwarders% }; view "internal" { diff --git a/named/named_makeconf.in b/named/named_makeconf.in index 67db335e0c0d8e6565b6f1698b955dade0feaedb..17c26f3625c86b7e2ddc6dabcbe5b17531cebdcd 100755 --- a/named/named_makeconf.in +++ b/named/named_makeconf.in @@ -35,6 +35,7 @@ my $PRIVATE_NETMASK = "@PRIVATE_NETMASK@"; my $PUBLIC_NETWORK = "@PUBLIC_NETWORK@"; my $PUBLIC_ROUTER = "@PUBLIC_ROUTER@"; my $PUBLIC_NETMASK = "@PUBLIC_NETMASK@"; +my $NAMED_FORWARDERS = "@NAMED_FORWARDERS@"; # Testbed libraries. use lib "@prefix@/lib"; @@ -83,6 +84,18 @@ while (<IF>) { elsif ($2 eq "internal_network_dotted_reverse") { print $1 . "${c}.${b}.${a}" . "$3\n"; } + elsif ($2 eq "forwarders") { + if ($NAMED_FORWARDERS eq "") { + print ""; + } + else { + print $1 . "forwarders {\n"; + foreach my $forwarder (split(" ", $NAMED_FORWARDERS)) { + print $1 . $1 . "$forwarder;\n"; + } + print $1 . "};\n"; + } + } else { die("*** $0:\n". " Unknown special tag in named template file!\n");