🐥

【GNS3】CiscoとJniperを使ったVPN環境

2024/08/16に公開

はじめに

本記事では、OSPFで構成されたネットワークにRIPで加入し、エンドツーエンドをL2TPで接続するシナリオを検証します。加入ルーターの片側をJuniperにすることで、異なるメーカー間でもプロトコルが合致すれば、正しく通信が可能であることを確認します。

特に重要なポイントとして、OSPFネットワークでは、加入ルーターが公布するWAN・LAN側ネットワークのうち、LAN側ネットワークのみをOSPFで再配布します。このため、加入ルーターはどの地域からでも接続可能であり、たとえエンドツーエンドでアドレスが重複してもVPNを構成できることが示されます。

トポロジ図

以下のトポロジ図に従ってネットワークを構築します。

検証手順

  1. OSPFネットワークの設定

    • Ciscoルーター Router1, ESW, Router2 を用いてOSPFネットワークを構築します。
    • OSPFルーティングプロトコルを設定し、各ルーター間の通信を確立します。
    Router1
    interface FastEthernet0/0
    ip address 172.16.1.1 255.255.255.0
    duplex auto
    speed auto
    !
    interface Serial0/0
    no ip address
    shutdown
    clock rate 2000000
    !
    interface FastEthernet0/1
    ip address 192.168.100.254 255.255.255.0
    duplex auto
    speed auto
    !
    router ospf 1
    log-adjacency-changes
    redistribute rip subnets route-map RIP_TO_OSPF
    network 172.16.1.0 0.0.0.255 area 0
    !
    router rip
    version 2
    redistribute ospf 1 metric 1
    network 192.168.100.0
    !
    ip forward-protocol nd
    !
    !
    no ip http server
    no ip http secure-server
    !
    !
    ip prefix-list KANYU-NW-1 seq 10 permit 192.168.1.0/24
    no cdp log mismatch duplex
    !
    !
    !
    route-map RIP_TO_OSPF permit 10
    match ip address prefix-list KANYU-NW-1
    
    ESW
    interface FastEthernet1/0
    no switchport
    ip address 172.16.1.254 255.255.255.0
    duplex full
    speed 100
    !
    interface FastEthernet1/1
    no switchport
    ip address 172.16.2.254 255.255.255.0
    duplex full
    speed 100
    
    router ospf 1
    log-adjacency-changes
    network 172.16.1.0 0.0.0.255 area 0
    network 172.16.2.0 0.0.0.255 area 0
    
    Router2
    interface FastEthernet0/0
    ip address 172.16.2.1 255.255.255.0
    duplex auto
    speed auto
    !
    interface Serial0/0
    no ip address
    shutdown
    clock rate 2000000
    !
    interface FastEthernet0/1
    ip address 192.168.100.254 255.255.255.0
    duplex auto
    speed auto
    !
    router ospf 1
    log-adjacency-changes
    redistribute rip subnets route-map RIP_TO_OSPF
    network 172.16.2.0 0.0.0.255 area 0
    !
    router rip
    version 2
    redistribute ospf 1 metric 1
    network 192.168.100.0
    !
    ip forward-protocol nd
    !
    !
    no ip http server
    no ip http secure-server
    !
    !
    ip prefix-list KANYU-NW-2 seq 10 permit 192.168.2.0/24
    no cdp log mismatch duplex
    !
    !
    !
    route-map RIP_TO_OSPF permit 10
    match ip address prefix-list KANYU-NW-2
    
  2. RIP・VPNルーターの追加

    • Router3,4でOSPFネットワークにRIPで加入します。
    • WAN,LAN側ネットワークをRIPで公布します。
    • Router3は、加入・VPNを併せて設定
    • Router4はVPNのみ(JuniperルーターがOSPFネットワークとRIPで接続)
    • Juniperルーターを使用して、Ciscoルータとの接続性を検証(プロトコルさえあっていれば正しく通信されることを確認する)
    Router3
    interface Loopback0
    ip address 192.168.1.1 255.255.255.0
    !
    interface Tunnel0
    no ip address
    !
    interface FastEthernet0/0
    ip address 192.168.100.100 255.255.255.0
    duplex auto
    speed auto
    !
    interface Serial0/0
    no ip address
    shutdown
    clock rate 2000000
    !
    interface FastEthernet0/1
    no ip address
    duplex auto
    speed auto
    xconnect 192.168.2.2 1 pw-class L2TP
    !
    router rip
    version 2
    network 192.168.1.0
    network 192.168.100.0
    
    Router4
        pseudowire-class L2TP
    encapsulation l2tpv3
    ip local interface FastEthernet0/0
    !
    !
    !
    !
    !
    interface FastEthernet0/0
    ip address 192.168.2.2 255.255.255.0
    duplex auto
    speed auto
    !
    interface Serial0/0
    no ip address
    shutdown
    clock rate 2000000
    !
    interface FastEthernet0/1
    no ip address
    duplex auto
    speed auto
    xconnect 192.168.1.1 1 pw-class L2TP
    !
    ip forward-protocol nd
    ip route 0.0.0.0 0.0.0.0 192.168.2.1
    
  3. ルーティングテーブルの確認

    • RIPで公布したネットワークがOSPFで再配布されていることを確認する。
    • OSPFで対向のLAN側ネットワークを学習していることを確認する。
    Router1 Router2
        #Router1
            172.16.0.0/24 is subnetted, 2 subnets
        C       172.16.1.0 is directly connected, FastEthernet0/0
        O       172.16.2.0 [110/11] via 172.16.1.254, 00:14:48, FastEthernet0/0
        R    192.168.1.0/24 [120/1] via 192.168.100.100, 00:00:16, FastEthernet0/1
        O E2 192.168.2.0/24 [110/20] via 172.16.1.254, 00:14:48, FastEthernet0/0
        C    192.168.100.0/24 is directly connected, FastEthernet0/1
        #router2
                172.16.0.0/24 is subnetted, 2 subnets
        O       172.16.1.0 [110/11] via 172.16.2.254, 00:20:58, FastEthernet0/0
        C       172.16.2.0 is directly connected, FastEthernet0/0
        O E2 192.168.1.0/24 [110/20] via 172.16.2.254, 00:20:58, FastEthernet0/0
        R    192.168.2.0/24 [120/1] via 192.168.100.100, 00:00:13, FastEthernet0/1
        C    192.168.100.0/24 is directly connected, FastEthernet0/1
    
    Router3 Juniper-Olive Router4
        #Router3
        R    172.16.0.0/16 [120/1] via 192.168.100.254, 00:00:15, FastEthernet0/0
        C    192.168.1.0/24 is directly connected, Loopback0
        R    192.168.2.0/24 [120/1] via 192.168.100.254, 00:00:15, FastEthernet0/0
        C    192.168.100.0/24 is directly connected, FastEthernet0/0
        #Juniper-Olive
        172.16.0.0/16      *[RIP/100] 00:24:08, metric 2, tag 0
                    > to 192.168.100.254 via em0.0
        192.168.1.0/24     *[RIP/100] 00:24:00, metric 2, tag 0
                    > to 192.168.100.254 via em0.0
        192.168.2.0/24     *[Direct/0] 00:24:13
                    > via em1.0
        192.168.2.1/32     *[Local/0] 00:24:13
                      Local via em1.0
        192.168.100.0/24   *[Direct/0] 00:24:14
                    > via em0.0
        192.168.100.100/32 *[Local/0] 00:24:14
                      Local via em0.0
        224.0.0.9/32       *[RIP/100] 00:24:15, metric 1
                      MultiRecv
        #Router4(VPN設定のみなので、ルーティングは上記のルーター任せ)
        C    192.168.2.0/24 is directly connected, FastEthernet0/0
        S*   0.0.0.0/0 [1/0] via 192.168.2.1
    
  4. L2TPでのエンドツーエンドの疎通試験

    • JuniperとCiscoルーター間でL2TPトンネルを構築し、エンドツーエンドの通信が確率したことを確認します。
    • 端末はLinuxベースのDockerイメージ「ipterm」を使用しています。

    ipterm は、GNS3(Graphical Network Simulator-3)環境で利用できる端末エミュレータです。軽量のLinuxベースの仮想アプライアンスとして設計されており、GNS3上でネットワークデバイスと対話するためのターミナルを提供します。具体的には、ネットワークトポロジー内で ipterm を使用して、他のネットワークデバイスと通信したり、基本的なネットワーク診断ツール(例えば ping や traceroute)を実行することが可能です。仮想環境でのネットワークシミュレーションやテストに便利なツールです。

    下図のとおりにエンドツーエンドでpingが通っていることが確認できました。また。wiresharkにて上位のルーターでL2TPv3のプロトコルが通過していることも確認できました。

検証結果

この設定により、OSPFとRIP間でのネットワーク再配布が正しく行われ、L2TPトンネルを介してエンドツーエンドで通信が確立できることを確認しました。WAN側ネットワークアドレスの重複があっても、問題なくVPN接続ができることが証明されました。

結論

異なるベンダー間(CiscoとJuniper)のルーターを使用しても、適切にプロトコルを設定すれば、正確なネットワーク通信が可能です。OSPFでの再配布により、ネットワークの柔軟性が増し、セキュアなVPN接続が簡単に構築できることが確認されました。

GitHubで編集を提案

Discussion