exec04_advanced_dns.txt

--

DNS view dns视图

电信 , 联通 ,网通 , 铁通

不同IDC之间存在互联速度问题,电信用户访问电信的网络比较快,但访问联通的就比较慢

解决方案

智能DNS(dns view)
智能地判断用户端的访问IP,通过view解析到不同的服务器

还能应用于多个主机的负载均衡,这样可以使用来自各地的IP比较平均地分布到各个服务器

有些用户在国外也有服务器,可以通过智能DNS解析国外的用户访问国外的服务器,国内访问国内的服务器


实验环境
DNS服务器 10.1.1.192 dns.cluster.com

实验前准备
时间同步
ntpdate 10.1.1.1

或者写脚本,让它30秒同步一次
while true
do
ntpdate 10.1.1.1 >/dev/null 2>&1
sleep 30
done



主机名定义好
hostname dns.cluster.com

vim /etc/sysconfig/network
HOSTNAME=dns.cluster.com

vim /etc/hosts
10.1.1.192 dns.cluster.com


第一步,定义acl文件

实际情况下可以下载一个ripe工具,去下载不同IDC的IP段
wget http://ftp.apnic.net/apnic/dbase/tools/ripe-dbase-client-v3.tar.gz

tar xvf ripe-dbase-client-v3.tar.gz -C /usr/src/
cd /usr/src/whois-3.1/
./configure ;make ;make install

whois3 -h whois.apnic.net -l -i mb MAINT-CHINANET > /var/named/chroot/var/named/chinanet

whois3 -h whois.apnic.net -l -i mb MAINT-CNCGROUP > /var/named/chroot/var/named/cncgroup

下下来的文件,要经过 grep awk sed的处理得到IP或者IP段

这个在实验环境下实现不了

手动编写不同的ACL文件

vim /var/named/chroot/var/named/dianxin
acl dianxin {
10.1.1.35;
10.1.1.59;
192.168.1/24; --也可以写IP段
};

vim /var/named/chroot/var/named/wangtong
acl wangtong {
10.1.1.36;
10.1.1.56;
172.16.1/24;
};


第二步:定义DNS的主配置文件
vim /var/named/chroot/etc/named.conf

options {
directory "/var/named";
};

include "dianxin";
include "wangtong";

view "dianxin" {
match-clients {dianxin;};
zone "cluster.com" IN {
type master;
file "data/dianxin.cluster.com.zone";
};
};

view "wangtong" {
match-clients {wangtong;};
zone "cluster.com" IN {
type master;
file "data/wangtong.cluster.com.zone";
};
};

view "others" {
match-clients {any;};
zone "cluster.com" IN {
type master;
file "data/others.cluster.com.zone";
};
};


第三步:编写定义的三个zone文件
vim /var/named/chroot/var/named/data/dianxin.cluster.com.zone

$TTL 86400
@ IN SOA dns.cluster.com. root.cluster.com. (
2010070401
360
480
720
86400 )
IN NS dns.cluster.com.
dns IN A 10.1.1.192 --DNS服务器的地址
www IN A 10.1.1.40 --假设www.cluster.com的电信机房的服务器IP为10.1.1.40

vim /var/named/chroot/var/named/data/wangtong.cluster.com.zone

$TTL 86400
@ IN SOA dns.cluster.com. root.cluster.com. (
2010070401
360
480
720
86400 )
IN NS dns.cluster.com.
dns IN A 10.1.1.192
www IN A 10.1.1.41 --网通机房的服务器IP为10.1.1.41

vim /var/named/chroot/var/named/data/others.cluster.com.zone

$TTL 86400
@ IN SOA dns.cluster.com. root.cluster.com. (
2010070401
360
480
720
86400 )
IN NS dns.cluster.com.
dns IN A 10.1.1.192
www IN A 10.1.1.42 --其它的访问10.1.1.42这台服务器

第四步,最好修改一下属主,确保服务运行OK
chown named.named /var/named/chroot/var/named/data/*
chown named.named /var/named/chroot/etc/*


第五步,启动服务
/etc/init.d/named restart


第六步:测试
在客户端修改/etc/resolv.conf 把DNS的指向改为指向10.1.1.192这台DNS服务器

使用nslookup www.cluster.com去验证会发现
10.1.1.35和10.1.1.59的客户端返回的www.cluster.com的IP为10.1.1.40

10.1.1.36和10.1.1.56的客户端返回的www.cluster.com的IP为10.1.1.41

其它IP的客户端返回的www.cluster.com的IP为10.1.1.42


-----------------------------------------------------------------------



yum install caching-nameserver -y --bind软件的一个配置模版

ls /var/named/chroot/etc/
localtime named.caching-nameserver.conf named.rfc1912.zones rndc.key


named.caching-nameserver.conf + named.rfc1912.zones =named.conf

如果这三个文件同时存在,刚优先读取named.conf

可以查看配置样本
在/usr/share/doc/bind-9.3.6/sample/ 下

vim /var/named/chroot/etc/named.caching-nameserver.conf --此文件控制的参数更多

options {
listen-on port 53 { any; }; --修改为any,监听所有
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";

// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;

allow-query { any; }; --改为any,允许所有人查询
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver { --这个文件做出来后,本地不能解析,需要把这一段给注释掉才可以
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};

include "dianxin";
include "wangtong";

view "dianxin" {
match-clients {dianxin;};
zone "cluster.com" IN {
type master;
file "data/dianxin.cluster.com.zone";
};
};

view "wangtong" {
match-clients {wangtong;};
zone "cluster.com" IN {
type master;
file "data/wangtong.cluster.com.zone";
};
};

view "others" {
match-clients {any;};
zone "cluster.com" IN {
type master;
file "data/others.cluster.com.zone";
};
};

后面的步骤也是一样


在这个配置文件里写,也一样能实现上面view功能




### SQL Server Agent 的配置、使用教程及故障排查 #### 配置 SQL Server Agent 为了确保 SQL Server Agent 正常运行,需确认其已启动并设置为自动启动模式。通过 SQL Server 配置管理器可以轻松完成这一操作[^2]。 对于更深入的配置调整,可以通过 `sp_configure` 存储过程来修改服务器级别的参数,这同样适用于影响 SQL Server Agent 性能的关键配置项[^3]。 ```sql -- 查看当前配置状态 EXEC sp_configure 'show advanced options', 1; RECONFIGURE; -- 显示所有可配置选项 EXEC sp_configure; ``` #### 启动和停止 SQL Server Agent 有时出于维护目的或者应用更改后的配置文件,需要重新启动 SQL Server Agent 服务。具体步骤如下: - 打开 SQL Server Configuration Manager。 - 寻找 SQL Server Services 节点下的 SQL Server Agent 实例名称。 - 右键点击该实例名选择 “Restart”。 另外,在命令行环境中也可以执行相同的操作[^4]: ```powershell # PowerShell 命令用于重启 SQL Server 和 SQL Server Agent 服务 Restart-Service MSSQLSERVER, SQLServerAgent -Force ``` #### 检查 SQL Server Agent 状态和服务健康状况 要验证 SQL Server Agent 是否正在运行以及它的整体健康情况,可通过以下 T-SQL 查询获取实时信息: ```sql SELECT name, state_desc, start_time, last_run_date, last_run_outcome FROM msdb.dbo.sysjobs J JOIN msdb.dbo.sysjobactivity A ON J.job_id = A.job_id WHERE session_id IN ( SELECT MAX(session_id) FROM msdb.dbo.sysjobactivity GROUP BY job_id); ``` 此外,还可以利用 Windows Command Prompt 或者 PowerShell 来快速查看 SQL Server Service 的状态[^5]: ```cmd sc query MSSQL$SQLEXPRESS net start | findstr /C:"SQL Server" ``` #### 日志审查与故障排除技巧 当遇到问题时,应该首先查阅 SQL Server Agent Job History 记录中的错误消息。这些记录能够提供关于失败原因的具体线索,并有助于定位潜在的问题所在。如果发现有网络连接方面的问题,则应进一步调查与此相关的因素,比如防火墙规则或是 DNS 解析等[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值