FreeBSD利用IPFW實(shí)現(xiàn)限制局域網(wǎng)使用QQ
QQ服務(wù)器分為三類:
1、UDP 8000端口類7個(gè):速度最快,服務(wù)器最多。QQ上線會(huì)向這7個(gè)服務(wù)器發(fā)送UDP數(shù)據(jù)包,選擇回復(fù)速度最快的一個(gè)作為連接服務(wù)器。這7個(gè)服務(wù)器名字均以sz-sz7開頭,域后綴是tencent.com,域名與IP對(duì)應(yīng)為:
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連接服務(wù)器2個(gè),使用HTTP 80端口連接這2個(gè)服務(wù)器名字均以tcpconn開頭,域后綴是tencent.com,域名與IP對(duì)應(yīng)為
tcpconn 218.17.209.23
tcpconn3 218.17.209.23
tcpconn2 218.18.95.153
tcpconn4 218.18.95.153
雖然有4個(gè)名字,但是只有2個(gè)服務(wù)器
3、會(huì)員VIP登陸服務(wù)器,使用HTTP 443安全連接
服務(wù)器IP 218.17.209.42
由于第2、3種我這兒無法選擇進(jìn)行登陸,我只是通過反向查詢得到了IP及端口,至于第1種我經(jīng)過了詳細(xì)的測(cè)試,封鎖了這7個(gè)UDP服務(wù)器,QQ是不能登陸的。
實(shí)現(xiàn)限制內(nèi)網(wǎng)客戶端上QQ(注意:我的網(wǎng)絡(luò)是用nat+ipfw做透明代理加防火墻實(shí)現(xiàn)共享上網(wǎng)的)
1.加入以下規(guī)則使內(nèi)核支持ipfw防火墻功能,重新編輯內(nèi)核文件。
options IPFIREWALL //通知操作系統(tǒng)的內(nèi)核檢查每個(gè)IP數(shù)據(jù)包,將它們與規(guī)則集進(jìn)行比較
options IPFIREWALL_FORWARD
options IPDIVERT //啟用由ipfw divert使用的轉(zhuǎn)向IP套接字。這一選項(xiàng)需要與natd聯(lián)合使用。
options IPFIREWALL_VERBOSE //向系統(tǒng)的注冊(cè)程序發(fā)送注冊(cè)信息包。
options IPFIREWALL_VERBOSE_LIMIT=100 //限制一臺(tái)機(jī)器注冊(cè)的次數(shù)。
options IPSTEALTH //啟動(dòng)支持秘密轉(zhuǎn)發(fā)的代碼,這一選項(xiàng)在使防火墻不被traceroute和類似工具發(fā)現(xiàn)時(shí)很有用。
options IPFIREWALL_DEFAULT_TO_ACCEPT
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP //接受過濾器中的靜態(tài)連接
options ICMP_BANDLIM //ICMP_BANDLIM根據(jù)帶寬限制產(chǎn)生icmp錯(cuò)誤。一般情況下我們需要這個(gè)選項(xiàng),它有助于你的系統(tǒng)免受D.O.S.攻擊。
2、內(nèi)核編輯好以后,在/etc/rc.conf文件中加入以下內(nèi)容,好讓系統(tǒng)重啟后防火墻自動(dòng)啟動(dòng)。
gateway_enable="YES" //啟動(dòng)網(wǎng)關(guān)
##########IP-firewall################# 版權(quán)申明:本站文章均來自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系028-86262244-215,我們收到后立即刪除,謝謝!
firewall_enable="YES" //激活firewall防火墻
firewall_type="/etc/ipfw.conf" //firewall自定義腳本
firewall_quiet="NO" //起用腳本時(shí),是否顯示規(guī)則信息。現(xiàn)在為“NO”假如你的防火墻腳本已經(jīng)定型,那么就可以把這里設(shè)置成“YES”了。
firewall_logging_enable="YES" //啟用firewall的log記錄。"
##########NATD#######################
natd_interface="rl0" //NATD服務(wù)啟用在哪塊網(wǎng)卡。
natd_enable="YES" //激活NATD服務(wù)
natd_flags="-config /etc/natd.conf" //NATD服務(wù)參數(shù)設(shè)置文件。
3.設(shè)置完成后我們?cè)倬庉?etc/syslog.conf文件,加入以下代碼:
!ipfw
*.* /var/log/ipfw.log
4.在/var/log/建立一個(gè)ipfw.log的文件,內(nèi)容為空的就可以了,然后保存退出。(這是一個(gè)記錄防火墻的日志文件)
5.在/etc下也建立一個(gè)natd.conf的文件,內(nèi)容也為空的,保存退出。(這是一個(gè)nat的配置文件,可以作一些NAT的設(shè)置)