Example-DNS

Authors: David Fern&aacute;ndez (david at dit.upm.es) version 1.7, March 10th, 2007

Scenario
This is an interesting example to learn and experiment with the Internet's Domain Name System (DNS) and the configuration of the widest used DNS server implementation: bind.The example implements the complete dual IPv4/IPv6 DNS hierarchy shown in the figure. All DNS servers are under the fictitious .e6 top level domain (used for testing in Euro6IX project).



NOTE: if you are experiencing problems with the conventional xterm, we recommend you to uncomment the  tag in each virtual machine, in order to use gnome-terminal, that seems to be more stable. Of course, you will need the gnome-terminal installed in your system.

Once you have started the scenario (vnuml -t ...) and the simulation (vnuml -s ...), you can make queries to the different name servers from any of the virtual machines or the host (which is included in the scenario with address 10.1.1.10) using dig tool. For example:
 * dig @10.1.1.1 h1.dit.upm.e6 queries root server (10.1.1.1) to get the A record corresponding to h1.dit.upm.e6 host.
 * dig @10.1.1.3 -x 10.12.1.1 queries dit.upm.e6 server (10.1.1.3) to get the PTR record corresponding to 10.12.1.1.
 * dig @10.1.1.3 -t ptr 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.4.1.0.0.8.b.d.0.1.0.0.2.ip6.arpa queries dit.upm.e6 server (10.1.1.3) to get the PTR record corresponding to 2001:db8:14:100::1 IPv6 address.

The following table shows the main data related to the scenario:

VNUML Description
 <!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd" [ <!ENTITY VNUMLDIR "/usr/share/vnuml/"> <!ENTITY BASEDIR "/root/"> <!ENTITY REDIR "&lt;/dev/null &gt;/dev/null 2&gt;&amp;1 &amp;"> ]>

1.7    dns ~/.ssh/identity.pub     &VNUMLDIR;filesystems/root_fs_tutorial &VNUMLDIR;kernels/linux &BASEDIR; xterm 



xterm,-T e6,-e 10.1.1.1 2001:db8::1/64  conf/ns1 rm -f /etc/bind/* mv /etc/bind/ns1/* /etc/bind <exec seq="start" type="verbatim">killall named <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf <exec seq="stop" type="verbatim">killall named </vm>

<vm name="upm.e6"> xterm xterm,-T upm.e6,-e <ipv4 mask="255.255.255.0">10.1.1.2 2001:db8::2/64 </if> <filetree when="start" root="/etc/bind">conf/ns2 <exec seq="start" type="verbatim">rm -f /etc/bind/* <exec seq="start" type="verbatim">mv /etc/bind/ns2/* /etc/bind <exec seq="start" type="verbatim">killall named <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf <exec seq="stop" type="verbatim">killall named </vm>

<vm name="dit.upm"> xterm xterm,-T dit.upm,-e <ipv4 mask="255.255.255.0">10.1.1.3 2001:db8::3/64 </if> <filetree when="start" root="/etc/bind">conf/ns3 <exec seq="start" type="verbatim">rm -f /etc/bind/* <exec seq="start" type="verbatim">mv /etc/bind/ns3/* /etc/bind <exec seq="start" type="verbatim">killall named <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf <exec seq="stop" type="verbatim">killall named </vm>

<vm name="umu.e6"> xterm xterm,-T umu.e6,-e <ipv4 mask="255.255.255.0">10.1.1.4 2001:db8::4/64 </if> <filetree when="start" root="/etc/bind">conf/ns4 <exec seq="start" type="verbatim">rm -f /etc/bind/* <exec seq="start" type="verbatim">mv /etc/bind/ns4/* /etc/bind <exec seq="start" type="verbatim">killall named <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf <exec seq="stop" type="verbatim">killall named </vm>

<vm name="dif.umu"> xterm xterm,-T dif.umu,-e <ipv4 mask="255.255.255.0">10.1.1.5 2001:db8::5/64 </if> <filetree when="start" root="/etc/bind">conf/ns5 <exec seq="start" type="verbatim">rm -f /etc/bind/* <exec seq="start" type="verbatim">mv /etc/bind/ns5/* /etc/bind <exec seq="start" type="verbatim">killall named <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf <exec seq="stop" type="verbatim">killall named </vm>

xterm xterm,-T cons,-e <ipv4 mask="255.255.255.0">10.1.1.6 2001:db8::6/64 </if> <filetree when="start" root="/etc/bind">conf/ns6 <exec seq="start" type="verbatim">rm -f /etc/bind/* <exec seq="start" type="verbatim">mv /etc/bind/ns6/* /etc/bind <exec seq="start" type="verbatim">killall named <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf <exec seq="stop" type="verbatim">killall named </vm>

10.1.1.10

Download

 * VNUML specification file: dns.xml
 * Configuration files: dns.tar

Old Releases

 * 1.3
 * 1.6