网络上的环回口解决思路

in 网络 with 0 comment

环回口概述

环回口作为更新源

最常见的是在 BGP 配置中以环回口作为路由邻居的更新源。其最大的好处是接口比较稳定,不存在接口 flaping 的问题。
其次,在 ping 或者 telnet 等操作时可以手工指定环回口作为 source,有时候可以用环回口伪装源地址。

''' 思科路由器可以用环回口作为很多协议的更新源 '''
ip telnet source-interface loopback0
ip tftp source-interface loopback0
ip radius source-interface loopback0
ip tacacs source-interface loopback0
ip xxx source-interface loopback x

在VPN的配置中,可以使用环回口作为更新源

## 老式 crypto map 配置方式 ##
crypto isakmp policy 10
  authentication pre-share
crypto isakmp key cisco address 1.1.1.1
!
crypto ipsec transform-set cisco esp-des esp-md5-hmac
  mode tunnel
!
crypto map cisco local-address loopback0
crypto map cisco 10 ipsec-isakmp
  set peer 1.1.1.1
  set tranform-set cisco
  match address vpn

## 新式 SVTI 配置方式 ##
interface Tunnel0
  tunnel source loopback0
  tunnel destination 2.2.2.2

在思科的 Vxlan Evpn 解决方案(包括最新的 BGW 解决方案)中,大量的使用环回口作为更新源

''' VTEP 接口配置 '''
interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback1
  multisite border-gateway interface loopback100
  global ingress-replication protocol bgp
  member vni 30005
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 30006
    multisite ingress-replication
    mcast-group 239.1.1.1
  member vni 50001 associate-vrf
!

实例一:环回口解决动态地址问题

场景:老式路由器,例如 CISCO1921 或者 ISR 配置 webvpn,遇到外部地址频繁变化

''' loopback0:1.1.1.1 '''
webvpn gateway cisco
  inservice
  ip address 1.1.1.1    <<< 12.4 以前版本没有 ip interface xx 命令
ip nat inside source static tcp 1.1.1.1 443 interface e0/0 443

实例二:GRE over EzVPN + 动态路由问题

场景:EzVPN 加密了两个环回口的流量,可以使用隧道分割技术;
普通 EzVPN 其他优点:支持 DDNS、自动连接(无需感兴趣流)

## 使用环回口作为更新源建立 GRE ##
''' Client - loopback0:1.1.1.1 '''
interface Tunnel0
  ip address 172.16.1.1 255.255.255.0
  ip mtu 1400
  tunnel source loopback0
  tunnel destination 2.2.2.2
!
''' Server - loopback0:2.2.2.2 '''
interface Tunnel0
  ip address 172.16.1.2 255.255.255.0
  ip mtu 1400
  tunnel source loopback0
  tunnel destination 1.1.1.1
!

## 新式 DVTI 解决方案 ##
hostname Client
!
router ospf 1
!
interface Tunnel0
  ip mtu 1400
  ip ospf 1 area 0
!
interface Fa0/0
  ip address 20.1.1.1 255.255.255.0
  ip ospf 1 area 0
!

hostname GW
!
router ospf 1
!
interface Virtual-Template1 type tunnel
  ip mtu 1400
  ip ospf 1 area 0
!
interface Fa3/0
  ip address 10.1.1.1 255.255.255.0
  ip ospf 1 area 0
!

实例三:解决 VPN NAT 问题

场景:在VPN 与 NAT 共存的情况,路由器执行顺序先 NAT 后 VPN,NAT 会转换感兴趣流,让 VPN 无法加密。

## 一般思路,修改 PAT 的 ACL 旁路掉感兴趣流 ##
''' NAT 配置 '''
interface eth0/0
  ip address 10.1.1.10 255.255.255.0
  ip nat inside
!
interface e0/1
  ip address 202.100.1.1 255.255.255.0
  ip nat outside
  crypto map cisco
!
ip access-list extended pat
  deny ip 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255
  permit ip 10.1.1.0 0.0.0.255 any
!
ip nat inside source list pat eth0/1 overload
!
''' VPN 配置 '''
ip access-list extended vpn
  permit ip 10.1.1.0 0.0.0.255 172.16.1.0 0.0.0.255
!
crypto isakmp policy 10
  authentication pre-share
crypto isakmp key cisco address 61.128.1.1
!
crypto ipsec transform-set cisco esp-des esp-md5-hmac
  mode tunnel
!
crypto map cisco 10 ipsec-isakmp
  set peer 61.128.1.1
  set tranform-set cisco
  match address vpn
!

实际网络改造中,往往遇到前期做 NAT 时没有考虑到后期会 VPN 打通,且无法修改 ACL的情况

## loopback 流量二次引入 ##
例如 nat_acl: access-list 10 permit 10.1.1.0 0.0.0.255
甚至 nat_acl: access-list 10 permit any
!
route-map vpn-nat permit 10
  match ip address vpn
  set interface loopback0    <<< 环回口有去有回,发送到环回口,即路由器认为从 loopback 进入
!
interface eth0/0
  ip address 10.1.1.10 255.255.255.0
  ip nat inside
  ip policy route-map vpn-nat    <<< 先策略后路由,当然先于 NAT
!
interface loopback0    <<< 未配置 ip nat inside,不做 NAT 转换
  ip address 1.1.1.1 255.255.255.255
!

实例四:防火墙监控自身流量

场景:经典 IOS 防火墙只监控穿越流量,但是自身发起的流量不会被监控。

## 经典配置:自身发起的流量不会被监控 ##
''' 例如 FW 自身 telnet 外部接口或外部地址不通 '''
ip access-list extended outside-control
  deny ip any any
!
interface eth0/0
  ip address 202.100.1.1 255.255.255.0
  ip access-group outside-control in
!
interface eth0/1
  ip address 10.1.1.1 255.255.255.0
  ip inspect cisco in
!
ip inspect name cisco tcp    <<< 维护 TCP 状态化信息
!

## loopback 流量二次引入 ##
interface loopback0
  ip address 1.1.1.1 255.255.255.255
  ip inspect cisco in
!
ip access-list extended self-tcp
  permit tcp any any
!
route-map self-tcp permit 10
  match ip address self-tcp
  set interface loopback0
!
ip local policy route-map self-tcp
!

实例五:PC 通过环回口桥接虚拟化软件中的虚拟机

优势:通过PC环回口连接各种模拟器和 vm 虚拟机;自由组合,更加灵活

Comments are closed.