LoginSignup
0
0

More than 1 year has passed since last update.

Ciscoルーターのリモートアクセス設定

Posted at

Ciscoルーターのリモートアクセス設定

苦闘してリモートアクセス設定を実施した記録である。結果として妥協。

トポロジー

リモートアクセス設定を行うルーターはCisco C841M。身の回りにあった機器を下記図のように構成した。
トポロジー.png
C841MのWAN側に別のルーターYが存在し、C841MとPC-AとがルーターYからDHCPによりIPアドレスを取得(172.16.0.xxx/24)。C841MのVLAN10にPC-Bが存在している(C841MのDHCPによりIPアドレスを取得)。また、C841MにはNATあり。PC-AがC841MにアクセスしてPC-Bと疎通ができるような設定を行う(リモートアクセス(VPN)の結果として、PC-Aには「10.2.2.208」のIPアドレスがアサイン)。PCにはWindows10を用いた。

トライ(失敗)

失敗の記録である。最初に記載するが、私が用いた環境依存により、失敗している可能性はあることに注意。

まずはオーソドックス

C841Mやリモートアクセスをキーワードに検索。

ClientにLinux(lubuntu)を利用(NATトラバーサル)

Linuxで、NATトラバーサル(UDPポート4500)を有効にすると、C841Mまでのアクセスは成功した。調べると、Windows10でNATトラバーサルを利用するには、レジストリAssumeUDPEncapsulationContextOnSendRuleの数値を「2」にする必要があるらしいことがわかった。次のような記事が見つかる。

しかし、これでも接続できず。さらに、XBox系のサービスを停止する、Firewallの設定を見直す、、などの記事も見つかるが、いずれもNG。PatchをUninstallするなどの下記記事も見つかるが、これもだめだった。

また、Linuxでは、C841MまでのアクセスはOKだが、PC-Bまでの疎通はできず。

その他の検索

他にも、いくつか見つかり(下記)、トライしたがダメだった。

FortiClient VPN

VPNで有名どころのFortigateのソフトウェアである、FortiClient VPNでも試したがNG。

Shrew Soft VPN Client(成功)

VPNクライアントソフトを探していたところ

という記事にあった、Shrew Soft VPN Clientを利用して、リモートアクセスもPC-AからPC-Bへの疎通もOKとなった。本ソフトウェアは、Cisco VPN Clientの代替となっているらしい。

C841MのConfiguration

上述の記事にそって設定を行う。ただし、記事内容の一部に不適切と思えるところがあり、適宜修正している。(さらに、用いたトポロジーに合わせて修正あり。)

関連するところのみ記載する。「//」以降が補足コメントである。

#show running-config 

aaa new-model
!
aaa authentication login AUTH local  // ログイン認証にローカルデータベースを利用し名称を「AUTH」とする
aaa authorization network NET local  // ネットワークサービス認可にローカルデータベースを利用し名称を「NET」とする
!
aaa session-id common
!
ip dhcp excluded-address 10.10.10.1
ip dhcp excluded-address 10.2.2.1                // LAN側のDHCPの除外IPアドレス
ip dhcp excluded-address 10.2.2.201 10.2.2.210
!
ip dhcp pool pool10  // 10.10.10.0/25のDHCPプール(管理用ネットワーク)
 import all
 network 10.10.10.0 255.255.255.128
 default-router 10.10.10.1 
 dns-server 10.10.10.1 
 lease 0 2
!
ip dhcp pool pool2  // 10.2.2.0/24のDHCPプール(今回使用するネットワーク)
 import all
 network 10.2.2.0 255.255.255.0
 default-router 10.2.2.1 
 dns-server 10.2.2.1 
 lease 0 2
!
object-group network local_lan_subnets  // LAN側ネットワークの定義 
 10.10.10.0 255.255.255.128
 10.2.2.0 255.255.255.0
!
username admin privilege 15 secret 5 Himitsu
username user1 privilege 15 password 7 Himitsu // VPNアクセス用アカウント
!
crypto isakmp policy 1     // ISAKMPポリシー定義
 encr aes                  // AES
 authentication pre-share  // 事前共有鍵方式
 group 2                   // DHグループ2
 lifetime 3600
crypto isakmp keepalive 10
!
crypto isakmp client configuration group RA  // ISAKMPグループポリシー定義
 key password                                // 事前共有鍵(password)
 domain test.com                             // ドメイン名
 pool Test1                                  // IPアドレスプール
 acl split                                   // スプリットトンネリング有効化(アクセスリスト名「split」)
 save-password
 netmask 255.255.255.0
crypto isakmp profile ISAKMP-PROFILE     // ISAKMPプロファイル定義
   match identity group RA               // ポリシーグループ名
   client authentication list AUTH       // AAA認証とのリンク(名称「AUTH」)
   isakmp authorization list NET         // AAA認可とのリンク(名称「NET」)
   client configuration address respond  // リモートからのアドレスリクエストに応答
   client configuration group RA         // 必要か不明、、、
   virtual-template 1                    // 仮想I/F
!
crypto ipsec transform-set TS-IPSEC esp-aes esp-sha-hmac  // IPSECトランスフォームセット定義
 mode tunnel
!
crypto ipsec profile IPSEC-PROFILE  // IPSECプロファイル
 set transform-set TS-IPSEC         // IPSECトランスフォームセット
 set isakmp-profile ISAKMP-PROFILE  // ISAKMPプロファイル
!
interface GigabitEthernet0/0  // VLAN10
 switchport access vlan 10
 no ip address
!
interface GigabitEthernet0/1  // VLAN10
 switchport access vlan 10
 no ip address
!
interface GigabitEthernet0/2  // 指定なし(VLAN1)
 no ip address
!
interface GigabitEthernet0/3  // 指定なし(VLAN1)
 no ip address
!
interface GigabitEthernet0/4  // WAN
 description PrimaryWANDesc_
 ip address dhcp              // DHCPによりIPアドレス取得
 ip nat outside               // NAT外側
 ip virtual-reassembly in
 duplex auto
 speed auto
!
interface GigabitEthernet0/5
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Virtual-Template1 type tunnel         // 仮想トンネルI/F
 ip unnumbered GigabitEthernet0/4               // 物理I/Fとのリンク
 tunnel source GigabitEthernet0/4               // ソースI/F
 tunnel mode ipsec ipv4                         // IPv4 IPSEC
 tunnel protection ipsec profile IPSEC-PROFILE  // IPSECプロファイルとのリンク
!
interface Vlan1   // 管理用LAN
 description $ETH_LAN$
 ip address 10.10.10.1 255.255.255.128
 ip nat inside    // NAT内側
 ip virtual-reassembly in
!
interface Vlan10  // 今回のアクセス対象となるLAN
 ip address 10.2.2.1 255.255.255.0
 ip nat inside    // NAT内側
 ip virtual-reassembly in
!
ip local pool Test1 10.2.2.201 10.2.2.210  // リモートアクセス時に割り当てられるIPアドレスプール
ip forward-protocol nd
ip http server
ip http access-class 23
no ip http secure-server
!
ip nat inside source list nat-list interface GigabitEthernet0/4 overload  // NAT
!
ip access-list extended nat-list  // NAT用アクセスリスト
 permit ip object-group local_lan_subnets any
 deny   ip any any
ip access-list extended split  // スプリットトンネリング用アクセスリスト
 permit ip 10.10.10.0 0.0.0.127 any
 permit ip 10.2.2.0 0.0.0.255 any
!
access-list 23 permit 10.10.10.0 0.0.0.127
!
line con 0
 login authentication local_access
 no modem enable
line vty 0 4
 access-class 23 in
 privilege level 15
 login authentication local_access
 transport input telnet ssh
line vty 5 15
 access-class 23 in
 privilege level 15
 transport input telnet ssh

Ginza#show vlan-switch 

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Gi0/2, Gi0/3
10   VLAN0010                         active    Gi0/0, Gi0/1

Shrew Soft VPN Clientの設定

さきほどの記事に沿って設定を行う。

  • General - Remote Host:172.16.0.11 / Port:500
  • Authentication Method:Mutual PSK+XAuth
  • Authentication - Mutual PSK+XAuth - Local Identity - Identification Type:Key Identifier
  • Authentication - Mutual PSK+XAuth - Local Identity - Key ID string:RA
  • Authentication - Mutual PSK+XAuth - Remote Identity - Identitication Type:IP Address
  • Authentication - Mutual PSK+XAuth - Remote Identity - Use a discovered remote host address:チェック
  • Authentication - Mutual PSK+XAuth - Credentials - Pre Shared Key:password
  • Phase 1 - Cipher Algorithm:aes
  • Phase 1 - Hash Algorithm:sha1
  • Phase 2 - Transform Algorithm:esp-aes
  • Phase 2 - HMAC Algorithm:sha1
  • Policy - Remote Network Resouce:10.2.2.0/255.255.255.0

実験

UsernameとPasswordとを入力しConnectする。
connect.PNG
接続が成功すると、下記のように「tunnel enabled」が表示される。
connectedのコピー.PNG
同時に接続状況を下記する。
securitypolicies2.PNG
securityassociations2.PNG
firewallrules2.PNG

また、PC-Aには下記のような新しいネットワークインターフェースが見える。
ipconfig2.PNG
C841Mで設定したドメイン名「test.com」やリモートアクセス用に割り当てたプールからのIPアドレス「10.2.2.208/24」が割り当てられている。ここで、PC-AからPC-Bへpingを実施する。
ping.PNG

新しいネットワークインターフェース(ここでは「イーサネットアダプター ローカルエリア接続*11)が作られるため、Wireshark(npcap)では直接的にパケットをキャプチャすることができない。そのかわりに、Shrew Soft VPN Clientでは、オプション設定により、ネットワークデータをキャプチャできる。
option2のコピー.PNG
「packet dump」にチェックを入れることにより、Wiresharkで読み込み可能な「pcap」ファイルが作成される(暗号化前データと後データ)。これにより、先程のpingをキャプチャしたものが下記である。
暗号化前データ:
pingFrom208to2.png
暗号化後データ:
pingFrom208to2(ESP).png
なお、IKEやIPsecのログデータやIKEのキャプチャデータも作成されるが、ここでは省略。

おわりに

VPNクライアントソフトウェアを入れずに、Windows10だけでなんとかしたかったのであるが、GiveUp。時間ができたら、またトライするかも。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0