北京北大青鳥通州校區(qū)學(xué)術(shù)部提供:
1、iptables介紹
iptables是復(fù)雜的,它集成到linux內(nèi)核中。用戶通過iptables,可以對進(jìn)出你的計算機(jī)的數(shù)據(jù)包進(jìn)行過濾。通過iptables命令設(shè)置你的規(guī)則,來把守你的計算機(jī)網(wǎng)絡(luò)──哪些數(shù)據(jù)允許通過,哪些不能通過,哪些通過的數(shù)據(jù)進(jìn)行記錄(log)。接下來,(北京北大青鳥)老師將告訴你如何設(shè)置自己的規(guī)則,從現(xiàn)在就開始吧。(北京北大青鳥)
2、初始化工作
在shell提示符 # 下打入
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
以上每一個命令都有它確切的含義。一般設(shè)置你的iptables之前,首先要清除所有以前設(shè)置的規(guī)則,我們就把它叫做初始化好了。雖然很多情況下它什么也不做,但是保險起見,不妨小心一點吧! 如果你用的是redhat 或fedora,那么你有更簡單的辦法 (北京北大青鳥)
service iptables stop
3、開始設(shè)置規(guī)則:
接下下開始設(shè)置你的規(guī)則了
iptables -P INPUT DROP
這一條命令將會為你構(gòu)建一個非!鞍踩钡姆阑饓,我很難想象有哪個hacker能攻破這樣的機(jī)器,因為它將所有從網(wǎng)絡(luò)進(jìn)入你機(jī)器的數(shù)據(jù)丟棄(drop)了。這當(dāng)然是安全過頭了,此時你的機(jī)器將相當(dāng)于沒有網(wǎng)絡(luò)。如果你ping localhost,你就會發(fā)現(xiàn)屏幕一直停在那里,因為ping收不到任何回應(yīng)。(北京北大青鳥)
4 、添加規(guī)則
接著上文繼續(xù)輸入命令:
iptables -A INPUT -i ! ppp0 -j ACCEPT
這條規(guī)則的意思是:接受所有的,來源不是網(wǎng)絡(luò)接口ppp0的數(shù)據(jù)。
我們假設(shè)你有兩個網(wǎng)絡(luò)接口,eth0連接局域網(wǎng),loop是回環(huán)網(wǎng)(localhost)。ppp0是一般的adsl上網(wǎng)的internet網(wǎng)絡(luò)接口,如果你不是這種上網(wǎng)方式,那則有可能是eth1。在此我假設(shè)你是adsl上網(wǎng),你的internet接口是ppp0。(北京北大青鳥)
此時你即允許了局域網(wǎng)的訪問,你也可以訪問localhost
此時再輸入命令 ping localhost,結(jié)果還會和剛才一樣嗎?
到此我們還不能訪問www,也不能mail,接著看吧。(北京北大青鳥)
5、我想訪問www
iptables -A INPUT -i ppp0 -p tcp -sport 80 -j ACCEPT
允許來自網(wǎng)絡(luò)接口ppp0(internet接口),并且來源端口是80的數(shù)據(jù)進(jìn)入你的計算機(jī)。
80端口正是www服務(wù)所使用的端口。
好了,現(xiàn)在可以看網(wǎng)頁了。但是,你能看到嗎?
如果你在瀏覽器的地址中輸入
www.baidu.com
,能看到網(wǎng)頁嗎?
你得到的結(jié)果一定是:找不到主機(jī)
www.baidu.com
但是,如果你再輸入220.181.27.5,你仍然能夠訪問baidu的網(wǎng)頁。
為什么?如果你了解dns的話就一定知道原因了。
因為如果你打入www.baidu.com,你的電腦無法取得www.baidu.com這個名稱所能應(yīng)的ip地址220.181.27.5。如果你確實記得這個ip,那么你仍然能夠訪問www,你當(dāng)然可以只用ip來訪問www,如果你想挑戰(zhàn)你的記憶的話^ _ ^,當(dāng)然,我們要打開DNS。(北京北大青鳥)(未完待續(xù))