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

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

擴(kuò)展閱讀:
北京北大青鳥學(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、這個(gè)教程我想到此就結(jié)束了,其中有很多東西在這里沒有提到,如ip偽裝,端口轉(zhuǎn)發(fā),對(duì)數(shù)據(jù)包的記錄功能。還有一個(gè)很重要的東西就是:iptables處理數(shù)據(jù)包的流程.在這里我想告訴你,你設(shè)置的過濾規(guī)則的順序很重要,在此不宜詳細(xì)介紹,因?yàn)檫@樣一來,這個(gè)教程就會(huì)拘泥于細(xì)節(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" # 自己機(jī)器對(duì)外開放的端口
Allow_ports="53 80 20 21" # internet的數(shù)據(jù)可以進(jìn)入自己機(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)上報(bào)名
北大青鳥招生簡(jiǎn)章