文件内容如下:
#! /bin/sh
UPLINK="ppp0"
#默认连接In.ternet的是ppp0,也就是ADSL虚拟拨号,专线连接请改成网卡号,如eth0或.eth1.
UPIP=""
#使用虚拟拨号.不填,.因为IP是变化的;使用专线固定IP的请填入IP,改成UPIP="61.132.118.32"虚拟主机
ROUTER="yes"
#是否为子网机器作NAT转发,不需要.则改成"no" 美容
#NAT.="UPIP/dynamic".
NAT="dynamic"
#NAT..转发类型,dynamic指ADSL虚拟拨号,动态IP;用专线静态IP的请改为"UPIP"域名
INTERFACES="lo .eth.0 eth1 ppp0" 教育
#网.卡界面,默认是两块网卡eth0和eth1,ppp0是在其中某一块网卡上虚拟拨号后产生的;如果你有更多的网卡,就加上eth2、eth.3等.;如果你用专线固定IP的,就把ppp0去掉,因为你永远不会有ppp0这个设备;投资
SERVICES="80 22 25 110. " 外汇
#外网可以访问到的端口;注意:子网用户可以访问到服务器所有的服务端口,默认.是全开放的;这样做是为了减少初学者的困惑.,你可以根据自己情况改一下;如果SERVICES里什么端口也.不填,那么外网用户无法访问到你服务器的任何服务;如果你要增加对外网开放的服务,就在里面加上端.口号,如要开放ftp服务,就在110后面加上21,中间用空格格开; 外汇
deny=""
case "$@" in
start)
echo -n "Starting firew.all...." #显示一段文字服务器
modprobe i.p_nat_f.tp #加载ftp的nat模块.
modprobe ip_conntrack_ftp #加载ftp的跟踪.模.块虚拟主机
iptables -P I.NPUT DROP #默认拒绝所有输入的TCPIP.包 婚庆
iptables -A INPUT -i ! ${UPLINK} -j ACCEPT. #允许非.UPLINK设备的输入,即允许所有子网的输入.
iptables -A INPUT -m state --state EST.ABLISHED,RELAT.ED -j ACCEPT #允许有状态的包输入 外汇
#以下四行根据SERVICES里的.配置作一个循.环,打开允许对外网开放的端口.
for x in ${SERVI.CES} <性病>
do
iptables -A INP.UT -p tcp --dport ${x.} -m. state --state NEW -j ACCEPT #允许输入的类型是tcp,端口为前面SERVICES里指定域名
done
#以下四行根据den.y里的端口配置作一个循环,拒绝这些.端口的输出 美容
f.or y in ${deny} <性病>
do
iptables -A O.UTPUT -p. tcp --dport ${y} -j DROP外贸
iptables -A OUTPUT -p udp .--dpo.rt ${y} -j DROP 美容
done
#enable syst.em-log( 游戏 )
#iptables -.A INPUT .-j LOG --log-prefix "bad input:".
#.以下两句在外网试图连接未开放的服务端口时候应答标准 TCP 复位和 ICMP 端口.不可到达响应,假装我们根本没有运行服务,以迷惑潜在的闯入者。 美容
iptables -A INPUT -p tcp -i ${UPLINK} -j REJECT --reject-with tcp-res.et ..
#iptables -A INPUT -p udp -i ${UPLINK} -j REJECT --r.e.ject-with .icmp-port-unreachable.
#以.下关闭 ECN(明确拥塞通知),以便因特网通.信可以正确工作 外汇
#explicitly. disable ECN 汽车
if .[ -e. /proc/sys/net/ipv4/tcp_ecn ].
then
echo. 0 >; /pr.oc/sys/net/ipv4/tcp_ecn .
#以下这个循环告诉内核删除网络接.口所有受到欺骗的包.
for x in .${INTERFACES}.
do
echo 1 >..; /proc/sys/net/ipv4/conf/${x}/rp_filter 婚庆
done
#以下设置nat转发
i.f [ "$ROUTER" = "yes". ] #如果ROUTER设置为yes,则投资
then
#we're a route.r of some kind, e.nable IP forwarding.
echo 1 >; /proc/s.ys/net/ipv4/ip_forward #打开内核的N.AT转发功能(广告)
if [ "$NAT" = ".dynamic" ]<性病>
then
#dynamic IP address,. use masqueradi.ng教育
iptables -t nat -A POSTROUTING -o ${UP.LINK} -j MASQUER.ADE #动态IP,使用masq转发方式 汽车
elif [ "$N.AT" != "" ]电脑
then
#static .IP, use SNAT 健康
iptab.les -t nat -A POSTROUTING -o $.{UPLINK} -j SNAT --t.o ${UPIP} #静态IP,使用SNAT转发方式 乙肝
fi
fi
e.cho "OK!" #显示OK!健康
exit 0
;;
#防火墙停止脚本
stop)
echo -n "Stopping fir.ewall..." #显示.文字.
iptables -.F INPUT #清空输入.链的全部规则--------------彩票
iptables -P .INPUT ACCEPT #默认.输入为允许 婚庆
iptable.s. -F OUTPUT #清空输出链的全部规则服务器
iptables -P OUTPU.T. ACCEPT #默认输出为允许外贸
#turn of.f NAT/.masquerading, if any.
#ipt.ables -t na.t -F POSTROUTING电脑
echo "OK!"
exit 0
;;
restart)
{PAGEEDI.T_FORM_TEXT} stop 健康
{PAGEEDIT_FORM_T.EXT} star.t健康
;;
show)
clear
echo ">;--------------------------.---.------------------------------.--------" 婚庆
iptables -L
echo ">;-----------------------------------------------.-------.---.----------".
iptab.les -t nat -L POSTR.OUTING 女人
exit 0
;;
*)
echo. "Usage: {PAGEEDIT_FORM_TEXT} {start|st.op|restart|show}"电影
exit 1
fi
esac
推荐以下文章:
吴阿亭的Linux 2.4 内核中的iptables 新增功能指南
http://www.linuxforum.net/doc/iptable-wu.html电影
C.NGNU..org的IPtable 1.0.7指南 .
http://www.cngnu.org/technology/9405/282.html.不知道算不算精华