H3C防火墙 security-zone intra-zone default permit命令

2018年5月4日 1245点热度 12人点赞 0条评论

security-zone intra-zone default permit
此命令的作用是,让同一个防火墙区域的不同接口之间能够互访。
默认没有配置这条命令。

H3C防火墙区域
H3C防火墙区域

如果没有配置这条命令,即使是同一个防火墙区域的接口之间也不能互访,需要配置域间策略放行相关的流量。

但几个接口是在同一个防火墙区域的,按理应该配置域内策略。实际上,在配置域间策略时,源区域和目的区域是相同的就可以看成是域内策略,比如配置一条untrust到untrust的对象策略。

当在同一个区域之间配置了域间对象策略时,这条命令将失效。也就是说,除了已经存在的对象策略,其它流量都无法通过。
对象策略的优先级最高。

测试

拓扑

拓扑
拓扑

4台PC连接到防火墙物理接口,防火墙g3/0加入reth 3,g4/0加入reth 4。
g1/0、g2/0、reth3、reth4全部加入防火墙trust区域。
reth接口在这里的用法不严谨,仅供参考。

防火墙配置

#
interface Reth3
ip address 10.1.3.1 255.255.255.0
member interface GigabitEthernet3/0 priority 200
#
interface Reth4
ip address 10.1.4.1 255.255.255.0
member interface GigabitEthernet4/0 priority 200
#
interface GigabitEthernet1/0
port link-mode route
ip address 10.1.1.1 255.255.255.0
#
interface GigabitEthernet2/0
port link-mode route
ip address 10.1.2.1 255.255.255.0
#
security-zone name Trust
import interface GigabitEthernet1/0
import interface GigabitEthernet2/0
import interface Reth3
import interface Reth4
#
zone-pair security source Local destination Trust
packet-filter 3000
#
zone-pair security source Trust destination Local
packet-filter 3000
#
acl advanced 3000
rule 0 permit ip
#

在VPC1测试

VPCS> ping 10.1.1.1
84 bytes from 10.1.1.1 icmp_seq=1 ttl=255 time=1.406 ms
84 bytes from 10.1.1.1 icmp_seq=2 ttl=255 time=1.715 ms
84 bytes from 10.1.1.1 icmp_seq=3 ttl=255 time=3.194 ms
84 bytes from 10.1.1.1 icmp_seq=4 ttl=255 time=1.867 ms
84 bytes from 10.1.1.1 icmp_seq=5 ttl=255 time=2.922 ms
VPC1可ping通防火墙g1/0(防火墙Local区域)

VPCS> ping 10.1.2.1
84 bytes from 10.1.2.1 icmp_seq=1 ttl=255 time=3.089 ms
84 bytes from 10.1.2.1 icmp_seq=2 ttl=255 time=1.974 ms
84 bytes from 10.1.2.1 icmp_seq=3 ttl=255 time=2.713 ms
84 bytes from 10.1.2.1 icmp_seq=4 ttl=255 time=2.679 ms
84 bytes from 10.1.2.1 icmp_seq=5 ttl=255 time=4.703 ms
VPC1可ping通防火墙g2/0(防火墙Local区域)

VPCS> ping 10.1.2.2
10.1.2.2 icmp_seq=1 timeout
10.1.2.2 icmp_seq=2 timeout
10.1.2.2 icmp_seq=3 timeout
10.1.2.2 icmp_seq=4 timeout
10.1.2.2 icmp_seq=5 timeout
VPC1无法ping通过VPC2(防火墙trust区域)

VPC1、VPC2连接防火墙的物理接口,同属于trust区域,但无法ping通过。

在VPC3测试

VPCS> ping 10.1.3.1
84 bytes from 10.1.3.1 icmp_seq=1 ttl=255 time=2.442 ms
84 bytes from 10.1.3.1 icmp_seq=2 ttl=255 time=2.352 ms
84 bytes from 10.1.3.1 icmp_seq=3 ttl=255 time=2.700 ms
84 bytes from 10.1.3.1 icmp_seq=4 ttl=255 time=2.301 ms
84 bytes from 10.1.3.1 icmp_seq=5 ttl=255 time=2.672 ms
VPC3可ping通防火墙reth3(防火墙Local区域)

VPCS> ping 10.1.4.1
84 bytes from 10.1.4.1 icmp_seq=1 ttl=255 time=2.546 ms
84 bytes from 10.1.4.1 icmp_seq=2 ttl=255 time=2.574 ms
84 bytes from 10.1.4.1 icmp_seq=3 ttl=255 time=2.783 ms
84 bytes from 10.1.4.1 icmp_seq=4 ttl=255 time=3.104 ms
84 bytes from 10.1.4.1 icmp_seq=5 ttl=255 time=2.676 ms
VPC3可ping通防火墙reth4(防火墙Local区域)

VPCS> ping 10.1.4.2
10.1.4.2 icmp_seq=1 timeout
10.1.4.2 icmp_seq=2 timeout
10.1.4.2 icmp_seq=3 timeout
10.1.4.2 icmp_seq=4 timeout
10.1.4.2 icmp_seq=5 timeout
VPC3无法ping通VPC4(防火墙trust区域)

修改防火墙配置,添加如下命令

[FW]security-zone intra-zone default permit
允许同一防火墙区域下的接口之间互访 默认没有配置这条命令 intra-zone 即防火墙区域之内

删除方法

[FW]undo security-zone intra-zone default permit

再次测试

VPC1 ping VPC2

VPCS> ping 10.1.2.2
84 bytes from 10.1.2.2 icmp_seq=1 ttl=63 time=10.318 ms
84 bytes from 10.1.2.2 icmp_seq=2 ttl=63 time=5.028 ms
84 bytes from 10.1.2.2 icmp_seq=3 ttl=63 time=4.904 ms
84 bytes from 10.1.2.2 icmp_seq=4 ttl=63 time=5.092 ms
84 bytes from 10.1.2.2 icmp_seq=5 ttl=63 time=4.801 ms

VPC3 ping VPC4

VPCS> ping 10.1.4.2
84 bytes from 10.1.4.2 icmp_seq=1 ttl=63 time=4.634 ms
84 bytes from 10.1.4.2 icmp_seq=2 ttl=63 time=4.754 ms
84 bytes from 10.1.4.2 icmp_seq=3 ttl=63 time=4.879 ms
84 bytes from 10.1.4.2 icmp_seq=4 ttl=63 time=4.749 ms
84 bytes from 10.1.4.2 icmp_seq=5 ttl=63 time=4.461 ms

添加域间对象策略的情况

在以上配置的基础上,添加一条trust到trust的对象策略(object-policy)。

允许PC3访问PC4

#
object-group ip address VPC3
10 network host address 10.1.3.2
#
object-group ip address VPC4
10 network host address 10.1.4.2
#
object-policy ip VPC3-TO-VPC4
rule 10 pass source-ip VPC3 destination-ip VPC4
#
zone-pair security source Trust destination Trust
object-policy apply ip VPC3-TO-VPC4
#

VPC3 ping VPC4

VPC3> ping 10.1.4.2
84 bytes from 10.1.4.2 icmp_seq=1 ttl=63 time=11.063 ms
84 bytes from 10.1.4.2 icmp_seq=2 ttl=63 time=4.534 ms
84 bytes from 10.1.4.2 icmp_seq=3 ttl=63 time=4.270 ms
84 bytes from 10.1.4.2 icmp_seq=4 ttl=63 time=4.683 ms
84 bytes from 10.1.4.2 icmp_seq=5 ttl=63 time=4.079 ms

VPC3和VPC4之间能通是因为对象策略的作用,而不是security-zone intra-zone default permit的作用。

VPC1 ping VPC2

VPC1> ping 10.1.2.2
10.1.2.2 icmp_seq=1 timeout
10.1.2.2 icmp_seq=2 timeout
10.1.2.2 icmp_seq=3 timeout
10.1.2.2 icmp_seq=4 timeout
10.1.2.2 icmp_seq=5 timeout

虽然配置了security-zone intra-zone default permit,但因为trust到trust区域配置了对象策略,当存在对象策略时,security-zone intra-zone default permit失效。VPC3 ping VPC4匹配了对象策略,且策略是放行,因此能通;而VPC1 ping VPC2不匹配对象策略,且 security-zone intra-zone default permit已经不起作用,因此不通。

另一种解决方法

在trust和trust之间(即同一个区域内)添加ACL允许所有流量。

例如,在存在以下配置的情况下,再添加一条允许所有流量的ACL。或者仅配置ACL也可以。

#
zone-pair security source Trust destination Trust
object-policy apply ip VPC3-TO-VPC4
#

在trust和trust之间添加允许所有流量的ACL 3000

#
zone-pair security source Trust destination Trust
object-policy apply ip VPC3-TO-VPC4
packet-filter 3000
#
PC1> ping 10.1.2.2
84 bytes from 10.1.2.2 icmp_seq=1 ttl=63 time=4.801 ms
84 bytes from 10.1.2.2 icmp_seq=2 ttl=63 time=4.421 ms
84 bytes from 10.1.2.2 icmp_seq=3 ttl=63 time=3.609 ms
84 bytes from 10.1.2.2 icmp_seq=4 ttl=63 time=3.357 ms
84 bytes from 10.1.2.2 icmp_seq=5 ttl=63 time=4.182 ms
匹配packet-filter 3000

VPC1> ping 10.1.3.2
84 bytes from 10.1.3.2 icmp_seq=1 ttl=63 time=10.105 ms
84 bytes from 10.1.3.2 icmp_seq=2 ttl=63 time=5.210 ms
84 bytes from 10.1.3.2 icmp_seq=3 ttl=63 time=4.914 ms
84 bytes from 10.1.3.2 icmp_seq=4 ttl=63 time=4.678 ms
84 bytes from 10.1.3.2 icmp_seq=5 ttl=63 time=4.623 ms
匹配packet-filter 3000

VPC3> ping 10.1.4.2
84 bytes from 10.1.4.2 icmp_seq=1 ttl=63 time=7.058 ms
84 bytes from 10.1.4.2 icmp_seq=2 ttl=63 time=3.704 ms
84 bytes from 10.1.4.2 icmp_seq=3 ttl=63 time=3.756 ms
84 bytes from 10.1.4.2 icmp_seq=4 ttl=63 time=3.798 ms
84 bytes from 10.1.4.2 icmp_seq=5 ttl=63 time=1.916 ms
匹配object-policy apply ip VPC3-TO-VPC4

防火墙对流量的匹配顺序

  1. 对象策略(object-policy)
    1. 对象策略中按区域、按流量方向分别匹配。同一区域、同一方向的按显示顺序匹配,与策略序号无关。
  2. ACL
    1. ACL中按条目顺序匹配,显示也是按序号从小到大排列。
  3. security-zone intra-zone default permit

某个报文一旦匹配上面的某条规则,就执行相应的动作(允许、拒绝、记录等),后面的规则不再匹配。

在域间策略配置中,不管先输入对象策略还是先输入ACL,都是对象策略显示在前面。

防火墙在匹配流量时,就是按显示的规则顺序进行匹配。

[FW-zone-pair-security-Trust-Trust]dis this
#
zone-pair security source Trust destination Trust
 object-policy apply ip VPC3-TO-VPC4
 packet-filter 3000
#
return

[FW-zone-pair-security-Trust-Trust]undo  object-policy apply ip 

[FW-zone-pair-security-Trust-Trust]dis this
#
zone-pair security source Trust destination Trust
 packet-filter 3000
#
return

[FW-zone-pair-security-Trust-Trust]object-policy apply ip VPC3-TO-VPC4

[FW-zone-pair-security-Trust-Trust]dis this
#
zone-pair security source Trust destination Trust
 object-policy apply ip VPC3-TO-VPC4 #后添加的对象策略也显示在ACL前面
 packet-filter 3000
#
return

 

arben

这个人很懒,什么都没留下

文章评论