Ip 防火墙应用!!!
防火墙设置基本原则假定我们有一个本地网通过路由连接到internet,那么基本的防火墙构建原则由以下几部分组成:
1、保护路由避免没有认证的访问
必须监控那些到路由的连接。只能允许某些特定的主机到路由某些特定的 tcp端口的访问。这项工作可以在input中设置,以便比较匹配通过路由所有连接界面到路由目的地址的数据包。
2、保护本地主机
必须监控那些到本地网络地址的连接。只有有权到某些主机和服务的连接才能被允许。这项工作可以在forward中设置,以便比较匹配决定通过路由所有连接界面到本地网路目的地址的数据包。
3、利用nat将本地的网络隐藏在一个公网的ip后面。
所有本地网络的连接被伪装成来自路由本身的公网地址。这项工作可以通过启用伪装行为来实现源地址转换规则。
4、强制本地网络连接到公网的访问原则。
必须监控那些来自本地网络地址的连接。这项工作可以通过forward中设置,或者通过伪装哪些被允许的连接来实现。数据的过滤会对router的性能造成一定的影响,为了把这个影响降到最低,这些过滤的规则必须放在各个chain的顶部。这个在传输控制协议选项non- syn -only中.
防火墙过滤实例
实现目标:
目标1、让路由只允许来自10.5.8.0/24网络地址的访问。
目标2、保护本地主机(192.168.0.0/24)远离未授权的访问。
目标3、让公网可以访问本地主机192.168.0.17的http 和smtp服务。
目标4、只允许本地网络中的主机进行icmp ping 操作。强制使用在192.168.0.17主机上的代理服务。
假设我的网络设置如下:
公网 ip :10.0.0.217/24 网关 ip :10.0.0.254
内网 ip :192.168.0.254/24 内网服务器地址:192.168.0.17/24
step1
为了实现第一个目标,我们必须对所有通过路由的数据包进行过滤,只接受哪些我们允许的数据。因为所有通过路由的数据包都要经过input chain进行处理,所以,我们可以在ip->firewall-> rule input 中加入以下规则。
>ip firewall rule input
ip firewall rule input>add protocol=tcp ip firewall rule input>tcp-options=non-syn-only connection-state=established
ip firewall rule input>add protocol=udp
ip firewall rule input>add protocol=icmp
ip firewall rule input>add src-addr=10.5.8.0/24
ip firewall rule input>add action=reject log=yes
通过上述设置,input chain就可以实现只接受10.5.8.0/24地址段的连接,而把其他连接都拒绝并且记录到日志。
Step 2
为了保护本地网络,我们必须对通过路由访问本地网络也就是对192.168.0.0/24一段地址的访问的数据包进行比对筛选,这个功能可以在forward chain 中实现。在forward 中,我们可以依靠ip地址对数据包进行匹配,然后跳转到我们自己创建的chain中,比如这里我们创建一个 customer chain 并加入一些规则。
ip firewall> add name=customer
ip firewall> print
# NAME POLICY
0 input accept
1 forward accept
2 output accept
3 customer none
ip firewall> rule customer
ip firewall rule customer> protocol=tcp tcp-options=non-syn-only connection-state=established
ip firewall rule customer> add protocol=udp
ip firewall rule customer> add protocol=icmp
ip firewall rule customer> add protocol=tcp tcp-options=syn-only dst-address=192.168.0.17/32:80 ip firewall rule customer> add protocol=tcp tcp-options=syn-only dst-address=192.168.0.17/32:25
ip firewall rule customer> add action=reject log=yes
通过上述规则,我们在customer chain 中设定了对数据包的过滤规则,那么下面我要做的就是在forward chain 中做一个跳转,将所有进入到本地网的数据跳转到customer chain 中处理。
ip firewall rule forward> add out-interface=Local action=jump jump-target=customer
这样,所有通过路由进入到本地网络的数据包都将通过customer chain中的防火墙规则进行过滤。
Step 3
为了强制本地网络的主机通过192.168.0.17这台代理服务器访问internet ,
我们应该在forward 链中加入以下规则。(这个设置我觉得好像有点多余,是不是这里192.168.0.17起到了一层防火墙的作用,反正我是没有加这个规则)。
ip firewall rule forward> add protocol=icmp out-interface=Public
ip firewall rule forward> add src-address = 192.168.0.17 / 32 out-interface=Public
ip firewall rule forward> add action=reject out-interface=Public 好贴,强烈支持!!!!! studying 最后一点是什么意思? 防火墙是ROUTER OS 里面最难的一个,正在努力学习中,希望斑竹以后多发这样的贴子。
页:
[1]