Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3178604
  • 博文数量: 797
  • 博客积分: 10134
  • 博客等级: 上将
  • 技术积分: 9335
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-22 22:57
个人简介

1

文章分类

全部博文(797)

文章存档

2022年(1)

2021年(2)

2017年(2)

2016年(1)

2015年(4)

2014年(1)

2013年(6)

2012年(6)

2011年(10)

2010年(26)

2009年(63)

2008年(61)

2007年(51)

2006年(563)

我的朋友

分类: LINUX

2006-07-20 10:23:30

这里我们采用 shorewall 作为服务器的专业防火墙,这也是 Ubuntu 推荐的防火墙。
  • 本服务器有一块网卡通过交换机和ADSL相连接,同时交换机上连接其它电脑。 如果有两块网卡,其中一块接ADSL,请修改 eth0 为 你接交换机的网卡,例如 eth1。
  • 安装防火墙

    sudo apt-get install shorewall
  • 复制配置文件

    sudo cp /usr/share/doc/shorewall/default-config/modules /etc/shorewall/
    sudo cp /usr/share/doc/shorewall/default-config/policy /etc/shorewall/
    sudo cp /usr/share/doc/shorewall/default-config/nat /etc/shorewall/
    sudo cp /usr/share/doc/shorewall/default-config/zones /etc/shorewall/
    sudo cp /usr/share/doc/shorewall/default-config/maclist /etc/shorewall/
    sudo cp /usr/share/doc/shorewall/default-config/blacklist /etc/shorewall/
    sudo gunzip -c /usr/share/doc/shorewall/default-config/interfaces.gz > /etc/shorewall/interfaces
    sudo gunzip -c /usr/share/doc/shorewall/default-config/rules.gz > /etc/shorewall/rules
    sudo gunzip -c /usr/share/doc/shorewall/default-config/hosts.gz > /etc/shorewall/hosts
    sudo gunzip -c /usr/share/doc/shorewall/default-config/masq.gz > /etc/shorewall/masq
  • 配置网卡
    假设:你的网卡是 eth0 ,通过 ppp0 上 Internet.

    sudo gedit /etc/shorewall/interfaces

    在倒数第二行,也就是在 “#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE” 这一行之前添加:

    net    ppp0        detect        dhcp,routefilter,norfc1918,tcpflags
    loc eth0 detect tcpflags
  • 配置网络别名

    sudo gedit /etc/shorewall/zones

    在倒数第二行,也就是在 “#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE” 这一行之前添加:

    net     Net             Internet
    loc Local Local Networks
  • 配置IP伪装,也就是透明代理

    sudo gedit /etc/shorewall/masq

    在倒数第二行,也就是在 “#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE” 这一行之前添加:

    ppp0                    eth0
  • 配置防火墙规则

    sudo gedit /etc/shorewall/rules

    在倒数第二行,也就是在 “#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE” 这一行之前添加:

    #
    # 允许 DNS 从 防火墙 连接到 Internet
    #
    AllowDNS fw net
    #
    # 允许本地网络可以使用 SSH 来管理服务器
    #
    AllowSSH loc fw
    #
    # 允许 Ping 到防火墙和允许防火墙 Ping 其它网络
    #
    AllowPing loc fw
    AllowPing net fw
    AllowPing fw loc
    AllowPing fw net
    #
    # 允许 Internet 访问防火墙上的 WEB 服务
    #
    AllowWeb net fw
    #
    # 允许 Internet 访问防火墙上的 FTP 服务
    #
    AllowFTP net fw
    #
    # 允许 Internet 访问防火墙上的 邮件 服务
    #
    AllowSMTP net fw
    AllowIMAP net fw
    #
    # 允许本地网络可以访问 Internet
    #
    AllowWeb loc net
    #
    # 允许本地网络可以收发邮件
    #
    AllowSMTP loc net
    AllowIMAP loc net
    AllowPOP3 loc net
    #
    # 允许本地网络使用 FTP 到 Internet
    #
    AllowFTP loc net
    #
    # 允许本地网络从 Internet 查询 DNS
    #
    AllowDNS loc net
    #
    # 允许本地网络使用 NSM
    #
    ACCEPT loc net tcp 1863
    ACCEPT loc net tcp 443
    ACCEPT loc net:gateway.messenger.hotmail.com all
    #
    # 将WEB访问重新定向到 3128 ,通过squid完成访问 ,访问服务器地址 192.168.0.1 除外。
    #
    #REDIRECT loc 3128 tcp www - !192.168.0.1
  • 修改 shorewall.conf 自动开启 IP 转发

    sudo gedit /etc/shorewall/shorewall.conf

    查找到:

    IP_FORWARDING=Keep

    修改为:

    IP_FORWARDING=On
  • 保存关闭文件
  • 修改 /etc/default/shorewall 自动运行防火墙

    sudo gedit /etc/default/shorewall

    查找到:

    startup=0

    修改为:

    startup=1
  • 启动防火墙

    sudo shorewall start
  • 至此防火墙配置完成。
阅读(844) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~