GNS3でVPNの設定
GNS3を使ったVPN設定を紹介します。
VPNとは
VPNとは、「Virtual Private Network」の略で、インターネット上に仮想的な専用線を作って、セキュアに通信する技術になります。
専用線というのは、第3者の通信が入り込まない専用の回線を指します。
インターネットの通信は、プロバイダーのネットワークを経由して、インターネット契約をしている不特定多数のユーザの通信が混線しています。
VPNというのは、物理回線内に仮想的な通信経路を作成する技術で、VPN間の通信には第3者の通信が介入してこないようにしています。
悪意のある人は通信の中身を盗聴し、IDやパスワードを抜き取り悪用しようとしますが、現在皆様が使っているブラウザ「Google Chrome」、[Edge]、[Internet Explorer]、[Firefox]、[Safari]等については、httpsの暗号化された通信を使っているので、盗み見られることはないでしょう。
ただし、使ってるブラウザの暗号化プロトコルのバージョンについてはしっかりと確認し気を付けて使いましょう。
現在は、最新の暗号化プロトコルとしてHTTPS/TLS1.3が開発されており、普及を進めようとしている段階で、HTTPS/TLS1.2と1.3が混在している状況です。
httpに[s]がついて、httpsになり、httpsは暗号化を使ったhttpの通信をしますというものです。その暗号化には、何を使うかというと、TLSを使うということで、HTTPS/TLSとなります。更にTLSのバージョンは何?ってなり、TLS1.3という名称で表現し、HTTPS/TLS1.3という表現になります。
HTTPというのは、暗号化されていない方法で通信(平文で通信)する仕組みになっています。
TLS1.3が2020年現時点で最高強度の通信になり、今後も危殆化(通信が脆弱になり、危険な状態化したもの)を防ぐため、新しいバージョンが開発されるよう日々進んでいます。
ブラウザは適宜更新されるので、最新の暗号化通信を使えるようになっています。
銀行のシステム等、個人のユーザの重要な情報を扱う通信は全て暗号化されているのが今の世の中です。
VPNより更にセキュアな回線サービスには、物理的な回線を専用線として扱う、NTTが提供している「ビジネスイーサーワイド」やソフトバンクが提供している「Etherコネクト」等があります。
これらのサービスで閉域空間(第3者の通信が完全に入り込まない世界)での通信が可能です。
SSLとTLSの違いを気にする人もいると思いますが、初期はSSLという暗号化プロトコルの名称でしたが、技術の進歩とともにSSLからTLSという名称に変わったというだけで、暗号化プロトコルの暗号化強度はTLSの方が高くなっています。
GNS3:GREの設定
VPNの一つであるGREを使った設定を紹介します。
GNS3を立ち上げたら、以下のように3つのNW機器によるトポロジーを組んでください。
今回、R1:Cisco1710、R2:Cisco3725、R3:Cisco1710による構成を組みました。
■設定に関するポイント
・R1とR3間でGREを使ったVPNを構成します。
・R2はプロバイダが提供するネットワークを想定します。
・R1とR3間で、GREによるVPNを組むにはtunnleインターフェースの設定を組みます。R1とR3のtunnleインターフェスはお互い相手のIPアドレス向けを宛先に設定し、トンネル(土管)を組むようにします。
・R1とR3間で組んだVPNから別のネットワークに通信できることを確認するため、Loopbackインターフェースの設定を行います。
・今回は、ルーティングにEIGRPを使用しました。
R1、R2、R3のconfig例を以下に記載します。ネットワーク構成は以下になります。
R1のコンフィグ
interface Tunnel1
ip address 192.168.13.1 255.255.255.0
tunnel source FastEthernet0
tunnel destination 192.168.23.3
!
interface Loopback0
ip address 172.16.1.1 255.255.255.0
!
interface FastEthernet0
ip address 192.168.12.1 255.255.255.0
speed 100
full-duplex
!
router eigrp 13
network 172.16.0.0
network 192.168.13.0
no auto-summary
!
ip route 192.168.23.3 255.255.255.255 fastEthernet0
R2のコンフィグ
interface FastEthernet2/0
no switchport
ip address 192.168.12.2 255.255.255.0
duplex full
speed 100
!
interface FastEthernet2/1
no switchport
ip address 192.168.23.2 255.255.255.0
duplex full
speed 100
R3のコンフィグ
interface Tunnel1
ip address 192.168.13.3 255.255.255.0
tunnel source FastEthernet0
tunnel destination 192.168.12.1
!
interface Loopback0
ip address 172.16.3.3 255.255.255.0
!
interface FastEthernet0
ip address 192.168.23.3 255.255.255.0
speed 100
full-duplex
!
router eigrp 13
network 172.16.0.0
network 192.168.13.0
no auto-summary
!
ip route 192.168.12.1 255.255.255.255 fastEthernet0
設定が完了したら、pingを打って疎通が取れるか確認しましょう。
EIGRPによるルーティングテーブルの学習が行われていたら、「!!!!!」と表示されます。
また、GNS3ではWiresharkと連携して、パケットキャプチャ―ができます。
R1とR2間のケーブルの箇所を右クリックして、Start Captureを押すとパケットキャプチャができます。
icmpのヘッダにGREヘッダが付与されており、GREを使った通信ができていることが確認できました。
GNS3:IPSecの設定
VPNの一つであるIPsecを使った設定を紹介します。
GNS3を立ち上げたら、以下のように3つのNW機器によるトポロジーを組んでください。
今回、R1:Cisco1710、R2:Cisco3725、R3:Cisco1710による構成を組みました。
■設定に関するポイント
・R1とR3間でIPsecを使ったVPNを構成します。
・R2はプロバイダが提供するネットワークを想定します。
・R1とR3間で、IPSecによるVPNを組むにはIPsecのアルゴリズムの設定を組みます。R1とR3のIPsecのアルゴリズムを一致させ、IPsecのトンネルを組むのにインターフェスはお互い相手のIPアドレス向けを宛先に設定します。
・R1とR3間はトンネルモード(IPsecにはトランスペアレント、トンネルの2のモードがあります)
・R1とR3間で組んだVPNから別のネットワークに通信できることを確認するため、Loopbackインターフェースの設定を行います。
R1、R2、R3のconfig例を以下に記載します。ネットワーク構成は以下になります。
R1のコンフィグ
crypto isakmp policy 10
authentication pre-share
crypto isakmp key 6 IPSEC address 192.168.23.3
!
!
crypto ipsec transform-set IPSEC-SET esp-3des esp-sha-hmac
!
crypto map IPSEC-MAP 10 ipsec-isakmp
set peer 192.168.23.3
set transform-set IPSEC-SET
match address 100
!
!
!
interface Loopback0
ip address 172.16.1.1 255.255.255.0
!
interface FastEthernet0
ip address 192.168.12.1 255.255.255.0
speed 100
full-duplex
crypto map IPSEC-MAP
!
ip route 0.0.0.0 0.0.0.0 FastEthernet0
!
access-list 100 permit ip any any
!
R2のコンフィグ
interface FastEthernet2/0
no switchport
ip address 192.168.12.2 255.255.255.0
duplex full
speed 100
!
interface FastEthernet2/1
no switchport
ip address 192.168.23.2 255.255.255.0
duplex full
speed 100
R3のコンフィグ
crypto isakmp policy 10
authentication pre-share
crypto isakmp key 6 IPSEC address 192.168.12.1
!
!
crypto ipsec transform-set IPSEC-SET esp-3des esp-sha-hmac
!
crypto map IPSEC-MAP 10 ipsec-isakmp
set peer 192.168.12.1
set transform-set IPSEC-SET
match address 100
!
!
!
interface Loopback0
ip address 172.16.3.3 255.255.255.0
!
interface FastEthernet0
ip address 192.168.23.3 255.255.255.0
speed 100
full-duplex
crypto map IPSEC-MAP
!
ip route 0.0.0.0 0.0.0.0 FastEthernet0
!
access-list 100 permit ip any any
!
設定が完了したら、pingを打って疎通が取れるか確認しましょう。疎通が取れれば「!!!!!」と表示されます。
IPsecの確立をコマンドで確認する場合は、「show crypto isakamp sa」コマンドを使います。
icmpのヘッダにIPsecのESPヘッダが付与されており、IPsecを使った通信ができていることが確認できました。
GREとIPsecの違いについて
GREとIPsecのパケットヘッダ
■GREを使ったパケット
■IPsecを使ったパケット(ESPトンネリングモード)
ESPトレーラとESP認証のヘッダサイズは、暗号化アルゴリズムなどによって値が変わってくるので、不定です。
GREとIPsecの特徴
・GREとIPsecはL3-VPNのプロトコルです。
※L2-VPNを使うものには、「L2TP」、「PPTP」などがあります。L2-VPNはL2レイヤーでVPNを使うので、L3レイヤーで扱うIPヘッダ情報を使わず、通信します。
・GREはマルチキャスト通信を使えますが、IPsecはマルチキャスト通信が使えません。
・GREはダイナミックプロトコルを使えますが、IPsecはダイナミックプロトコル(EIGRPやOSPF等)が使えません。
・GREは暗号化されていませんが、IPsecはデータ暗号化されます。
それぞれ異なった特徴をもっているVPNになります。したがって、ダイナミックプロトコルを使い、暗号化されたVPNを使いたいという場合は、GRE over IPsecという技術を使います。ネットワークスペシャリストの問題でも出ています。
GREをIPsecでカプセリングすることをGRE over IPsecといいます。PPP over EthernetもPPPoEと略され、IPv4の通信ではグローバルIPをプロバイダから取得するための重要な技術として位置づけられており、PPP通信をEthernetでカプセルリングして通信するということになります。
まとめ
GNS3を使って、VPNの設定検証ができる(VPN:GRE、IPsec)
コメント