纲要
目前 Linux 操作系统十分火爆,所以很多朋友希望了解一下 Linux 下虚拟域名的实现过程。下面就基于目前比较流行的 RedHat 来讨论一下。虚拟域名的有关原理请参考《 NT 下虚拟域名的实现》一文。
目录
DNS 服务器的设置
Apache 服务器的配置
CGI 程序的编制
DNS 服务器的设置
作 者 : 郑涛
我们知道互联网网是基于 TCP/IP 协议的,要进行通信必须获得对方的 IP 地址,这是通过 DNS 服务器来实现的。因此要想实现虚拟域名首先应当令 DNS 服务器接受该虚拟域名,即把它映射到指定的 IP 地址上。因为我们靠 Web 服务器来区分域名,所以这个 IP 地址自然应当是 Web 服务器所管理的。
RedHat6.0 操作系统中捆绑有 BIND DNS 服务器。它的域名配置文件是 "/etc/named.conf" ,一般情况下,域配置文件放在 "/var/named" 目录下面。
例 1 . named.conf 文件的配置:
zone "domain.com" {
type master;
file "domain.com";
};
zone "0.10.10.in-addr.arpa" {
type master;
file "10.10.0";
};
该例子说明 "domain.com" 的域配置文件是 "/var/named/domain.com" ,反向域的配置文件是 "/var/named/10.10.0" 。 domain.com 文件负责把 DNS 域名映射为 IP 地址。
例 2 . domain.com 文件配置:
@ IN SOA dns.domain.com.hostmaster.dns.domain.com. (
1998111003 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX10 dns.domain.com.
@ IN NSdns.domain.com.
@ IN A10.10.0.1
www IN A10.10.0.1
假定要增加的域名是 aaa.domain.com ,想要指到 www.domain.com , DNS 服务中应增加一个别名记录,可写成:
aaa IN CNAME www.domain.com.
如果需要配置大量的虚拟域名, domain.com 文件要很大,而且也相当麻烦。我们可以使用符号 "*" ,即在 domain.com 文件中加入:
* IN CNAME www.domain.com.
这样它就把所有没给出设置的以 domain.com 结尾的记录全部转到 www.domain.com 去了,不管是 aaa.domain.com 还是 bbb.domain.com 。这不会影响已有的记录。 配置好 DNS 服务器后应该重新启动守护进程 named:
[root@domain /root]# /etc/rc.d/init.d/named restart