Вот установка:
Две компании (A и B) делят офисные помещения и локальную сеть. Вводится второй интернет-провайдер, и компании A требуется собственное подключение к Интернету (ISP A), а компании B требуется собственное подключение к Интернету (ISP B).
VLAN развертываются внутри компании для разделения сетей двух компаний (компания A: VLAN 1, компания B: VLAN 2, общий VOIP: VLAN 3).
С отдельными сетями VLAN достаточно просто использовать отдельные DHCP-серверы (или отдельные области на одном сервере), чтобы назначить шлюз по умолчанию для шлюза каждой компании для их подключения к Интернету. Статические маршруты могут быть созданы на каждом шлюзе, чтобы направлять трафик, предназначенный для VLAN другой компании или голосовой VLAN, чтобы все узлы были доступны, как ожидалось.
Однако я думаю, что это разновидность асимметричной маршрутизации, верно? (Путь от узла A1 к узлу B1 не совпадает с обратным путем от узла B1 к узлу A1).
Могу ли я настроить маршрутизацию на основе политик, чтобы исправить это? В этом случае могу ли я назначить один и тот же шлюз по умолчанию для каждого устройства во всех VLAN и создать политику маршрутизации на коммутаторе L3, чтобы смотреть на адрес источника и перенаправлять трафик на соответствующий следующий переход? В этом случае я хочу, чтобы логика маршрутизации была такой:
Правильно ли я думаю об этой проблеме? Есть ли другой способ решить эту проблему, о которой я не замечаю?
ОБНОВИТЬ
Я попробовал решение Кайла ниже, и у меня возникли некоторые проблемы. Вот соответствующие части моей конфигурации (я тестирую это с помощью 2821 BTW):
interface GigabitEthernet0/0
ip address 10.0.1.1 255.255.255.0
no ip proxy-arp
duplex auto
speed auto
no mop enabled
!
interface GigabitEthernet0/0.100
description VoIP VLAN stub
encapsulation dot1Q 100
ip address 10.0.100.1 255.255.255.0
no ip proxy-arp
!
interface GigabitEthernet0/0.110
description RT VLAN stub
encapsulation dot1Q 110
ip address 10.0.110.1 255.255.255.0
no ip proxy-arp
ip policy route-map RT-out
!
interface GigabitEthernet0/0.120
description TCI VLAN stub
encapsulation dot1Q 120
ip address 10.0.120.1 255.255.255.0
no ip proxy-arp
ip policy route-map TCI-out
!
interface GigabitEthernet0/1
ip address 192.168.1.20 255.255.255.0
no ip proxy-arp
duplex auto
speed auto
!
ip route 192.168.0.0 255.255.0.0 192.168.1.2
!
ip access-list extended match-RT-out
permit ip 10.0.110.0 0.0.0.255 any
ip access-list extended match-TCI-out
permit ip 10.0.120.0 0.0.0.255 any
!
route-map TCI-out permit 11
match ip address match-TCI-out
set ip next-hop 192.168.12.2
!
route-map RT-out permit 10
match ip address match-RT-out
set ip next-hop 192.168.11.2
!
И выход show ip route
:
10.0.0.0/24 is subnetted, 4 subnets
C 10.0.1.0 is directly connected, GigabitEthernet0/0
C 10.0.110.0 is directly connected, GigabitEthernet0/0.110
C 10.0.100.0 is directly connected, GigabitEthernet0/0.100
C 10.0.120.0 is directly connected, GigabitEthernet0/0.120
C 192.168.1.0/24 is directly connected, GigabitEthernet0/1
S 192.168.0.0/16 [1/0] via 192.168.1.2
И вот проблема: похоже, что мои карты маршрутов не работают (ну, я думаю, они совпадают, но, похоже, они не изменяют результат следующего перехода). Выход debug ip policy
для одного пинга на внешний IP-адрес:
*May 5 21:26:11.631: IP: s=10.0.120.100 (GigabitEthernet0/0.120), d=209.85.225.100, len 52, FIB policy match
*May 5 21:26:11.631: CEF-IP-POLICY: fib for address 192.168.12.2 is with flag 0
*May 5 21:26:11.631: IP: s=10.0.120.100 (GigabitEthernet0/0.120), d=209.85.225.100, len 52, FIB policy rejected - normal forwarding
*May 5 21:26:11.631: IP: s=10.0.120.100 (GigabitEthernet0/0.120), d=209.85.225.100, len 52, policy match
*May 5 21:26:11.631: IP: route map TCI-out, item 11, permit
*May 5 21:26:11.631: IP: s=10.0.120.100 (GigabitEthernet0/0.120), d=209.85.225.100, len 52, policy rejected -- normal forwarding
Таким образом, вы можете видеть в этом выводе, что похоже, что он соответствует ... с последующим немедленным FIB policy rejected - normal forwarding
. В этом случае я возвращаю ICMP Destination Host Unreachable с моего маршрутизатора (10.0.120.1) (когда я пытался выполнить эхо-запрос 209.85.225.100).
Это становится все длиннее, но, надеюсь, это объясняет, где у меня проблемы.
Поскольку это разные сети, вы можете просто настроить маршрутизацию на основе источника с помощью маршрутизации на основе политик для маршрутизации различных интерфейсов на основе IP-адреса источника исходящего пакета.
Для Cisco IOS это в основном следующее (я думаю, непроверено) (F0 / 0 - это внутренний интерфейс, 12.12.12.12 и 13.13.13.13 - ваши два шлюза IP, у вас есть две локальные сети 192.168.0.0/16 и 10.0.0.0 / 8):
interface FastEthernet0/0
ip policy route-map foo-out
route-map foo-out permit 10
match ip address match-foo-out
set ip next-hop 12.12.12.12
route-map foo-out permit 11
match ip address match-foo2-out
set ip next-hop 13.13.13.13
ip access-list extended match-foo-out
deny ip 10.0.0.0 0.255.255.255 any
permit ip 192.168.0.0 0.0.255.255 any
ip access-list extended match-foo2-out
deny ip 192.168.0.0 0.0.255.255 any
permit ip 10.0.0.0 0.255.255.255 any
Если это просто Frame-Relay, тогда также можно установить интерфейс вместо следующей надежды.
Для вашего межкорпоративного взаимодействия вам действительно не нужно ничего делать, кроме как изменить эти ACL, чтобы они отрицали источник и адрес назначения, если это одна и та же компания, то есть: deny ip 192.168.0.0 0.0.255.255 10.0.0.0 0.255.255.255
. Кроме того, если это два LAN-интерфейса, возможно, другая карта маршрутов для каждого интерфейса имеет больше смысла или требуется, это просто пример, чтобы подтолкнуть вас в правильном направлении, надеюсь :-)