我有两个3750通过服务器子网的SVI进行路由(分别是Core1和Core2)。 在Core1上我有vlan 1100,它的SVI是xx100.1,在100.3上有一个透明的squid代理。
当我在core1上执行以下操作时:
ip access-list extended lab-filter remark ### Force HTTP and HTTPS to Barracuda ### deny tcp any any neq www 443 deny ip any xxxx 0.0.255.255 permit ip xxxx 0.0.0.255 any route-map Barracuda permit 20 match ip address lab-filter set ip next-hop xx100.3 interface Vlan1100 description Barracuda VLAN Interface ip address xx100.1 255.255.255.0 no ip redirects no ip proxy-arp On Core1 interface Vlan1010 ip address xx10.1 255.255.255.0 ip access-group 115 in ip access-group 116 out no ip redirects no ip proxy-arp ip policy route-map Barracuda On Core2 interface Vlan1120 ip address xx120.1 255.255.255.0 ip access-group 102 in no ip proxy-arp ip policy route-map Barracuda
一切工作正常,所有的networkingstream量被踢到filter。
问题出现在我有其他3750直接连接到Core1并尝试相同的事情,它不会redirect到100.3的stream量。
core1#sho route-map route-map Barracuda, permit, sequence 20 Match clauses: ip address (access-lists): lab-filter Set clauses: ip next-hop xx100.3 Policy routing matches: 138260 packets, 12930735 bytes core2#sho route-map route-map Barracuda, permit, sequence 10 Match clauses: ip address (access-lists): lab-filter Set clauses: ip next-hop xx100.3 Nexthop tracking current: 0.0.0.0 xx100.3, fib_nh:0,oce:0,status:0 Policy routing matches: 0 packets, 0 bytes
基本上我试图把Core1的vlan 1010和Core2的vlan 1120都取出来,并将端口80和443redirect到直接连接到Core1的100.3。
下一跳IP是否必须是连接的路由,如果不是,我怎么能通过这个?
下一跳应该是stream量将传递到的下一个第3层地址,所以是的,它应该在直接连接到3750的网段上,并且具有连接的路由。
请记住,您不重写数据包的目标地址,只是以不同的方式进行路由。 因此,下一个第3层应该是梭子鱼(当你的路由器直接接触梭子鱼所在的vlan时),或者下一跳的第3层路由器(也许通过基于策略的路由)交通需要结束。
谢恩对下一跳的回答是正确的,但我想指出另外一个问题。 您目前在匹配ACL中拒绝了ACE。 在3750上使用PBR时,您不应该在匹配ACL中拒绝ACE。 3750在TCAM中进行PBR,但是对于denys不能这样做。 Denys将被路由到CPU,并且可能会很快导致交换机性能下降。 参考
由于您正在做PBR,您必须具有IP服务function集,您可能需要考虑在3750上使用WCCP。 它有几个优点。
请记住,在3750 WCCP做L2redirect和返回。 许多configurationSquid和WCCP的指南都基于GREredirect。