2023年8月3日发(作者:)

一、 实验平台的搭建。

DNS服务器的IP地址:192.168.10.1

客户端(真实机)IP 地址:192.168.10.10`

1、 为服务器做网络配置

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

启动服务:#service network start

查看网络配置:ifconfig

修改dns信息

# vi /etc/

nameserver 192.168.10.1

二、 DNS服务器的架设。

(DNS服务器端)

(DNS客户端调试工具)

(本地解析库)

实验过程:

1. mount -t iso9660 /dev/cdrom /mnt/cdrom

rpm -ivh <域名服务端>

rpm -ivh <调试工具>

rpm -ivh <系统解析库>

2. 安装后查看三个生成的文件:

注释 : :本地正向数据库

:根缓存数据库

:本地反向数据库

a caching only nameserver config:是指这是一个纯DNS,无法做递归、迭代、转发的

功能,只能调用其响应的资源。

inte 127.0.0.1 allw {localhost;} keys {rndckey;}; :这句话的意思是客户端发送

请求到DNS通过53端口进去,会触发name.d进程,相当于shell界面输入命令,服务器通过127.0.0.1通道经过953端口到/var/rac.d目录下找到资源返回客户端!

3. 新建正向反区域并命名为

修改主配置文件,并增加两个正向查找区域和一个反向区域

# vi /etc/

zone ―‖ IN {

type master;

file ―‖;

allow-update { none; };

};

zone ―‖ IN {

type master;

file ―‖;

allow-update { none; };

};

zone ―‖ IN {

type master;

file ―‖;

allow-update { none; };

};

———————————————

[root@www /]# cd var/named/

[root@www named]# ls

[root@www named]# cp

[root@www named]# cp

———————————————

vi

$TTL 86400

$ORIGIN .

@ 1D IN SOA . . (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

1D IN NS .

ns 1D IN A 192.168.10.1

www 1D IN A 192.168.10.1

————————————————-

vi

$TTL 86400

$ORIGIN .

@ 1D IN SOA . . (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

1D IN NS .

ns 1D IN A 192.168.10.1

www 1D IN A 192.168.10.1

—————————————————-

vi

$TTL 86400

@ IN SOA . . (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS .

1 IN PTR .

1 IN PTR .

1 IN PTR .

————————————————–

对DNS进行调试

service named start

[root@www named]# tail /var/log/messages

Nov 21 21:40:00 www named[1794]: listening on IPv4 interface lo, 127.0.0.1#53

Nov 21 21:40:00 www named[1794]: listening on IPv4 interface eth0,

192.168.10.1#53

Nov 21 21:40:00 www named[1794]: command channel listening on

127.0.0.1#953

Nov 21 21:40:00 www named[1794]: zone /IN: loaded serial

1997022700

Nov 21 21:40:00 www named[1794]: zone /IN: loaded

serial 1997022700

Nov 21 21:40:00 www named[1794]: zone /IN: loaded serial 42

Nov 21 21:40:00 www named[1794]: zone /IN: loaded serial 42

Nov 21 21:40:00 www named[1794]: zone localhost/IN: loaded serial 42

Nov 21 21:40:00 www named[1794]: running

[root@www named]# nslookup

Server: 192.168.10.1

Address: 192.168.10.1#53

Name:

Address: 192.168.10.1

[root@www named]# nslookup

Server: 192.168.10.1

Address: 192.168.10.1#53

Name:

Address: 192.168.10.1

OK,DNS服务器搭建成功了….

———————————————————-

三、Web服务器的架设

搭建基于域名的虚拟主机

为了方便后面的php,这里我选择了源码包的安装方式

1.解压APACHE的源码包 tar -zxvf

2.进行编译前配置 ./configure –prefix=/usr/local/apache –enable-so

3.编译APACHE源代码 make

4.安装APACHE服务器程序 make install

5.修改APACHE的配置文件 vi /usr/local/apache/conf/

servername 192.168.10.1:80

DirectoryIndex 3

6.启动APACHE服务器程序 /usr/local/apache/bin/apachect

l start

7.查看HTTPD进程是否启动 ps -aux | grep httpd

OK启动啦哦

8.测试成功,可以看到页面啦…

可设置开机自启动

vi /etc/rc.d/

加入一行:/usr/local/apache/bin/apachectl start

好了, apache已经架好了,但是服务器要支持php和mysql,接下来安装…

安装MYSQL和PHP

1.解压这两个包 tar -xzvf

tar -xzvf

2. 建立mysql用户和组 groupadd -g 20000 mysql

建立一个名为mysql的组

创建一个mysql用户并添加到mysql组中去

useradd -u 20000 -g mysql mysql

3. 对mysql进行编译前配置 ./configure –prefix=/usr/local/mysql –sysconfdir=/etc

–localstatedir=/var/lib/mysql

–prefix=/usr/local/mysql 指定安装的目标目录

–sysconfdir=/etc 配置文件的路径

–localstatedir=/var/lib/mysql 数据库存放的路径

4. 编译mysql源代码 make 5. 安装mysql make install

6. 初始化数据库 /usr/local/mysql/bin/mysql_install_db

7. 设置mysql状态报告目录的权限 chown -R mysql /var/lib/mysql

8. 复制配置文件 cp /usr/local/mysql/share/mysql/ /etc/

9. 用ROOT用户启动mysql 服务器 /usr/local/mysql/bin/mysqld_safe –user=root &

10. 修改密码 /usr/local/mysql/bin/mysqladmin -u root -p password 1234

11. 用新密码连接数据库 /usr/local/mysql/bin/mysql -u root -p

————————————————————-

安装PHP

1. 对PHP进行编译前配置

./configure

–with-apxs2=/usr/local/apache/bin/apxs

2. 对PHP进行编译 make

3. 对PHP进行安装 make install

4. 复制PHP配置文件到PHP安装目录 cp -dist /usr/local/lib/php/

5. 修改APACHE的配置文件 vi /usr/local/apache/conf/

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .php3

好了,LAMP的架构搭建好了..

做基于域名的虚拟主机

先创建两个用户

useradd ritto

passwd ritto

useradd bbs

passwd bbs

–with-mysql=/usr/local/mysql

vi /user/local/apache/conf/

namevirtualhost 192.168.10.1

DocumentRoot /home/ritto

ServerName

DocumentRoot /home/bbs

ServerName

killall httpd

pstree | grep httpd

[root@www wwwroot]# /usr/local/apache/bin/apachectl start

给相应目录的访问权限…

chmod 711 -R /home/ritto

chmod 711 -R /home/bbs

可以访问…

可以访问…

接下来可以放一个基于php+mysql的论坛进去试一下,如Discuz 6.0, phpwind…

结果是可以访问的…

——————————————————————

四、VSFTP服务的安装:

1. mount -t iso9660 /dev/cdrom /mnt/cdrom

rpm – ivh

# service vsftpd start

这样就可以匿名登陆访问测试, 看到位于/var/ftp下的默认目录pub

2. 直接使用ftp客户端登陆

ftp:// username: ritto passwd:

ftp:// username: bbs passwd:

3. 通过新建的用户登陆,上传下面需要的文件,即文件在/home下的用户下

(用那个用户登陆就上传在个用户的目录下)/home/ritto 目录下

修改vsftp的配置文件,结合虚拟主机达到上传网站目的

# vi /etc/vsftpd/

anonymous_enable=no 关闭匿名帐户访问(访问时没有pub目录)

上传页面到不同的目录下(不同页面要不同的用户登陆进去,一一对应)

FTP登陆试试吧!(允许本地用户登陆的。匿名的不可以)

在Windows客户端下做测试:

ftp:// 用户名: ritto 密码:

ftp:// 用户名: bbs 密码:

————————————————————

五、 磁盘配额

1. 编辑磁盘装载文件

less /etc/fstab 查看信息

vi /etc/fstab

编辑—-找到LABEL=/home /home ext3 defaults

并在defaults后添加要做磁盘配额的对象

对用户和组, usrquota,grpquota

2. 检测home分,命令如下:

Umount /home ——–卸载home 分区

重新挂载home 分区

quotacheck -cmug /home ——创建磁盘分区

查看home 分区下的磁盘分区文件

ls /home ——-可看到新增的两个文件

apuota .group

3. 查看此机能磁盘配额的用户

requota -au

4. edquota –u ritto ———进行磁盘配额配

edquota –u bbs ———进行磁盘配额配

5. 对磁盘配额的时间限制

edquota -ut

6. 启动磁盘配额

quotaon /home

测试结果:

直接使用ftp向网站上上传文件!

当上传的文件小于90M时,可以正常上传的!如果是一个整体的文件,

90

是包含子文件的并且大于100M则 可以上传,但只是一部分,绝对不会

超过100M。

六、防火墙的设置

安装iptables防火墙

为保证服务器的安全性,只对外提供80,20,21,22端口,其它端口全部关闭

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

iptables -t filter -A INPUT –dport 80 -j ACCPT

iptables -t filter -A OUTPUT –sport 80 -j ACCPT

iptables -t filter -A INPUT –dport 20 -j ACCPT

iptables -t filter -A OUTPUT –sport 20 -j ACCPT

iptables -t filter -A INPUT –dport 21 -j ACCPT

iptables -t filter -A OUTPUT –sport 21 -j ACCPT

iptables -t filter -A INPUT –dport 22 -j ACCPT

iptables -t filter -A OUTPUT –sport 22 -j ACCPT

iptables -A INPUT -p udp –dport 53 -j ACCEPT

iptables -A OUTPUT -p udp –sport 53 -j ACCEPT

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -D INPUT 5

iptables -L -n –line-numbers

service iptables save

iptables-save >/etc/sysconfig/iptables

2023年8月3日发(作者:)

一、 实验平台的搭建。

DNS服务器的IP地址:192.168.10.1

客户端(真实机)IP 地址:192.168.10.10`

1、 为服务器做网络配置

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

启动服务:#service network start

查看网络配置:ifconfig

修改dns信息

# vi /etc/

nameserver 192.168.10.1

二、 DNS服务器的架设。

(DNS服务器端)

(DNS客户端调试工具)

(本地解析库)

实验过程:

1. mount -t iso9660 /dev/cdrom /mnt/cdrom

rpm -ivh <域名服务端>

rpm -ivh <调试工具>

rpm -ivh <系统解析库>

2. 安装后查看三个生成的文件:

注释 : :本地正向数据库

:根缓存数据库

:本地反向数据库

a caching only nameserver config:是指这是一个纯DNS,无法做递归、迭代、转发的

功能,只能调用其响应的资源。

inte 127.0.0.1 allw {localhost;} keys {rndckey;}; :这句话的意思是客户端发送

请求到DNS通过53端口进去,会触发name.d进程,相当于shell界面输入命令,服务器通过127.0.0.1通道经过953端口到/var/rac.d目录下找到资源返回客户端!

3. 新建正向反区域并命名为

修改主配置文件,并增加两个正向查找区域和一个反向区域

# vi /etc/

zone ―‖ IN {

type master;

file ―‖;

allow-update { none; };

};

zone ―‖ IN {

type master;

file ―‖;

allow-update { none; };

};

zone ―‖ IN {

type master;

file ―‖;

allow-update { none; };

};

———————————————

[root@www /]# cd var/named/

[root@www named]# ls

[root@www named]# cp

[root@www named]# cp

———————————————

vi

$TTL 86400

$ORIGIN .

@ 1D IN SOA . . (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

1D IN NS .

ns 1D IN A 192.168.10.1

www 1D IN A 192.168.10.1

————————————————-

vi

$TTL 86400

$ORIGIN .

@ 1D IN SOA . . (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

1D IN NS .

ns 1D IN A 192.168.10.1

www 1D IN A 192.168.10.1

—————————————————-

vi

$TTL 86400

@ IN SOA . . (

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS .

1 IN PTR .

1 IN PTR .

1 IN PTR .

————————————————–

对DNS进行调试

service named start

[root@www named]# tail /var/log/messages

Nov 21 21:40:00 www named[1794]: listening on IPv4 interface lo, 127.0.0.1#53

Nov 21 21:40:00 www named[1794]: listening on IPv4 interface eth0,

192.168.10.1#53

Nov 21 21:40:00 www named[1794]: command channel listening on

127.0.0.1#953

Nov 21 21:40:00 www named[1794]: zone /IN: loaded serial

1997022700

Nov 21 21:40:00 www named[1794]: zone /IN: loaded

serial 1997022700

Nov 21 21:40:00 www named[1794]: zone /IN: loaded serial 42

Nov 21 21:40:00 www named[1794]: zone /IN: loaded serial 42

Nov 21 21:40:00 www named[1794]: zone localhost/IN: loaded serial 42

Nov 21 21:40:00 www named[1794]: running

[root@www named]# nslookup

Server: 192.168.10.1

Address: 192.168.10.1#53

Name:

Address: 192.168.10.1

[root@www named]# nslookup

Server: 192.168.10.1

Address: 192.168.10.1#53

Name:

Address: 192.168.10.1

OK,DNS服务器搭建成功了….

———————————————————-

三、Web服务器的架设

搭建基于域名的虚拟主机

为了方便后面的php,这里我选择了源码包的安装方式

1.解压APACHE的源码包 tar -zxvf

2.进行编译前配置 ./configure –prefix=/usr/local/apache –enable-so

3.编译APACHE源代码 make

4.安装APACHE服务器程序 make install

5.修改APACHE的配置文件 vi /usr/local/apache/conf/

servername 192.168.10.1:80

DirectoryIndex 3

6.启动APACHE服务器程序 /usr/local/apache/bin/apachect

l start

7.查看HTTPD进程是否启动 ps -aux | grep httpd

OK启动啦哦

8.测试成功,可以看到页面啦…

可设置开机自启动

vi /etc/rc.d/

加入一行:/usr/local/apache/bin/apachectl start

好了, apache已经架好了,但是服务器要支持php和mysql,接下来安装…

安装MYSQL和PHP

1.解压这两个包 tar -xzvf

tar -xzvf

2. 建立mysql用户和组 groupadd -g 20000 mysql

建立一个名为mysql的组

创建一个mysql用户并添加到mysql组中去

useradd -u 20000 -g mysql mysql

3. 对mysql进行编译前配置 ./configure –prefix=/usr/local/mysql –sysconfdir=/etc

–localstatedir=/var/lib/mysql

–prefix=/usr/local/mysql 指定安装的目标目录

–sysconfdir=/etc 配置文件的路径

–localstatedir=/var/lib/mysql 数据库存放的路径

4. 编译mysql源代码 make 5. 安装mysql make install

6. 初始化数据库 /usr/local/mysql/bin/mysql_install_db

7. 设置mysql状态报告目录的权限 chown -R mysql /var/lib/mysql

8. 复制配置文件 cp /usr/local/mysql/share/mysql/ /etc/

9. 用ROOT用户启动mysql 服务器 /usr/local/mysql/bin/mysqld_safe –user=root &

10. 修改密码 /usr/local/mysql/bin/mysqladmin -u root -p password 1234

11. 用新密码连接数据库 /usr/local/mysql/bin/mysql -u root -p

————————————————————-

安装PHP

1. 对PHP进行编译前配置

./configure

–with-apxs2=/usr/local/apache/bin/apxs

2. 对PHP进行编译 make

3. 对PHP进行安装 make install

4. 复制PHP配置文件到PHP安装目录 cp -dist /usr/local/lib/php/

5. 修改APACHE的配置文件 vi /usr/local/apache/conf/

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .php3

好了,LAMP的架构搭建好了..

做基于域名的虚拟主机

先创建两个用户

useradd ritto

passwd ritto

useradd bbs

passwd bbs

–with-mysql=/usr/local/mysql

vi /user/local/apache/conf/

namevirtualhost 192.168.10.1

DocumentRoot /home/ritto

ServerName

DocumentRoot /home/bbs

ServerName

killall httpd

pstree | grep httpd

[root@www wwwroot]# /usr/local/apache/bin/apachectl start

给相应目录的访问权限…

chmod 711 -R /home/ritto

chmod 711 -R /home/bbs

可以访问…

可以访问…

接下来可以放一个基于php+mysql的论坛进去试一下,如Discuz 6.0, phpwind…

结果是可以访问的…

——————————————————————

四、VSFTP服务的安装:

1. mount -t iso9660 /dev/cdrom /mnt/cdrom

rpm – ivh

# service vsftpd start

这样就可以匿名登陆访问测试, 看到位于/var/ftp下的默认目录pub

2. 直接使用ftp客户端登陆

ftp:// username: ritto passwd:

ftp:// username: bbs passwd:

3. 通过新建的用户登陆,上传下面需要的文件,即文件在/home下的用户下

(用那个用户登陆就上传在个用户的目录下)/home/ritto 目录下

修改vsftp的配置文件,结合虚拟主机达到上传网站目的

# vi /etc/vsftpd/

anonymous_enable=no 关闭匿名帐户访问(访问时没有pub目录)

上传页面到不同的目录下(不同页面要不同的用户登陆进去,一一对应)

FTP登陆试试吧!(允许本地用户登陆的。匿名的不可以)

在Windows客户端下做测试:

ftp:// 用户名: ritto 密码:

ftp:// 用户名: bbs 密码:

————————————————————

五、 磁盘配额

1. 编辑磁盘装载文件

less /etc/fstab 查看信息

vi /etc/fstab

编辑—-找到LABEL=/home /home ext3 defaults

并在defaults后添加要做磁盘配额的对象

对用户和组, usrquota,grpquota

2. 检测home分,命令如下:

Umount /home ——–卸载home 分区

重新挂载home 分区

quotacheck -cmug /home ——创建磁盘分区

查看home 分区下的磁盘分区文件

ls /home ——-可看到新增的两个文件

apuota .group

3. 查看此机能磁盘配额的用户

requota -au

4. edquota –u ritto ———进行磁盘配额配

edquota –u bbs ———进行磁盘配额配

5. 对磁盘配额的时间限制

edquota -ut

6. 启动磁盘配额

quotaon /home

测试结果:

直接使用ftp向网站上上传文件!

当上传的文件小于90M时,可以正常上传的!如果是一个整体的文件,

90

是包含子文件的并且大于100M则 可以上传,但只是一部分,绝对不会

超过100M。

六、防火墙的设置

安装iptables防火墙

为保证服务器的安全性,只对外提供80,20,21,22端口,其它端口全部关闭

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

iptables -t filter -A INPUT –dport 80 -j ACCPT

iptables -t filter -A OUTPUT –sport 80 -j ACCPT

iptables -t filter -A INPUT –dport 20 -j ACCPT

iptables -t filter -A OUTPUT –sport 20 -j ACCPT

iptables -t filter -A INPUT –dport 21 -j ACCPT

iptables -t filter -A OUTPUT –sport 21 -j ACCPT

iptables -t filter -A INPUT –dport 22 -j ACCPT

iptables -t filter -A OUTPUT –sport 22 -j ACCPT

iptables -A INPUT -p udp –dport 53 -j ACCEPT

iptables -A OUTPUT -p udp –sport 53 -j ACCEPT

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

iptables -D INPUT 5

iptables -L -n –line-numbers

service iptables save

iptables-save >/etc/sysconfig/iptables