設定は次のとおりです。
2社(A&B)がオフィススペースとLANを共有しています。 2番目のISPが導入され、会社Aは独自のインターネット接続(ISP A)を必要とし、会社Bは独自のインターネット接続(ISP B)を必要としています。
VLANは、2つの会社のネットワークを分離するために内部的に展開されます(会社A:VLAN 1、会社B:VLAN 2、共有VOIP:VLAN 3)。
個別のVLANを使用すると、個別のDHCPサーバー(または同じサーバー上の個別のスコープ)を使用して、インターネット接続用に各企業のゲートウェイにデフォルトゲートウェイを割り当てることができます。各ゲートウェイに静的ルートを作成して、他社のVLANまたは音声VLAN)宛てのトラフィックをポイントし、すべてのノードに期待どおりに到達できるようにすることができます。
しかし、これは非対称ルーティングの一形態だと思いますよね? (ノードA1からノードB1へのパスは、ノードB1からノードA1に戻るパスと同じではありません)。
これを修正するためにポリシーベースのルーティングを設定できますか?その場合、すべてのVLAN上のすべてのデバイスに同じデフォルトゲートウェイを割り当て、L3スイッチでルーティングポリシーを作成して、送信元アドレスを確認し、トラフィックを適切なネクストホップに転送できますか?その場合、ルーティングロジックを次のようにします。
私はこの問題について正しい方法で考えていますか?私が見落としているこの問題を解決する別の方法はありますか?
[〜#〜] update [〜#〜]
以下のカイルの解決策を試しましたが、いくつか問題がありました。これが私の設定の関連ビットです(私はこれを2821BTWでテストしています):
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
そして、ここに問題があります:私のルートマップが機能していないようです(まあ、それらは一致していると思いますが、ネクストホップの結果を変更していないようです)。外部IPアドレスへの1つのpingに対するdebug ip policy
の出力:
*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
が続きます。この場合(209.85.225.100にpingを実行しようとしたときに)、ルーター(10.0.120.1)からICMP宛先ホスト到達不能が返されます。
これは長くなっていますが、うまくいけば、私が問題を抱えている場所を説明しています。
これらは異なるネットワークであるため、ポリシーベースルーティングを使用してソースベースルーティングを設定するだけで、発信パケットの送信元IPアドレスに基づいて異なるインターフェイスをルーティングできます。
Ciscoの場合IOSは基本的に次のとおりです(私はテストされていないと思います)(F0/0は内部インターフェイス、12.12.12.12、および13.13.13.13は2つのIPゲートウェイであり、2つのLANがあります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
これらが単なるフレームリレーである場合は、次の希望の代わりにインターフェイスを設定することもできます。
会社間のコミュニケーションでは、実際には何もする必要はありませんが、それらのACLを変更して、同じ会社のソースと宛先を拒否するようにします。つまり、deny ip 192.168.0.0 0.0.255.255 10.0.0.0 0.255.255.255
。また、これらが2つのLANインターフェースである場合、インターフェースごとに異なるルートマップがより理にかなっている、または必要な場合、これは正しい方向にプッシュするための例にすぎません。うまくいけば:-)