如何在IPv6环境配置Cisco IOS防火墙

随着IPv4地址的枯竭,IPv4地址将成为历史,取而代之的将是IPv6地址。我发现很多企业的网管在向IPv6迁移的问题上都显得犹豫不决,可能是觉得这是个全新的领域,迁移起来会很麻烦。但实际工作,比如防火墙服务的调整,并没有大家想象的那么难。Cisco IOS可以支持多种防火墙配置方式。比如你的设备有以下几个静态access-list:

access-list 101 permit tcp any host 10.1.1.1 eq www

access-list 101 permit tcp any host 10.1.1.1 eq ftp

access-list 101 permit tcp any host 10.1.1.1 eq 22

在 IPv6 路由器中,access-list配置也同样存在,只不过像有了扩展名的access-list。

IPv6访问列表范例:

permit tcp any host 2001:DB9:2:3::3 eq www sequence 10

permit tcp any host 2001:DB9:2:3::3 eq telnet sequence 20

permit tcp any host 2001:DB9:2:3::3 eq 22 sequence 30

permit tcp any host 2001:DB9:2:3::3 eq ftp sequence 40

使用ip traffic-filter命令控制端口要比我们习惯的ip access-group 命令使用起来更简单明了。

IOS中的Reflexive Access-list:

interface Ethernet0/1

ip address 172.16.1.2 255.255.255.0

ip access-group inboundfilter in

ip access-group outboundfilter out

ip access-list extended inboundfilter

permit icmp 172.16.1.0 0.0.0.255 10.1.1.0 0.0.0.255

evaluate tcptraffic

ip access-list extended outboundfilter

permit icmp 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255

permit tcp 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255 reflect tcptraffic

同样需要配置reflexive access-lists的IPv6模式,操作差别不大:

interface Ethernet0/1

ipv6 address 2001:db9:1::1/64

ipv6 traffic-filter inboundfilter in

ipv6 traffic-filter outboundfilter out

ipv6 access-list inboundfilter

permit icmp host 2001:db8:1::F host 2001:db9:2::2

evaluate tcptraffic

ipv6 access-list outboundfilter

permit tcp any any reflect tcptraffic

Permit icmp any any

基于内容的访问控制 (CBAC)也被称作IOS防火墙。

在 IPv4 环境下,这个防火墙看起来是下面这样:

ip inspect name FW tcp

!

interface Ethernet0

ip address 10.10.10.2 255.255.255.0

ip access-group 101 in

ip inspect FW in

!

interface Serial0.1 point-to-point

ip address 10.10.11.2 255.255.255.252

ip access-group 102 in

frame-relay interface-dlci 200 IETF

!

在 IPv6环境,基本没什么变化:

ip inspect name FW tcp

!

interface Ethernet0

ipv6 address 2001:db9:1::1/64

ipv6 traffic-filter inboundfilter in

ip inspect FW in

!

interface Serial0.1 point-to-point

ipv6 address 2001:db9:2::A/64

ipv6 traffic-filter outboundfilter in

frame-relay interface-dlci 200 IETF

!

另外还有Zone-Based防火墙,在IPv4和IPv6环境都是这样:

class-map type inspect match-any MYPROTOS

match protocol tcp

match protocol udp

match protocol icmp

!

policy-map type inspect OUTBOUND

class type inspect MYPROTOS

inspect

!

zone security inside

zone security outside

!

zone-pair security IN>OUT source inside destination outside

service-policy type inspect OUTBOUND

!

interface fastethernet0/0

zone-member security private

!

interface fastethernet0/1

zone-member security public

!

通过上述策略,你可以将IPv4或IPv6地址添加到端口上。TCP, UDP, 和 ICMP并不属于三层协议,因此防火墙服务不会受到影响。

总之,上面是个很简单的例子,主要就是为了说明一件事,即在Cisco IOS设备上配置防火墙不论是IPv4还是IPv6,差别都不太大。所以,大家现在就可以开始考虑让自己企业的网络能够支持双协议,同时让防火墙正常工作。