FreeBSD利用IPFW实现限制局域网使用QQ
2008-11-24 11:47
423 查看
一、分析腾讯QQ服务器的分布范围: QQ服务器分为三类: 1、UDP 8000端口类7个:速度最快,服务器最多。QQ上线会向这7个服务器发…
一、分析腾讯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
4.在/var/log/建立一个ipfw.log的文件,内容为空的就可以了,然后保存退出。(这是一个记录防火墙的日志文件)
5.在/etc下也建立一个natd.conf的文件,内容也为空的,保存退出。(这是一个nat的配置文件,可以作一些NAT的设置)
6.在/etc下新建ipfw.conf文件,在文件里写入以下内容:
add 00400 divert natd ip from any to any via rl0
add 00001 deny log ip from any to any ipopt rr
add 00002 deny log ip from any to any ipopt ts
add 00003 deny log ip from any to any ipopt ssrr
add 00004 deny log ip from any to any ipopt lsrr
add 00005 deny tcp from any to any in tcpflags syn,fin
#####TCP#####
add 10000 deny tcp from any to any 4000
add 10001 deny tcp from any to any 8000
add 10002 deny udp from any to any 4000
add 10003 deny udp from any to any 8000
add 10004 deny all from any to 61.144.238.145
add 10005 deny all from 61.144.238.145 to any
add 10006 deny all from any to 61.144.238.146
add 10007 deny all from 61.144.238.146 to any
add 10008 deny all from any to 202.104.129.251
add 10009 deny all from 202.104.129.251 to any
add 10010 deny all from any to 202.104.129.254
add 10011 deny all from 202.104.129.254 to any
add 10012 deny all from any to 61.141.194.203
add 10013 deny all from 61.141.194.203 to any
add 10014 deny all from any to 202.104.129.252
add 10015 deny all from 202.104.129.252 to any
add 10016 deny all from any to 202.104.129.253
add 10017 deny all from 202.104.129.253 to any
add 10018 deny all from any to 218.18.95.153
add 10019 deny all from 218.18.95.153 to any
add 10020 deny all from any to 218.17.209.23
add 10021 deny all from 218.17.209.23 to any
add 10022 deny all from any to 61.144.238.156
add 10023 deny all from 61.144.238.156 to any
add 10024 deny all from any to 218.17.209.42
add 10025 deny all from 218.17.209.42 to any
#####ICMP#####
add 30000 allow icmp from any to any icmptypes 3
add 30001 allow icmp from any to any icmptypes 4
add 30002 allow icmp from any to any icmptypes 8 out
add 30003 allow icmp from any to any icmptypes 0 in
add 30004 allow icmp from any to any icmptypes 11 in
#####LAN#####
add 40001 allow all from any to any
更多局域网限制方案:http://www.moozk.cn/Article/ShowArticle.asp?ArticleID=471
计算机学习网
一、分析腾讯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
4.在/var/log/建立一个ipfw.log的文件,内容为空的就可以了,然后保存退出。(这是一个记录防火墙的日志文件)
5.在/etc下也建立一个natd.conf的文件,内容也为空的,保存退出。(这是一个nat的配置文件,可以作一些NAT的设置)
6.在/etc下新建ipfw.conf文件,在文件里写入以下内容:
add 00400 divert natd ip from any to any via rl0
add 00001 deny log ip from any to any ipopt rr
add 00002 deny log ip from any to any ipopt ts
add 00003 deny log ip from any to any ipopt ssrr
add 00004 deny log ip from any to any ipopt lsrr
add 00005 deny tcp from any to any in tcpflags syn,fin
#####TCP#####
add 10000 deny tcp from any to any 4000
add 10001 deny tcp from any to any 8000
add 10002 deny udp from any to any 4000
add 10003 deny udp from any to any 8000
add 10004 deny all from any to 61.144.238.145
add 10005 deny all from 61.144.238.145 to any
add 10006 deny all from any to 61.144.238.146
add 10007 deny all from 61.144.238.146 to any
add 10008 deny all from any to 202.104.129.251
add 10009 deny all from 202.104.129.251 to any
add 10010 deny all from any to 202.104.129.254
add 10011 deny all from 202.104.129.254 to any
add 10012 deny all from any to 61.141.194.203
add 10013 deny all from 61.141.194.203 to any
add 10014 deny all from any to 202.104.129.252
add 10015 deny all from 202.104.129.252 to any
add 10016 deny all from any to 202.104.129.253
add 10017 deny all from 202.104.129.253 to any
add 10018 deny all from any to 218.18.95.153
add 10019 deny all from 218.18.95.153 to any
add 10020 deny all from any to 218.17.209.23
add 10021 deny all from 218.17.209.23 to any
add 10022 deny all from any to 61.144.238.156
add 10023 deny all from 61.144.238.156 to any
add 10024 deny all from any to 218.17.209.42
add 10025 deny all from 218.17.209.42 to any
#####ICMP#####
add 30000 allow icmp from any to any icmptypes 3
add 30001 allow icmp from any to any icmptypes 4
add 30002 allow icmp from any to any icmptypes 8 out
add 30003 allow icmp from any to any icmptypes 0 in
add 30004 allow icmp from any to any icmptypes 11 in
#####LAN#####
add 40001 allow all from any to any
更多局域网限制方案:http://www.moozk.cn/Article/ShowArticle.asp?ArticleID=471
计算机学习网
相关文章推荐
- 白帽子讲web安全笔记-利用location.hash绕过长度限制_使用DVWA实现
- 使用HTTP Tunnel突破内网防火墙限制,轻松实现在办公室炒股、上QQ
- 利用jquery实现在html的表格中使用上下左右键切换单元格,同时只限制单元格输入数字
- ExpandableListView的使用,实现类似QQ好友列表
- SpringMVC 使用jndi 多个数据源且利用AbstractRoutingDataSource实现动态数据源切换
- 在VMWare5.0上实现FreeBSD5.4的PPPoE网关(PPP+IPFW+NAT)
- 用Python 实现刷钻网上抢任务,并实现一个简单的限制使用时间的功能
- JSP使用Common FileUpload组件实现文件上传及限制上传类型实例代码
- 利用局域网实现VLAN
- 利用Register protocol实现网页调用桌面程序(类似迅雷、QQ等)
- 利用开源软件 Hugin 实现照片的景深合成,使用开源软件 enfuse 做照片的曝光合成
- 使用Maven构建项目环境,利用Jsoup实现数据抓取(下)
- 利用冗余实现企业局域网的高可用性
- Android-使用Android Studio实现第三方QQ登录
- 如何利用指针实现冒泡排序,以及指针使用时位置的确定
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- Android 使用Android studio实现第三方QQ登录
- 使用SqlDependency类及利用SQL2008的Service Broker来检测数据改动的实现
- 使用ulimit命令和limits.conf限制系统资源的利用
- CImage类的介绍与使用 【图像打开,另存为,转为灰度图像(利用cimage方法实现)】