こんにちは。”せん”です。
近頃はよりセキュアなネットワーク環境を構築することが重視されております。今回はUTMを搭載し、クラウドでの一元管理も可能なCisco Meraki MXを使ったVPNネットワーク環境を構築していきます。
AutoVPN機能を使った設定により、設定自体は従来の専門的な知識が無くても安全にVPN設定できる点で、弊社ではよく扱う製品となっています。
全体の構成図は以下の通りです。
四つのVLANからなる同じ構成の拠点AとBを構築します。VLANの内訳はデフォルトのVLAN1と社内業務用のVLAN10、ゲスト用のVLAN200、Internet接続用のVLAN100です。
今回の検証のポイントは以下の二点です。
・クライアントVPNを使い、どちらの拠点からもリモート接続が可能であること
・サイト間VPNを使い、拠点AとBの指定した各セグメントで疎通がとれること
クライアントVPNとサイト間VPNに関してはCisco Meraki MXの章で詳しく触れます。
L2SW
今回はCisco Catalyst 2960-X Seriesを使用しました。
L2SWは以下の点をおさえて設定します。
・各ポートのaccess/trunk設定
・VLAN1の設定
・各VLANの作成
・デフォルトゲートウェイの設定
no spanning-tree vlan 1,10,200
!
interface GigabitEthernet1/0/1
switchport trunk allowed vlan 1,10,200
switchport mode trunk
switchport nonegotiate
!
interface GigabitEthernet1/0/2
switchport access vlan 10
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
!
interface GigabitEthernet1/0/3
switchport access vlan 200
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
!
!
interface Vlan1
ip address 10.255.254.240 255.255.255.0
!
interface Vlan10
no ip address
!
interface Vlan200
no ip address
!
ip default-gateway 10.255.254.254
L3SW
今回はCisco 800M SeriesのルーターをL3SWとして代用しています。
L3SWでは以下の点におさえて設定します。
・各インターフェースの設定
・ACL
・デフォルトルート
・ルーティングの有効化
・DHCPサーバーの設定
・DNSサーバーの設定
まず、インターフェースの設定を行います。
各ポートにはaccess/trunkの設定と割り当てるVLANに注意し、各VLANにはIPアドレスを設定します。
ACLは宛先IPアドレスも指定できる拡張アクセスリストを使用します。
セキュリティを考慮してゲスト用のセグメントと他のセグメントの間で疎通ができないように設定します。また今回はサイト間VPNを設定するので、対抗拠点のセグメントにも考慮する必要があります。
ACLが設定出来たら、各VLANにACLを割り当てます。
access-list 101 deny ip 192.168.10.0 0.0.0.255 10.1.1.0 0.0.0.255
access-list 101 deny ip 192.168.10.0 0.0.0.255 10.1.2.0 0.0.0.255
access-list 101 permit ip any any
access-list 102 deny ip 10.1.1.0 0.0.0.255 192.168.10.0 0.0.0.255
access-list 102 deny ip 10.1.1.0 0.0.0.255 10.255.254.0 0.0.0.255
access-list 102 deny ip 10.1.1.0 0.0.0.255 192.168.20.0 0.0.0.255
access-list 102 deny ip 10.1.1.0 0.0.0.255 10.255.253.0 0.0.0.255
access-list 102 permit ip any any
!
interface Vlan10
ip address 192.168.10.254 255.255.255.0
ip access-group 101 in
!
!
interface Vlan200
ip address 10.1.1.254 255.255.255.0
ip access-group 102 in
!
デフォルトルートはMeraki MXのIPアドレスを使用します。
ip route 0.0.0.0 0.0.0.0 10.255.255.1
ルーティングは以下のコマンドで有効化できます。
L3SW-01(config)# ip routing
show ip routeを実行すると反映されているルートが表示されます。
以下のように設定した別のセグメントへのルーティングが記載されているので、VLAN間通信が可能であるといえます。
L3SW-01#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is 10.255.255.1 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 10.255.255.1
10.0.0.0/8 is variably subnetted, 6 subnets, 3 masks
C 10.1.1.0/24 is directly connected, Vlan200
L 10.1.1.254/32 is directly connected, Vlan200
C 10.255.254.0/24 is directly connected, Vlan1
L 10.255.254.254/32 is directly connected, Vlan1
C 10.255.255.0/29 is directly connected, Vlan100
L 10.255.255.2/32 is directly connected, Vlan100
192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.10.0/24 is directly connected, Vlan10
L 192.168.10.254/32 is directly connected, Vlan10
今回の構成ではL3SWがVLAN10・VLAN200のDHCPサーバーの役割を持ちます。
例としてVLAN10では以下のように設定をします。
例:VLAN10
ip dhcp excluded-address 192.168.10.1 192.168.10.99
ip dhcp excluded-address 192.168.10.200 192.168.10.254
!
ip dhcp pool VLAN10
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254
dns-server 192.168.10.254
!
ホストの割り当てを192.168.10.100~199の100個にするため、ip dhcp excluded-addressでは割り当てない範囲を記載します。
また、VLAN10と名前をつけたプールでは、対象のネットワーク・デフォルトゲートウェイ・DNSの指定をしています。
show running-configには表示されませんが、以下のコマンドでDHCPサーバーを有効化します。
L3SW-01(config)# service dhcp
DHCPのレンジの割り当ては以下のコマンドで確認できます。
L3SW-01#show ip dhcp pool
Pool VLAN10 :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 1
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased addresses
192.168.10.101 192.168.10.1 - 192.168.10.254 1
Leased addressesが1で、Current indexが192.168.10.101になっているので、IPアドレスはexcludedから外した192.168.10.100から割り振られていると断定できます。
最後にDNSサーバーの設定を行います。
(config)# ip domain-lookup
(config)# ip name-server 10.255.255.1
ip domain-lookupはデフォルトで有効になっています。
しかし、設定中に間違ったコマンドを入力してしまった際でも毎度名前解決を行われることが煩わしく、コンフィグ投入過程では無効にしておくことが多いです。ただし、名前解決を行う際には必要になるので設定が終わったら有効に戻します。
Meraki MXへはデフォルトルートをすでに設定しているため、DNSサーバーの指定だけでルーティングがされます。
Meraki MX
最後に今回の検証の中心となるMerakiの設定を行います。
今回の検証ではMeraki MX 85とMX 105を使用しています。Merakiは機種が変わっても基本的な操作に関しては大差はありません。
冒頭に記載したように、Merakiはクラウドで一元管理できることがメリットです。コンソールよりCLIでの設定に慣れている私はMerakiの初期設定に少し戸惑ってしまいました。公式にも設定手順は公表されておりますが、備忘録として簡単な手順を書き留めておきます。
まず、Merakiの電源を入れ作業PCをつなぎます。cmdよりMerakiからIPアドレスが割り当てられているか確認しておきます。接続が確認出来たらhttp://setup.meraki.comよりPPPoEのセットアップを行います。
Configureのタブより、WANポートにネット回線をつないだ状態で赤枠で囲った内容を設定、保存します。
左のマークが画像のようにHealthyになれば接続が正しくできたことの確認になります。
Connectionのタブの右下に表示されるCisco Meraki cloud を押下すると(URL:https://account.meraki.com/login/dashboard_login)、ダッシュボードへ遷移します。
以下の画面でWAN1がActiveになっていることでも、PPPoEの設定が正しく設定されている確認ができます。
正しくCloudに接続できている状態になると、Merakiのダッシュボードを開くために作業用PCをMerakiに物理的に接続する必要はなくなります。
機器と同じネットワークにいなくても管理ができるのは、クラウドの利点ですね。
まず、クライアントVPNの設定を行います。
MerakiのクライアントVPNでは、新しく設定したクライアントVPN用のセグメントを用いてリモート端末から各拠点へ接続することができます。プロトコルはL2TPを使用します。
それでは設定手順をおさらいします。
セキュリティ&SD-WAN>設定>クライアントVPNを選択します。
クライアントVPNの設定では以下の四点を行います。
・クライアントVPNサーバ:有効化
・任意のサブネットの設定
・共有パスワードの設定
・ユーザーの追加
今回の認証はデフォルトのMerakiクラウド認証を使用します。
ユーザーの追加では表出されたポップアップに必要な内容を入力、します。認証済みの項目は「はい」を選択し、任意で有効期限をセットします。
設定が完了すると、設定したメールアドレスに登録されたこと、承認されたことのメールが送信されます。
リモート接続が可能になった時点でユーザー側に通知されることもMerakiならではのシステムですね。
リモート接続用PCでVPNの追加を行うと接続可能な状態になります。
クライアントVPNの設定は以上です。
次にサイト間VPNの設定を行います。
サイト間VPNでは、離れた場所にある複数の拠点をより安全に結ぶことができます。
従来の機器ではこのサイト間VPNの構築は複雑で設定に専門的な知識を要しました。しかし、MerakiではAuto VPNの機能が搭載されているため、VPNの設定が非常に簡単にできます。
サイト間VPNの画面へ遷移し、リモート側VPN参加者の欄を確認するととすでに対抗拠点の情報が反映されていました。感動的です!従来であれば一つの機器に自らの拠点と対抗拠点の設定を行う必要がありましたが、対抗拠点の内容は自動で反映されるため手順が劇的に少なくなります。
こちらも設定方法をおさらいします。
まず、セキュリティ&SD-WAN>設定>サイト間VPNを選択します。
サイト間VPNのタイプを選択します。
各拠点がハブ×ハブまたはハブ×スポークの組み合わせが可能です。
複数の拠点同士をメッシュ状にVPN接続する場合は、ハブ×ハブを選びます。出口ハブは、ハブ間のデフォルトルートのような役割を持ちます。複数拠点があるうちの一つの拠点がデーターセンターである場合、出口ハブをその拠点に設定するといった具合です。
ハブ×スポークは、複数の拠点をキーとなる本社経由でVPN接続したい場合に使用します。本社となる拠点にはハブ、その他拠点をスポークに設定します。スポークに設定した拠点には、本社のハブを追加する必要があります。
ローカルネットワークの設定では、対抗拠点と接続を行うセグメントのモードを有効にします。これを有効にすると、対抗拠点のサイト間VPNを設定する画面に表示される仕組みになっています。
今回はゲストセグメントは対抗拠点に接続する必要はないので無効にしています。
以上ですべてのNW機器の設定が完了です。
今回はクライアントVPNとサイト間VPN拠点内の設定も行っているので、拠点間での疎通確認に加え、リモート端末からの疎通確認と対抗拠点からの疎通確認を行いました。
また、社内業務用のセグメントとゲスト用のセグメントで疎通がとれないことも確認して終了です。
まとめ
今回は以下の二点を考慮し、Cisco Meraki MXを使ったネットワーク環境を検証しました。
・在宅ワーク等で別環境からの接続が必要になった際に使用されるクライアントVPN
・複数拠点がある環境で各拠点を安全に接続するためのサイト間VPN
VPNを使用することでセキュアな環境を構築することが検証の目的ですが、それがMerakiを導入することでGUIで簡単に設定できました。
設定事例や文献があまり多くないところがや難点かとは感じましたが、クラウドでの一元管理ができ、AutoVPNの機能が備わっているのは大きな利点です。
またMerakiはUTMなので、よりセキュアな環境を構築する上でも上位レイヤのファイヤーウォールの設定に関しても設定、検証してみようと思います。