科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Linux免费防火墙试用手记(4)

Linux免费防火墙试用手记(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一个带有防火墙功能的路由器可以有效地消除这些危险。你可以把钱省下来,完全使用Linux内建的路由和防火墙的功能来达到目的。在很多情况下,你甚至可以把你的Linux服务器同时作为路由器使用。

作者:51CTO.COM 2007年11月11日

关键字: 网络安全 防火墙 iptables Linux

  • 评论
  • 分享微博
  • 分享邮件

  开启信息通路

  到现在为止,我们的路由器还不会正常工作,因为我们已经使用DENY和REJECT选项把路由器锁住,它不会让任何信息通过。现在我们需要添加一些脚本命令来打开各需要的Internet服务。比如,要让用户可以访问我们的Web站点,我们可以添加以下的命令:

  ipchains -A output -i eth1 -p tcp -s 207.1.1.1 1024:65535 -destination-port 80 -j ACCEPT

  ipchains -A input -i eth1 -p tcp ! -y --source-port 80 -d 207.1.1.1 1024:65535 -j ACCEPT

  这两行,可以让路由器向远程的服务器发送一个数据包,请求一个连接(第一行),并且接收一个流入的数据包(第二行)。因为我们的信息流出接口使用了IP地址伪装,所以所有向外的连接其使用的IP地址看起来似乎都是207.1.1.1(这个地址只是一个例子)。同样,如果我们想让用户访问外部的POP3电子邮件服务,我们只需要把这两行命令的端口号80改为110(POP3端口)即可。不管你要添加什么服务,只要增加相应的行即可。

  允许访问

  如果你不想让外部世界来访问我们的路由器服务,那么我们已经达到目的了,因为我们缺少的规则已经被设置成拒绝所有的信息流入的请求。但是有时我们需要在服务器上运行Web服务,以让外部的人也可以访问,这时我们可以添加以下命令:

  ipchains -A input -i eth1 -p tcp --source-port 1024:65535 -d 207.1.1.1 80 -j ACCEPT

  ipchains -A output -i eth1 -p tcp ! -y -s 207.1.1.1 80 --destination-port 1024:65535 -j ACCEPT

  第一行告诉路由器去接收(-j ACCEPT)所有来自外部网并且目的地址是我们路由器的数据包。接着的一行让路由器可以发送数据包。要配置其它的服务,其和以上的命令非常的类似。比如,我们要在内部运行SMTP或者POP3服务器,那么我们只需将上述命令的端口80分别改为25和110即可。

  检查并且激活服务

  在任何时候,你都可以输入“ipchains -L”命令来检查你的规则脚本。

  通过更改一些系统文件,你可以让这些脚本在每一次路由器启动时,都会被自动的被激活。要做到这一点,方法很多。比如,如果你的ISP给你的是一个动态IP地址并且你的系统在启动时使用“/sbin/pump”来获取这一地址,那么你必需更改你的“/etc/pump.conf”文件,将其配置为等 “/sbin/pump”完成后,再激活脚本。如果你使用的是静态IP地址,那么你可以在“/etc/rc.d/rc.local”后面来激活脚本。

  最后,一定要测试一下,确保路由器所做的和自己想像中的完全一样。此外,一旦你的网络和服务有更改或者用户的增加减少,你的这些脚本可能都要相应地做一些调整。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章