http://www.dingl.com/blog/archives/19
作者:丁令
作为服务器对外提供服务,不能不安装防火墙,这部分为Ubuntu7.1配置iptables。
在网上查看了很多关于Ubuntu下防火墙配置的文章,感觉都很麻烦。
在desktop版下,可以使用firestarter来配置iptables。
在server中也有shorewall工具来配置。
仔细研究了一下iptables的配置,发现都是使用iptables命令来配置规则,同时发现网上有朋友直接使用脚本配置规则。于是,依样画葫芦也搞了个脚本,这样省事,而且与Fedora Core命令行下的配置类似。
创建/etc/init.d/firewall文件:
vi /etc/init.d/firewall
放到/etc/init.d下的原因是方便自动启动。
脚本如下:
#!/bin/bash
# This program is used to use start my iptables.
#History :
# Sat Jun 17 23:22:01 CST 2006 Jerry Second realease
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:~/bin
export PATH
case “$1″ in
start)
echo -n “Staring FireWall … ”
# /sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p all -m state –state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p all -m state –state INVALID,NEW -j DROP
echo “OK”
;;
stop)
echo -n “Stop FireWall … ”
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
echo “OK”
;;
restart)
/etc/init.d/firewall stop
/etc/init.d/firewall start
echo “Restart FireWall OK”
;;
*)
echo “Usage: $0 {start|stop|restart}”
esac
exit 0
如果想新开端口,直接修改start部分即可。
测试firewall是否能正常工作:
/etc/init.d/firewall restart
没有问题。
配置firewall随系统自动启动:
cd /etc/init.d
update-rc.d firewall defaults 01
01表示启动优先级,让系统刚启动时就立即启动防火墙规则,可修改所有的K01为K99,在关机或重启服务器时最后停止防火墙服务。
至此,本系统文章全部完毕。
作为生产环境,以上配置基本足够了,能跑目前流行的各种应用,包括N多的开源或免费的应用,如BBS、CMS、Blog等。
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(一)
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(二)
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(三)
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(四)
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(五)
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(六)
Ubuntu 7.1 server从无到有搭建全能WEB生产环境(七)
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。
http://www.dingl.com/blog/archives/19
作者:丁令