扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
我们可以先打开所有的服务,然后再来关闭那些不想让别人访问的东西,这看起来似乎很不错。不过在实际中,我们往往把这个过程倒过来,也就是说,我们首先禁止所有的和路由器的通信,然后再把一些特定的服务和端口打开。所以我们可以采用以下的命令过程:
ipchains -F
ipchains -P input DENY
ipchains -P output REJECT
ipchains -P forward DENY
对这些命令说明如下:
* -P input DENY对所收到的数据包不做任何反应。
* -P output REJECT不接收任何数据包,但会给出一个ICMP无法到达的返回信息。
下面,我们再增加规则,允许内部网里的信息流出:
ipchains -A input -i lo -j ACCEPT
ipchains -A output -i lo -j ACCEPT
ipchains -A input -i eth0 -s 192.168.1.0/24 -j ACCEPT
ipchains -A output -i eth0 -d 192.168.1.0/24 -j ACCEPT
刚开始的两行告诉路由器接收所有流入的信息,放行所有流出的信息。第三行和第四行为内部网网卡eth0建立一些流入和流出的规则。
这其中:
* -i选项指定要应用规则的接口(在第一行中是lo,在最后两行中使用的是eth0)。
* -A告诉路由器要增加一个规则。
* -j告诉路由器如何处理数据包。
* -s指示源地址(对于输入而言)。
* -d指明目的地址(对于输出而言)。
第三行在内部网(eth0)上创建了一个输入规则,允许路由器接收所有源地地址为192.168.1.0/24的数据包。第四行指明,所有去往以上地址的数据包都可以通行。
转发
下面,我们将增加一些规则,控制流出数据的转发:
ipchains -A forward -i eth1 -s 192.168.1.0/24 -j MASQ
ipchains -A forward -i eth0 -s 192.168.1.0/24 -j ACCEPT
ipchains -A forward -i eth0 -d 192.168.1.0/24 -j ACCEPT
这三条转发的规则非常的简单。第一行告诉路由器允许所有源地址为192.168.1.0的数据都可以发到Internet上。-j MASQ选项告诉路由器要使用IP伪装,这使得多个内部网主机可以使用同一个IP地址来访问Internet。接下来两行创建的规则,允许路由器转发所有源自或者送往内部网192.168.1.0的数据包。
到此,最基本的东西就已经配置完成。但是,有时,我们可能需要限制一些内部网里的用户对 Internet的访问。要做到这一点,我们可以让用户使用不同的子网,这样,他的IP地址和规则不相符,那么所有源自这些主机的数据包就不能转发到 Internet。类似地,我们却可以让这些用户使用其它的服务(比如e-mail服务等)。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。