封Q进行式
封Q进行式
作者:田 逸() 《网管员世界》2006年7期
在某些办公环境中,要求封锁qq上网聊天的功能,以提高员工的工作效率。有很多封锁qq的办法,我在这里向大家介绍一种以dns加网关地址转换(NAT)的方法,来达到封锁qq的目的。
首先,我们需要一定的实施条件,它包括以下几个部分:1 专线接入 2 申请一些全球唯一单播IP地址 3 申请自己的域名空间,架设自己的dns服务器。接下来,我们来构建网络逻辑拓扑。
DNS、路由器、NAT网关使用全球唯一单播IP地址,内部网络使用保留地址。接下来,我们就在这样一个框架下实现这个功能。
一、dns处理。这里的关键技术是泛域名解析,泛域名的作用是一个域名下的所有主机或子域名都被解析到同一个IP地址上。
1、到官方网站 下载软件 bind.9.3.2的源码包 bind-9.3.2.tar.gz.
2、解压文件 # tar zxvf bind-9.3.2.tar.gz。
3、编译安装软件。 cd bind-9.3.2 ; ./configure –prefix=/usr/local ; make ; make install
4、手动创建dns的主配置文件 /etc/named.conf,配置后的文件形式如下:
options {
directory “/var/named” ;
} ;
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "localhost.rev";
};
zone "tencent.com" {
type master;
file "tencent.com";
};
zone "qq.com" {
type master;
file "qq.com";
};
zone "tencent.com.cn" {
type master;
file "tencent.com.cn";
};
zone "qq.com.cn" {
type master;
file "qq.com.cn";
};
//自己的区域在此省略。。。
最好把腾讯公司所有的域名加进配置文件里。
5、创建区域文件 /var/named/tencent.com,其形式如下:
$TTL 3600
tencent.com. IN SOA dns.sery.com. hostmaster.dns.sery.com. (
2006012401
3600
900
43200
3600)
IN NS dns.sery.com.
.
.
.
*.tencent.com IN A 127.0.0.1
同理,再伪造另外的几个域名解析记录。
二、NAT处理。这里需要采用linux的IPTABLES,假定IPTABLES的基本功能已经设定好了。那么在这里需要处理的事情就是在规则链中插入以下两条:
iptables –t nat PREROUTING –I eth0 –p tcp –dport 53 –j DNAT –to-destination :53
iptables –t nat PREROUTING –I eth0 –p udp –dport 53 –j DNAT –to-destination :53
注: 本例假定NAT网关的eth0与内部局域网相连。
原理:局域网的用户的任何dns 服务请求,都会被NAT网关自动转发到指定的那台DNS服务器而不管用户设定的DNS是什么。然而DNS上面伪造了腾讯的域名,因此DNS服务器返回给用户的腾讯服务器主机的解析记录就会是错误的,这就到达了封锁qq的目的。当然,dns同样设定了正确的区域解析,所以访问除腾讯而外的服务器就是正常的。
2006-2-21
阅读(917) | 评论(3) | 转发(0) |