北京北大青鳥學(xué)校:Linux的iptables入門教程--設(shè)置靜態(tài)防火墻 之五

此文由北京北大青鳥學(xué)校學(xué)術(shù)部提供:

擴展閱讀:
北京北大青鳥學(xué)校Linux的iptables入門教程--設(shè)置靜態(tài)防火墻之一

北京北大青鳥學(xué)校Linux的iptables入門教程--設(shè)置靜態(tài)防火墻 之二

北京北大青鳥學(xué)校Linux的iptables入門教程--設(shè)置靜態(tài)防火墻 之三

北京北大青鳥學(xué)校Linux的iptables入門教程--設(shè)置靜態(tài)防火墻 之四

12、這個教程我想到此就結(jié)束了,其中有很多東西在這里沒有提到,如ip偽裝,端口轉(zhuǎn)發(fā),對數(shù)據(jù)包的記錄功能。還有一個很重要的東西就是:iptables處理數(shù)據(jù)包的流程.在這里我想告訴你,你設(shè)置的過濾規(guī)則的順序很重要,在此不宜詳細介紹,因為這樣一來,這個教程就會拘泥于細節(jié)。(北京北大青鳥學(xué)校

最后,我把完整的腳本寫出來如下,你只要修改常量定義部分,就能表現(xiàn)出較大的伸縮性^_^
#!/bin/bash
# This is a script
# Edit by lisi(北京北大青鳥學(xué)校
# establish a static firewall
# define const here
Open_ports="80 25 110 10" # 自己機器對外開放的端口
Allow_ports="53 80 20 21" # internet的數(shù)據(jù)可以進入自己機器的端口
#init
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
# The follow is comment , for make it better
# iptables -P INPUT DROP
iptables -A INPUT -i ! ppp0 -j ACCEPT
# define ruler so that some data can come in. (北京北大青鳥學(xué)校
for Port in "Allow_ports" ; do
ptables -A INPUT -i ppp0 -p tcp -sport $Port -j ACCEPT
iptables -A INPUT -i ppp0 -p udp -sport $Port -j ACCEPT
done
for Port in "Open_ports" ; do
iptables -A INPUT -i ppp0 -p tcp -dport $Port -j ACCEPT
iptables -A INPUT -i ppp0 -p udp -dport $Port -j ACCEPT
done
# This is the last ruler , it can make you firewall better
iptables -A INPUT -i ppp0 -p tcp -j REJECT --reject-with tcp-reset
iptables -A INPUT -i ppp0 -p udp -j REJECT --reject-with icmp-port-unreachable
北京北大青鳥學(xué)校

北大青鳥網(wǎng)上報名
北大青鳥招生簡章