实验名称:配置DNS服务器并基于域名配置虚拟web服务器

上一个实验Web虚拟主机部分刚刚做完几遍,没时间单写实验了,这里结合到了DNS里面一起做了

实验过程:

步骤1:基本环境

一台dns服务器,两台客户机,linux windows各一台

步骤2:安装软件包

[root@dc ~]# yum -y install  bind bind-chroot caching-nameserver

Installed:

 bind.x86_64 30:9.3.6-20.P1.el5_8.5                                        

 bind-chroot.x86_64 30:9.3.6-20.P1.el5_8.5                                

 caching-nameserver.x86_64 30:9.3.6-20.P1.el5_8.5                          

Complete!

[root@dc ~]#

步骤3:修改主配置文件

进入配置主配置文件,我们发现没有主配置文件但是有模板,粘贴之

[root@dc etc]# ls

localtime                      named.rfc1912.zones          rndc.key

named.caching-nameserver.conf  named.rfc1912.zones.rpmorig

[root@dc etc]# cp -p named.caching-nameserver.conf named.conf

[root@dc etc]# cd /var/named/chroot/etc/

[root@dc etc]# vim named.conf

做如下配置

...

15         listen-on port 53 { 192.168.4.253; };

...

27         allow-query     { any; };

28         allow-query-cache { any; };

...

37         match-clients      { any; };

38         match-destinations { any; };

接下来配置include调用的主配置文件

50 zone "tarena.com"IN {

51     type master;

52     file "tarena.com.zone";

53     };

54 zone "4.168.192.in-addr.arpa" IN {

55     type master;

56     file "tarena.com.arpa";

57     };

添加如上配置存退

步骤4:修改dns数据库文件

首先,将模板复制一下,复制两个文件,一个域名解析,一个用来反向解析

[root@dc named]# cp -p named.local tarena.com.arpa

[root@dc named]# cp -p named.local tarena.com.zone

接下来先配置解析文件

[root@dc named]# vim tarena.com.zone

1 $TTL    86400

 2 @       IN      SOA     localhost. root.localhost.  (

 3                                       1997022700 ; Serial

 4                                       28800      ; Refresh

 5                                       14400      ; Retry

 6                                       3600000    ; Expire

 7                                       86400 )    ; Minimum

 8         IN      NS      dns1.tarena.com.

 9 dns1    IN      A       192.168.4.253

10 www     IN      A       192.168.4.5

11 bbs     IN      A       192.168.4.6

12 blog    IN     CNAME    bbs

接着配置反向解析

1 $TTL    86400

 2 @       IN      SOA     localhost. root.localhost.  (

 3                                       1997022700 ; Serial

 4                                       28800      ; Refresh

 5                                       14400      ; Retry

 6                                       3600000    ; Expire

 7                                       86400 )    ; Minimum

 8         IN      NS      dns1.tarena.com.

 9 253     IN      PTR     dns1.tarena.com.

10 5       IN      PTR     www.tarena.com.

11 6       IN      PTR     bbs.tarena.com.

配置完成

检测一下

[root@dc named]# named-checkzone tarena.com tarena.com.zone

zone tarena.com/IN: loaded serial 1997022700

OK

[root@dc named]# named-checkzone tarena.com tarena.com.arpa

zone tarena.com/IN: loaded serial 1997022700

OK

[root@dc named]#

发现是OK的,

重启服务

[root@dc named]# service named restart

停止 named:                                               [确定]

启动 named:                                               [确定]

[root@dc named]# chkconfig named on

[root@dc named]#

下面去测试

步骤5:测试

[root@localhost ~]# nslookup

> 192.168.4.5

Server:         192.168.4.253

Address:        192.168.4.253#53

5.4.168.192.in-addr.arpa        name = www.tarena.com.

> 192.168.4.6

Server:         192.168.4.253

Address:        192.168.4.253#53

6.4.168.192.in-addr.arpa        name = bbs.tarena.com.

> blog.tarena.com

Server:         192.168.4.253

Address:        192.168.4.253#53

blog.tarena.com canonical name = bbs.tarena.com.

Name:   bbs.tarena.com

Address: 192.168.4.6

>

至此实验完成。


实验名称:实现基于域名的虚拟主机

步骤1:实验环境

基于上一个和上上一个实验

步骤2:创建存放路径

[root@dc html]# cd /var/www/html/

[root@dc html]# mkdir bbs bss

分别向两个路径添加各自的默认主页

[root@dc html]# cat bbs/index.html

this is bbs

[root@dc html]# cat bss/index.html

this is bss

[root@dc html]#

步骤3:直接改配置文件

vim /etc/httpd/conf.d/vmhost.conf

进去后配置如下

1 NameVirtualHost *:80

 2 <VirtualHost *:80>

 3     DocumentRoot /var/www/html

 4     ServerName www.tarena.com

 5     ErrorLog logs/tarena.com-error_lo

 6     CustomLog logs/tarena.com-access_log common

 7 </VirtualHost>

 8 <VirtualHost *:80>

 9     DocumentRoot /var/www/html/bbs

10     DirectoryIndex bbs.html index.html

11     ServerName bbs.tarena.com

12     ErrorLog logs/bbs.com-error_lo

13     CustomLog logs/bbs.com-access_log common

14 </VirtualHost>

15 <VirtualHost *:80>

16     DocumentRoot /var/www/html/bss

17     ServerName bss.tarena.com

18     ErrorLog logs/bss.com-error_lo

19     CustomLog logs/bss.com-access_log common

20 </VirtualHost>

存退,重启httd服务

步骤4:接下来就是见证奇迹的时刻

dns下解析的所有地址的IP全部改为192.168.4.253

[root@dc html]# vim /var/named/chroot/var/named/tarena.com.zone

1 $TTL    86400

 2 @       IN      SOA     localhost. root.localhost.  (

 3                                       1997022700 ; Serial

 4                                       28800      ; Refresh

 5                                       14400      ; Retry

 6                                       3600000    ; Expire

 7                                       86400 )    ; Minimum

 8         IN      NS      dns1.tarena.com.

 9 dns1    IN      A       192.168.4.253

10 www     IN      A       192.168.4.253

11 bbs     IN      A       192.168.4.253

12 bss     IN      A       192.168.4.253

用浏览器访问,发现不同的域名通过DNS指向同一个IP,且能访问不同的网页


实验名称:基于IP的虚拟web主机

步骤1:基本环境

基于上一个实验

步骤2:分配IP

[root@dc html]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:5D:ED:A4  

         inet addr:192.168.4.253  Bcast:192.168.4.255  Mask:255.255.255.0

         inet6 addr: fe80::20c:29ff:fe5d:eda4/64 Scope:Link

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

         RX packets:3682 errors:0 dropped:0 overruns:0 frame:0

         TX packets:3403 errors:0 dropped:0 overruns:0 carrier:0

         collisions:0 txqueuelen:1000

         RX bytes:498186 (486.5 KiB)  TX bytes:1273973 (1.2 MiB)

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:5D:ED:A4  

         inet addr:192.168.4.5  Bcast:192.168.4.255  Mask:255.255.255.0

         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:5D:ED:A4  

         inet addr:192.168.4.6  Bcast:192.168.4.255  Mask:255.255.255.0

进入

[root@dc html]# vim /var/named/chroot/var/named/tarena.com.zone

做如下更改

10 www     IN      A       192.168.4.253

11 bbs     IN      A       192.168.4.5

12 bss     IN      A       192.168.4.6

步骤3:配置WEB主配置文件

这样就解决了不同IP和域名解析的难题,下面进入正题,修改web主配置文件

1 #NameVirtualHost *:80

 2 <VirtualHost 192.168.4.253:80>

 3     DocumentRoot /var/www/html

 4     ServerName www.tarena.com

 5     ErrorLog logs/tarena.com-error_lo

 6     CustomLog logs/tarena.com-access_log common

 7 </VirtualHost>

 8 <VirtualHost 192.168.4.5:80>

 9     DocumentRoot /var/www/html/bbs

10     DirectoryIndex bbs.html index.html

11     ServerName bbs.tarena.com

12     ErrorLog logs/bbs.com-error_lo

13     CustomLog logs/bbs.com-access_log common

14 </VirtualHost>

15 <VirtualHost 192.168.4.6:80>

16     DocumentRoot /var/www/html/bss

17     ServerName bss.tarena.com

18     ErrorLog logs/bss.com-error_lo

19     CustomLog logs/bss.com-access_log common

20 </VirtualHost>

存退重启服务

这样就配置好了。ping一下显示IP与预期目标一样。


实验名称:基于端口的web虚拟主机

修改主配置文件

1 NameVirtualHost *:80

 2 Listen 8080

 3 Listen 8081

 4 <VirtualHost *:80>

 5     DocumentRoot /var/www/html

 6     ServerName www.tarena.com

 7     ErrorLog logs/tarena.com-error_lo

 8     CustomLog logs/tarena.com-access_log common

 9 </VirtualHost>

10 <VirtualHost *:8080>

11     DocumentRoot /var/www/html/bbs

12     DirectoryIndex bbs.html index.html

13     ServerName bbs.tarena.com

14     ErrorLog logs/bbs.com-error_lo

15     CustomLog logs/bbs.com-access_log common

16 </VirtualHost>

17 <VirtualHost *:8081>

18     DocumentRoot /var/www/html/bss

19     ServerName bss.tarena.com

20     ErrorLog logs/bss.com-error_lo

21     CustomLog logs/bss.com-access_log common

22 </VirtualHost>

~

进入浏览器测试

http://www.tarena.com:8080/

http://www.tarena.com:8081/

实验结果:总的来说,没什么难度,重要的是心理有条理,另外,需要注意几个问题,cp DNS主配置文件和数据库配置文件的时候,一定要注意权限,要用-p参数。