linux源码安装bind9配置域名解析

1、下载bind9的源码包并解压
tar -zxv bind-9.11.4-P1.tar.gz
进入目录cd bind-9.11.4-P1
编译安装
./configure --prefix=/usr/local/bind9
make && make install
这样就安装好了bind;
2、新建主配置文件/usr/local/bind9/etc/named.conf
以要解析的域名为testxxxdomain.ccc为例;
内容如下:
options {
listen-on port 53 {127.0.0.1;};
directory "/usr/local/bind9/var"; #存放区域文件的目录路径
pid-file "named.pid";
allow-query {localhost;};
recursion yes;
};
zone "testxxxdomain.ccc" IN {
type ter;
file "testxxxdomain.ccc.zone";
};
再新建对应的区域文件/usr/local/bind9/var/testxxxdomain.ccc.zone
内容如下:
$TTL 3600
@ IN SOA testxxxdomain.ccc. root.testxxxdomain.ccc.(
2018111; #序列号,在配置了从服务器时,如果从服务器发现该序列号比它的大,则更新从服务器上面的zone
3600; #从服务器的刷新时间
3600; #从服务器的重试时间
3600; #从服务器的超时时间
3600; #缓存否定回答的时间
)
IN ns ns1
IN ns ns2
ns1 IN A 127.0.0.1
ns2 IN A 127.0.0.1
www1 IN A 192.168.1.153
www2 IN A 192.168.1.123
这里添加了2条A记录,让域名www1.testxxxdomain.ccc指向了192.168.1.153,
让域名www2.testxxxdomain.ccc指向了192.168.1.123
3、添加好配置文件后,先以调试模式启动bind
/usr/local/bind9/sbin/named -gc /usr/local/bind9/etc/named.conf 会输出调试信息,如果没有报错;
接下来使用以下命令启动bind服务
/usr/local/bind9/sbin/named -c /usr/local/bind9/etc/named.conf
启动bind服务后可以使用nslookup命令测试是否配置生效
nslookup www1.testxxxdomain.ccc 127.0.0.1
nslookup www2.testxxxdomain.ccc 127.0.0.1

搭建测试环境学习了解lvs负载均衡的配置

1、规划ip,负载均衡转发服务器2个网卡
公网网卡ip:192.168.1.181
内网网卡ip:172.16.1.3
后端2台web服务器
web001服务器ip:172.16.1.5 配置网关地址为172.16.1.3
web002服务器ip:172.16.1.6 配置网关地址为172.16.1.3
2、登陆负载均衡服务器,先使用命令lsmod |grep ip_vs查看系统内核是否有加载lvs的模块;
没有加载则可以使用命令modprobe ip_vs加载,加载后使用命令lsmod |grep ip_vs可以查询到系统内核已经有加载相关模块了;
3、开启负载均衡服务器的linux内核转发 echo 1 > /proc/sys/net/ipv4/ip_forward 这样设置后重启服务器后会失效,需要重新添加;可以编辑配置文件 /etc/sysctl.conf 添加net.ipv4.ip_forward = 1,然后使用命令sysctl -p生效;如果是centos7系统,可以编辑配置文件vi /etc/sysctl.d/99-sysctl.conf 在末尾添加一行net.ipv4.ip_forward = 1,然后使用命令sysctl -p生效;
4、在负载均衡服务器安装lvs配置工具ipvsadm
yum install ipvsadm
添加规则
ipvsadm -A -t 192.168.1.181:80 -s rr
表示在内核服务中添加一条虚拟服务器的记录,这里-s rr表示采用轮询调度的方式
ipvsadm -a -t 192.168.1.181:80 -r 172.16.1.5 -m -w 5
ipvsadm -a -t 192.168.1.181:80 -r 172.16.1.6 -m -w 5
表示在虚拟服务中分别添加2条真实服务器的记录,-m表示设置lvs的工作模式为nat模式,-w 5表示权重为5
在防火墙放行80端口后测试
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
5、后端2台服务器绑定相同域名,启动web服务;在2台web服务器的站点根目录存放相同名称文件,分布设置
输出不同的信息,然后在本地电脑修改hosts文件,将域名指向负载均衡服务器的ip,刷新访问站点文件,可以轮询显示后端web服务器的输出信息就表示已经生效。

使用tcpdump工具进行抓包测试

如果没有安装tcpdump,在centos下可以使用yum install tcpdump安装;
1、有时候需要查看站点当前的访问情况,除了开启站点日志外,也可以使用tcpdump命令抓取http头来查看,
抓取http头的命令如下;
tcpdump -nn -i enp0s3 tcp port 80 -s0 -c 100 -vvv
以下是相关参数的说明
-nn 不转换协议和端口名称
-i 指定要抓取的网络接口
tcp port 80 抓取tcp协议的80端口
-s0 不要截断数据包
-vvv 显示详细输出
-c 抓取数据包的数量
结合grep命令可以筛选出对应内容
比如要获取访问的域名,可以使用以下命令
tcpdump -nn -i enp0s3 tcp port 80 -s0 -vvv | grep -i 'Host:'
2、tcpdmup还可以抓取其他一些协议的数据包,比如可以使用以下命令查看dns解析的数据包
tcpdump -nn -i enp0s3 udp port 53 -s0 -vvv
运行该命令后,可以再次打开一个ssh窗口运行nslookup命令查询某个域名,即可观察到dns协议的数据包。