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