分享

Ubuntu 7.1 server从无到有搭建全能WEB生产环境(七)

 hask578 2014-12-24

作为服务器对外提供服务,不能不安装防火墙,这部分为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等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多