基于Linux操作系统的DNS服务器实验

实验6 DNS服务器

一、实验目的

熟练掌握DNS服务器的原理、配置过程与应用。

二、实验环境

硬件:PC电脑一台,网络正常。

配置:win10系统,内存大于8G ,硬盘500G及以上。

软件:VMware、Ubuntu16.04。

三、实验内容

配置一台DNS服务器,域名为text.com,IP为192.168.1.100,主机名为

dns.text.com

实验步骤

1、 本实验将在网络条件下进行
2、进入新建的用户,备份apt-get的源文件

程序运行截图:

3、更新apt-get源文件为阿里云源。(编辑/etc/source.list,)

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| deb https://mirrors.aliyun.com/ubuntu/ xenial main deb-src https://mirrors.aliyun.com/ubuntu/ xenial main deb https://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src https://mirrors.aliyun.com/ubuntu/ xenial-updates main deb https://mirrors.aliyun.com/ubuntu/ xenial universe deb-src https://mirrors.aliyun.com/ubuntu/ xenial universe deb https://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb-src https://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb https://mirrors.aliyun.com/ubuntu/ xenial-security main deb-src https://mirrors.aliyun.com/ubuntu/ xenial-security main deb https://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src https://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse |

程序运行截图:

4、更新apt-get。

程序运行截图:

5、在线安装BIND9。

程序运行截图:

6、配置dns服务器,进入/etc/bind中

程序运行截图:

7、修改配置文件/etc/bind/named.conf.local

程序运行截图:

8、复制db.local,并重命名为db.text.name

程序运行截图:

9、修改db.text.name

程序运行截图:

服务器IP为192.168.19.128:

10、重启服务

程序运行截图:

12、分别测试abc.text.name www.text.name ns.text.name

程序运行截图:

13、安装apache2

程序运行截图:

14、在默认配置下,在Linux下的浏览器输入http://localhost,查看页面。

程序运行截图:

建立个人网站站点
15、在自己创建的用户主目录里面创建目录public_html,在该目录里新建index.html,并输入以下内容。

程序运行截图:

16、修改/etc/apache2/mods-available/userdir.conf的配置内容,把UserDir public_html前的#删掉,给UserDir disabled root加上#。

程序运行截图:

创建软连接。

程序运行截图:

bash 复制代码
sudo ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-enabled/userdir.load

sudo ln -s /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/userdir.conf
关闭防火墙和SELinux服务。

如果提示setenforce未安装,则执行以下命令:

程序运行截图:

重新启动apache服务。

sudo systemctl restart apache2

bash 复制代码
sudo systemctl restart apache2

程序运行截图:

查看apache服务器的状态。
bash 复制代码
systemctl status apache2

程序运行截图:

在Linux的浏览器下输入http://localhost/\~zx,zx为自己新建的用户。

程序运行截图:

查看Linux下apache服务器的IP地址。

程序运行截图:

常见问题提示

  1. 代码输入错误;
  2. 运行结果出现问题。

五、实验作业

1、根据要求,完成实验指导里的操作流程。

2、实验结果分析和实验总结:

setenforce是Linux系统中用于设置SELinux(Security-Enhanced Linux,安全增强型Linux)工作模式的命令。SELinux是一种安全机制,通过强制访问控制(Mandatory Access Control,MAC)来限制进程的权限,以保护系统免受恶意程序和攻击的威胁。执行setenforce 0表示将SELinux设置为Permissive模式,此时SELinux不会阻止任何操作,但会记录安全策略违反的情况。

六、问题

如果按照以上流程不能正确运行代码,请找出原因。

实验过程中遇到问题不能下载bind9:

根据报错信息"bind9-libs (= 1:9.16.1-0ubuntu2) but 1:9.18.28-0ubuntu0.20.04.1 is to be installed",发现是之前下载的bind9-libs版本过高,于是先删除libs,再下载提示的版本bind9-libs=1:9.16.1-0ubuntu2,具体命令如下:$sudo apt remove bind9-libs $sudo apt install bind9-libs=1:9.16.1-0ubuntu2

相关推荐
始终奔跑在路上33 分钟前
linux基础2
linux·网络·数据库·web安全·网络安全
c语言中的小小白1 小时前
【Linux】线程ID与互斥、同步(锁、条件变量)
linux·运维·服务器
MXsoft6181 小时前
华为E9000刀箱(HWE9000V2)服务器硬件监控指标解读
运维·服务器
不将就__2 小时前
联通云服务器部署老项目tomcat记录
运维·服务器·tomcat
Able Heart2 小时前
nfs服务器
运维·服务器
AWS全球代理商2 小时前
EC2还原快照
服务器·云计算·aws
x-cmd2 小时前
[241127] Mistral AI 更新 Le Chat,免费提供前沿 AI 助手!| TrendForce 预测 2025 十大科技趋势
服务器·人工智能·科技·网络安全·ai·人机交互·mistral
weixin_438197382 小时前
apache实现绑定多个虚拟主机访问服务
linux·服务器·网络
晨欣2 小时前
Docker和Docker Compose部署方式的区别以及各自适用的场景(ChatGPT-4o回答)
运维·docker·容器
与君共勉121383 小时前
Jenkins-基于 SSH 实现 Jenkins 分布式
java·运维·服务器·分布式·ssh·jenkins