FreeBSD利用IPFW實現限制局域網使用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_LIMIT=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################# 版權申明:本站文章均來自網絡,如有侵權,請聯系028-86262244-215,我們收到后立即刪除,謝謝!
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的設置)