本帖最后由 wxy 于 2022-3-21 09:10 编辑
一、实验搭建拓扑拓扑解析: 外网DNS服务器实际搭建,通过两台Linux服务器提供web服务以及DNS服务,一台用于联通,一台用于电信。外网PC进行测试入站链路负载的静态就近性的时候,通过更改dns地址实现,不同运营商返回不同地址。
二、实验搭建相关信息 三、实验搭建环境 采用的是linux+xammp进行搭建 XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。这个软件包原来的名字是 LAMPP,但是为了避免误解,最新的几个版本就改名为 XAMPP 了。它可以在Windows、Linux、Solaris、Mac OS X 等多种操作系统下安装使用,支持多语言:英文、简体中文、繁体中文、韩文、俄文、日文等。 工具下载: 提取码:efb2 部署流程 1、将xampp-linux-x64-7.3.29-0-installer.run传入用户目录下。 此时需要将其进行安装,需要给它可执行权限 2、Chmod 777 ./xampp-linux-x64-7.3.29-0-installer.run 文件名称变为绿色,此时已经是有可执行权限 3、./xampp-linux-x64-7.3.29-0-installer.run #进行安装操作 安装成功 4、此时会在根目录生成/opt目录,需要关注的目录/opt/lampp/(服务开启脚本会在这边)和/opt/lampp/htdocs/(这是网页文件需要放置的地方) 5、服务开启脚本/opt/lampp/xampp start (注意:初次开启可能会报错) 解决办法: Vi/opt/lammp/xammp 查找这行参数exportLD_ASSUME_KERNEL=2.2.5,将2.2.5改为2.8.0重新启动该服务。 6、访问该服务器IP地址的80端口。 此时会出现访问不到的现象。需要关闭linux防火墙,由于是内网环境直接关闭防火墙即可。Systemctl stop firewalld 访问成功的页面。 7、web服务相关页面代码(用于验证实验效果) 修改xammp的index.php页面让他默认跳转到我们想要它出现的页面 Vi/opt/lampp/htdocs/index.php 将此行修改为如下内容
Vi /opt/lampp/htdocs/demo.php #创建demo.php用于展示页面,内容如下: 该代码获取了访问提交给服务的host值以及uri字段,此时访问展示页面如下: 另一个网页的代码如下,该代码获取了提交给服务器的整个request的头部,这样可以用于验证前置调度策略中的各项功能,头部插入、更改头部、更改内容等等 访问界面如下:
入站链路实验搭建 该处以Centos系统为例子: 通过yum命令安装bind:yum -y install bind 1、修改主配置文件 vim /etc/named.conf vi /etc/named.rfc1912.zones 上面:配置正向解析 下面:配置反向解析 2、配置相关解析文件 cd /var/named cp named.localhost xxxxx.zone(该处为之前配置的域名) 3、更改linux防火墙以及selinux的设置 getenforce(查看selinux是否开启) setenforce 0 vi xxxxx.zone cp named.localhost 4.168.192.zone(创建一个反向域名解析的文件,反向域名中将IP地址反写) 因为实验用不到可以不用修改其中的配置。如果没有这个文件dns服务启动会出现错误。 firewall-cmd --zone=public --add-port=53/udp --permanent firewall-cmd --reload 放通linux防火墙规则 service named restart 开启DNS服务 systemctl status named 可以查看dns服务状态以及是否报错
总结: 此时入站链路负载以及虚拟服务前置调度策略环境已经搭建好,可以根据需求进行测试,也可以在系统中抓包查看具体现象,前置调度策略具体现象可以通过前端代码显示出来。“/opt/lampp/htdocs”该路径为web页面存放路径。
2022.3.21新增: 遇到的坑: 1、在/etc/named.conf配置文件见中,两个参数需要改动,否则无法为所欲为(该参数为dns安全,搭建实验的dns服务器属于非法dns服务器,需要把这两个参数关掉) 将这两个参数置为no即可解决 2、注意创建的zone的文件的权限,由于权限问题会导致配置的dns解析不生效。 相关文件路径 /var/named/ 创建zone的配置文件是通过复制该目录下的named.localhost abc.zone和abc1.zone是我通过两个命令复制出来的。可以看到所属组不同,所属组需要是named才可以。 解决方法: 1)更改所属组chown root:named [文件名称] 2)复制的时候直接复制属性 cp -p [源文件] [目标文件] |