本文将介绍用Freebsd自带的IPFW防火墙限制局域网使用QQ.
一、分析腾讯QQ服务器的分布范围:
QQ服务器分为三类:
1、UDP 8000端口类7个:速度最快,服务器最多。QQ上线会向这7个服务器发送UDP数据包,选择回复速度最快的一个作为连接服务器。
这7个服务器名字均以sz-sz7开头,域后缀是tencent.com,域名与IP对应为
sz 61.144.238.145
sz2 61.144.238.146
sz3 202.104.129.251
sz4 202.104.129.254
sz5 61.141.194.203
sz6 202.104.129.252
sz7 202.104.129.253
其它: 61.144.238.156
2、TCP HTTP连接服务器2个,使用HTTP 80端口连接这2个服务器名字均以tcpconn开头,域后缀是tencent.com,域名与IP对应为
tcpconn 218.17.209.23
tcpconn3 218.17.209.23
tcpconn2 218.18.95.153
tcpconn4 218.18.95.153
虽然有4个名字,但是只有2个服务器
3、会员VIP登陆服务器,使用HTTP 443安全连接
服务器IP 218.17.209.42
由于第2、3种我这儿无法选择进行登陆,我只是通过反向查询得到了IP及端口,至于第1种我经过了详细的测试,封锁了这7个UDP服务器,QQ是不能登陆的。
二、实现限制内网客户端上QQ(注意:我的网络是用nat+ipfw做透明代理加防火墙实现共享上网的)
1.加入以下规则使内核支持ipfw防火墙功能,重新编辑内核文件.
options IPFIREWALL //通知操作系统的内核检查每个IP数据包,将它们与规则集进行比较
options IPFIREWALL_FORWARD
options IPDIVERT //启用由ipfw divert使用的转向IP套接字。这一选项需要与natd联合使用。
options IPFIREWALL_VERBOSE //向系统的注册程序发送注册信息包
options IPFIREWALL_VERBOSE_LIM99v=100 //限制一台机器注册的次数。
options IPSTEALTH //启动支持秘密转发的代码,这一选项在使防火墙不被traceroute和类似工具发现时很有用。
options IPFIREWALL_DEFAULT_TO_ACCEPT
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP //接受过滤器中的静态连接
options ICMP_BANDLIM //ICMP_BANDLIM根据带宽限制产生icmp错误。一般情况下我们需要这个选项,它有助于你的系统免受D.O.S.攻击。
2、内核编辑好以后,在/etc/rc.conf文件中加入以下内容,好让系统重启后防火墙自动启动
gateway_enable="YES" //启动网关
##########IP-firewall#################
firewall_enable="YES" //激活firewall防火墙
firewall_type="/etc/ipfw.conf" //firewall自定义脚本
firewall_quiet="NO" //起用脚本时,是否显示规则信息。现在为“NO”假如你的防火墙脚本已经定型,那么就可以把这里设置成“YES”了。
firewall_logging_enable="YES" //启用firewall的log记录。"
##########NATD#######################
natd_interface="rl0" //NATD服务启用在哪块网卡。
natd_enable="YES" //激活NATD服务
natd_flags="-config /etc/natd.conf" //NATD服务参数设置文件。
3.设置完成后我们再编辑/etc/syslog.conf文件,加入以下代码:
!ipfw
*.* /var/log/ipfw.log
.
分页: [1] [2]
- 上一篇:FreeBSD的物理内存管理机制
- 下一篇:FreeBSD监视终端操作的方法