實(shí)驗(yàn)一:安裝
1、從http://www.netfilter.org/downloads.html#iptables-1.2.9下載最新的iptables源代碼包,當(dāng)前是iptables-1.2.9.tar.bz,下載后保存到/usr/local/src目錄。
2、進(jìn)入/usr/local/src目錄,解開壓縮包,進(jìn)入iptables源代碼目錄,
#cd /usr/local/src
#bunzip2 iptables-1.2.9.tar.bz
#tar xf iptables-1.2.9.tar
#cd iptables-1.2.9
3、使用下面蝗命令編譯和安裝iptables源代碼軟件包
#make PREFIX=/usr
#make PREFIX=/usr install
注:使用PREFIX=/usr參數(shù)指定iptables安裝相關(guān)的文件時(shí)以/usr目錄為最上層目錄,而不是默認(rèn)的/usr/local,如iptables的文件會(huì)安裝在/usr/sbin,/usr/lib,/usr/man等目錄中,使用ls 命令查看這些目錄,能夠發(fā)現(xiàn)iptabels相關(guān)的可執(zhí)行文件和庫(kù)文件,
4、安裝完成,使用默認(rèn)安裝的iptables命令和新安裝的iptables命令,比較查看版本信息
#/sbin/iptables –v
5、為了使用新安裝的iptables工具,需要停掉系統(tǒng)啟動(dòng)時(shí)執(zhí)行的iptabels命令,把防火墻啟動(dòng)腳本從系統(tǒng)啟動(dòng)隊(duì)列中去掉,
#chkconfig –level 2345 iptables off
#chkconfig –list iptables
然后用reboot重新啟動(dòng)系統(tǒng)。
實(shí)驗(yàn)二:用iptables設(shè)置本機(jī)拒絕按特定類型的連接
使用最新安裝的iptables工具設(shè)置本機(jī)的防火墻。使本地防火墻能夠拒絕外部對(duì)本機(jī)的telnet.ftp的連接。
1、繼續(xù)上面的實(shí)驗(yàn),重啟后,以root用戶登錄。使用iptables命令查看當(dāng)前的防火墻,顯示沒有防火墻設(shè)置,
#/usr/sbin/iptables –L
2、使用/etc/rc.d/init.d/vsftp腳本啟動(dòng)vsftp服務(wù)器
#/etc/rc.d/init.d/vsftp start
3、在局域網(wǎng)中的他客戶端連接ftp服務(wù)器。顯示連接成功!
如不成功!需他細(xì)檢查以上的每一步驟是否正確。
4、使用vi命令編輯/etc/xinetd.d/telnet配置文件。將其中的“disable = yes” 更改為“disable = no”。存盤退出。重啟服務(wù)。
#/etc/rc.d/init.d/xinetd restart
在另一臺(tái)機(jī)中訪問本機(jī)的telnet服務(wù),顯示連接成功。
如不成功!需他細(xì)檢查以上的每一步驟是否正確
5、使用下面的iptalbes命令設(shè)置禁止外部的telnet連接
#/usr/sbin/iptables –A INPUT –P tcp –dport telnet -j DROP
6、設(shè)置完成后,使用iptables的“-L”選項(xiàng)查看防火墻設(shè)置,能夠看到上面設(shè)置的防火墻規(guī)則在INPUT鏈中
#iptables –L
7、使用上現(xiàn)步驟中連接的外部主機(jī)telnet到本機(jī),顯示連接被拒絕,
但使用ftp連接。外部連接仍然有效。
8、使用同樣的方法。設(shè)置拒絕FTP連接的防火墻規(guī)則
#/usr/sbin/iptables –A INPUT -p tcp ——dport ftp -j DROP
使用iptables命令查看防火墻,顯示剛才設(shè)置的防火墻規(guī)則已經(jīng)被登記。
#iptables –L
9、使用iptables命令選項(xiàng)“-F”清除所有防火墻規(guī)則
#iptables –F
#iptables –L
實(shí)驗(yàn)三:安裝squid
下載最新的squid源代碼。然后編譯安裝。并檢查安裝的文件夾。
1、從http://www.squid-cache.org/versions/v2/2.5/下載squid源碼,并把它保存在/usr/local/src目錄。
#cd /usr/local/src
#tar xzf squid-2.5STABLE5.tar.gz
#cd squid-2.5.STABLE5
#./configure –prefix=/usr/local/squid
#make
#make install
2、進(jìn)入/usr/local/squid目錄。使用squid命令查看版本信息
#cd /usr/local/squid
#./sbin/squid –v
3、由于squid將配置為以非root身份運(yùn)行。一般是Squid用戶,如果系統(tǒng)在安裝時(shí)選擇了代理服務(wù)器。 一般是squid用戶.如果系統(tǒng)在安裝時(shí)選擇了代理服務(wù)器,則會(huì)默認(rèn)添加squid用戶和用戶組,如果系統(tǒng)中沒有該用戶和組,使用下面的命令既可同時(shí)添加squid用戶和組,
#sueradd squid
安裝完成.
實(shí)驗(yàn)四:配置squid實(shí)現(xiàn)正向和反向緩存代理
將使用最新安裝的squid服務(wù)器,配置在局域 網(wǎng)中代理緩存其他客戶端的www瀏覽請(qǐng)求,即正向緩相存代理,然后 啟動(dòng)本機(jī)的Apache服務(wù)器,并配置squed反向緩存局域網(wǎng)中對(duì)這個(gè)www服務(wù)器的訪問請(qǐng)求,
1、上面步驟安裝的squid服務(wù)器的配置文件在/usr/local/squid/etc/目錄中,使用vi命令修改編輯squid.conf配置文件,
去掉cache_mem前的注釋號(hào),修改緩沖內(nèi)存的大小,一般為主機(jī)內(nèi)存的確1/3,這里設(shè)置為96M,
2、設(shè)置cache_dir。即緩存數(shù)據(jù)的保存目錄。在此接受默認(rèn)設(shè)置,
3、去掉cache_effective_user前面的注釋號(hào),并修改其值為squid用戶。添加cache_dffetcive_group squid項(xiàng),設(shè)置緩存數(shù)據(jù)的存取用戶,
cache_effective_user squid
cache_effective_group squid
4、去除http_access配置項(xiàng)前面的注釋號(hào),改變其設(shè)置為“allow all”,即允許任意客戶端訪問;
改變/usr/local/squid目錄的所有者為squid用戶和組,以便squid用戶能夠?qū)υ撃夸涍M(jìn)行打操作,
# chown –R squid.squid /usr/local/squid
5、使用squid –z 命令初如化緩存目錄,
#./sbin/squid –z
6、啟動(dòng)squid后臺(tái)服務(wù)進(jìn)程。使用“-D”參數(shù)避免squid服務(wù)器進(jìn)行ip地址到域名的反查,
#/usr/local/squid/sbin/squid –D
7、用PS查看squid啟動(dòng)進(jìn)程信息。包括兩個(gè)squid進(jìn)程,一個(gè)unlinked進(jìn)程
正向代理服務(wù)器啟動(dòng)完成,局域網(wǎng)中用戶可以在瀏覽呂中設(shè)置代理服務(wù)器該服務(wù)器的地址,端口默認(rèn)的3128。
8、驗(yàn)證完成后,使用squid命令關(guān)閉代理服務(wù)器,開始配置反向代理服務(wù)器,
#/usr/local/squid/sbin/squid –k shutdown
9、反向代理,須在系統(tǒng)中設(shè)置障礙Apache服務(wù)器,使用VI修改/etc/httpd/conf/httpd.conf文件,更改服務(wù)器在80端口監(jiān)聽http請(qǐng)求。以使squid能夠在3128端口監(jiān)聽客戶端的http請(qǐng)求。并為客戶端提代理,要修改配置文件夾下面的項(xiàng)目:
listen 80
servername 192.168.0.6
存盤退出。然后用/etc/rc.d/init.d/apachectl腳本啟動(dòng)Apache服務(wù)器,并用ps查看。啟動(dòng)的進(jìn)程。
#/etc/rc.d/init.d/apachect1 start
#ps –ax | grep httpd
10、使用vi命令修改/usr/local/squid/etc/squid.conf,把下面的選項(xiàng)更改為后面所列的值,并去掉配置項(xiàng)前面的注釋號(hào),
http_port 3128
#指定squid監(jiān)聽瀏覽器客戶請(qǐng)求的端口號(hào)
icp_port 0
#指定squid從鄰居(neighbour)服務(wù)器緩沖內(nèi)發(fā)送和接收ICP請(qǐng)求的端口號(hào),這里設(shè)置為0,是因?yàn)榕渲胹quid為內(nèi)部WEB服務(wù)器的加速器,所以不需要使用鄰居服務(wù)器的緩沖。
#emulate_httpd_log on
#使Squid仿照web服務(wù)器的格式創(chuàng)建訪問記錄。
Redirect_rewrites_host_header off
#因squid運(yùn)行為加速器模式,不需要重定向特性,
httpd_accel_port 80
因?yàn)楸緳C(jī)的WWW服務(wù)器在80端口監(jiān)聽,所以配置squid連接服務(wù)器的80端口來從Apache獲取文件。
11、設(shè)置完畢后:存盤退出。然后啟動(dòng)squid代理。則開始為apache服務(wù)提供反向代理服務(wù)。
#/usr/local/squid/sbin/squid –D
12、局域網(wǎng)內(nèi),用戶無需再去設(shè)置瀏覽器的代理選項(xiàng),直接使用瀏覽器訪問192.168.0.6的地址,瀏覽器會(huì)訪問服務(wù)器的3128端口,即代理服務(wù)器監(jiān)聽的端口,然后,代理服務(wù)器接收客戶端的請(qǐng)求,查找本地緩存中是否存在請(qǐng)求的數(shù)據(jù),如果有,則直接向客戶端返回,如果沒有。則通過80端口向Apache服務(wù)器請(qǐng)求,對(duì)apache返回的數(shù)據(jù)首先保存中。然后客戶端返回請(qǐng)求數(shù)據(jù)。
|