Example-DNS
DNS Example
version 1.7.0
David Fernández (at dit.upm.es david at dit.upm.es)=======November 23rd, 2006====
| style="text-align: right; vertical-align: top" width="208" |
Scenario
|- | colspan="2" |
This is an interesting example to learn and experiment with 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).

- "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:{| id="AutoNumber1" style="border-collapse: collapse" width="100%" border="1"
| width="14%" height="19" align="center" | e6
| width="14%" height="19" align="center" | upm.e6
| width="14%" height="19" align="center" | dit.upm
| width="14%" height="19" align="center" | umu.e6
| width="15%" height="19" align="center" | dif.umu
| width="15%" height="19" align="center" | cons.e6
|-
| width="14%" height="57" | Server
| width="14%" height="57" align="center" |
ns1.e610.1.1.12001:db8::1
| width="14%" height="57" align="center" |
ns1.upm.e610.1.1.12001:db8::1
| width="14%" height="57" align="center" |
ns1.dit.upm.e610.1.1.12001:db8::1
| width="14%" height="57" align="center" |
ns1.umu.e610.1.1.12001:db8::1
| width="15%" height="57" align="center" |
ns1.dif.umu.e610.1.1.12001:db8::1
| width="15%" height="57" align="center" |
ns1.cons.e610.1.1.12001:db8::1
|-
| width="14%" height="36" | Authoritative for direct domains:
| width="14%" height="36" align="center" |
e6
| width="14%" height="36" align="center" |
upm.e6
| width="14%" height="36" align="center" |
dit.upm.e6
| width="14%" height="36" align="center" |
umu.e6
| width="15%" height="36" align="center" |
dif.umu.e6
| width="15%" height="36" align="center" |
cons.e6
|-
| width="14%" height="57" | Authoritative for inverse domains:
| width="14%" height="57" align="center" |
10.0.0.0/82001:db8::/32
| width="14%" height="57" align="center" |
10.12.0.0/162001:db8:12::/48
| width="14%" height="57" align="center" |
10.12.10.0/242001:db8:12:1000::/56
| width="14%" height="57" align="center" |
10.13.0.0/162001:db8:13::/48
| width="15%" height="57" align="center" |
10.13.10.0/242001:db8:13:1000::/56
| width="15%" height="57" align="center" |
10.14.0.0/162001:db8:14::/48
|-
| width="14%" height="19" | Prefixes used by local hosts:
| width="14%" height="19" align="center" |
10.11.0.0/162001:db8:11::/48
| width="14%" height="19" align="center" |
10.12.1.0/242001:db8:12:100:/56
| width="14%" height="19" align="center" |
10.12.10.0/242001:db8:12:1000::/56
| width="14%" height="19" align="center" |
10.13.1.0/242001:db8:13:100:/56
| width="15%" height="19" align="center" |
10.13.10.0/242001:db8:13:1000::/56
| width="15%" height="19" align="center" |
10.14.0.0/162001:db8:14::/48
|-
| width="14%" height="19" | Example host locally registered:
| width="14%" height="19" align="center" |
h1.e610.11.1.12001:db8:11::1
| width="14%" height="19" align="center" |
h1.upm.e610.12.1.12001:db8:11::1
| width="14%" height="19" align="center" |
h1.dit.upm.e610.12.10.12001:db8:11::1
| width="14%" height="19" align="center" |
h1.umu.e610.13.1.12001:db8:11::1
| width="15%" height="19" align="center" |
h1.dif.umu.e610.13.10.12001:db8:11::1
| width="15%" height="19" align="center" |
h1.cons.e610.11.1.12001:db8:11::1
|}
|-
| class="title" colspan="2" | VNUML Description
|-
| colspan="2" |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd"> <vnuml> <global> <version>1.7</version> <simulation_name>dns</simulation_name> <ssh_key>/root/.ssh/identity.pub</ssh_key> <automac offset="0"/> <vm_mgmt type="private" network="192.168.0.0" mask="24" offset="0"> <host_mapping/> </vm_mgmt> <vm_defaults> <filesystem type="cow">/usr/share/vnuml/filesystems/root_fs_tutorial</filesystem> <kernel>/usr/share/vnuml/kernels/linux</kernel> <shell>/bin/sh</shell> <console id="0">xterm</console> </vm_defaults> </global> <net name="lan1" mode="uml_switch" /> <vm name="e6"> <if id="1" net="lan1"> <ipv4 mask="255.255.255.0">10.1.1.1</ipv4> <ipv6>2001:db8::1/64</ipv6> </if> <filetree root="/etc/bind" when="start">/usr/share/vnuml/examples/dns/ns1</filetree> <exec seq="start" type="verbatim">rm -f /etc/bind/*</exec> <exec seq="start" type="verbatim">mv /etc/bind/ns1/* /etc/bind</exec> <exec seq="start" type="verbatim">killall named</exec> <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf</exec> <exec seq="stop" type="verbatim">killall named</exec> </vm> <vm name="upm.e6"> <if id="1" net="lan1"> <ipv4 mask="255.255.255.0">10.1.1.2</ipv4> <ipv6>2001:db8::2/64</ipv6> </if> <filetree root="/etc/bind" when="start">/usr/share/vnuml/examples/dns/ns2</filetree> <exec seq="start" type="verbatim">rm -f /etc/bind/*</exec> <exec seq="start" type="verbatim">mv /etc/bind/ns2/* /etc/bind</exec> <exec seq="start" type="verbatim">killall named</exec> <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf</exec> <exec seq="stop" type="verbatim">killall named</exec> </vm> <vm name="dit.upm"> <if id="1" net="lan1"> <ipv4 mask="255.255.255.0">10.1.1.3</ipv4> <ipv6>2001:db8::3/64</ipv6> </if> <filetree root="/etc/bind" when="start">/usr/share/vnuml/examples/dns/ns3</filetree> <exec seq="start" type="verbatim">rm -f /etc/bind/*</exec> <exec seq="start" type="verbatim">mv /etc/bind/ns3/* /etc/bind</exec> <exec seq="start" type="verbatim">killall named</exec> <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf</exec> <exec seq="stop" type="verbatim">killall named</exec> </vm> <vm name="umu.e6"> <if id="1" net="lan1"> <ipv4 mask="255.255.255.0">10.1.1.4</ipv4> <ipv6>2001:db8::4/64</ipv6> </if> <filetree root="/etc/bind" when="start">/usr/share/vnuml/examples/dns/ns4</filetree> <exec seq="start" type="verbatim">rm -f /etc/bind/*</exec> <exec seq="start" type="verbatim">mv /etc/bind/ns4/* /etc/bind</exec> <exec seq="start" type="verbatim">killall named</exec> <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf</exec> <exec seq="stop" type="verbatim">killall named</exec> </vm> <vm name="dif.umu"> <if id="1" net="lan1"> <ipv4 mask="255.255.255.0">10.1.1.5</ipv4> <ipv6>2001:db8::5/64</ipv6> </if> <filetree root="/etc/bind" when="start">/usr/share/vnuml/examples/dns/ns5</filetree> <exec seq="start" type="verbatim">rm -f /etc/bind/*</exec> <exec seq="start" type="verbatim">mv /etc/bind/ns5/* /etc/bind</exec> <exec seq="start" type="verbatim">killall named</exec> <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf</exec> <exec seq="stop" type="verbatim">killall named</exec> </vm> <vm name="cons"> <if id="1" net="lan1"> <ipv4 mask="255.255.255.0">10.1.1.6</ipv4> <ipv6>2001:db8::6/64</ipv6> </if> <filetree root="/etc/bind" when="start">/usr/share/vnuml/examples/dns/ns6</filetree> <exec seq="start" type="verbatim">rm -f /etc/bind/*</exec> <exec seq="start" type="verbatim">mv /etc/bind/ns6/* /etc/bind</exec> <exec seq="start" type="verbatim">killall named</exec> <exec seq="start" type="verbatim">/usr/sbin/named -c /etc/bind/named.conf</exec> <exec seq="stop" type="verbatim">killall named</exec> </vm> <host> <hostif net="lan1"> <ipv4 mask="255.255.255.0">10.1.1.10</ipv4> </hostif> </host> </vnuml>
|-
| class="title" colspan="2" | Old Releases
|-
| colspan="2" |
- [1.3/dns.html 1.3]
- [1.6/dns.html 1.6]
|- | colspan="2" |
<center>Valid HTML 4.01!
|}
</div>