結果は見つかりませんでした
その言葉を使ったものは見つかりませんでした。他の言葉で検索してみてください。
2024-11-22 NEC IXルータで両拠点がグローバルIPを保有する場合のIKEv2 IPsec設定を紹介します。 設定まとめ コマンド一覧 IKEv2 IPsecに関連するコマンド一覧は以下の通りです。 ip access-list <acl_name> permit ip src &
NEC IXルータで両拠点がグローバルIPを保有する場合のIKEv2 IPsec設定を紹介します。
IKEv2 IPsecに関連するコマンド一覧は以下の通りです。
ip access-list <acl_name> permit ip src <prefix> dest <prefix> ike proposal <ike_proposal_name> encryption <encryption> hash <hash> ike policy ike-policy peer <peer_addr> key <password> <ike_proposal_name> ipsec autokey-proposal <ipsec_proposal_name> [<esp>...] [<ah>...] ipsec autokey-map <policy_map_name> <acl_name> peer <peer_addr> <ipsec_proposal_name> ipsec local-id <policy_map_name> <local_private_prefix> ipsec remote-id <policy_map_name> <remote_private_prefix> ! interface Tunnel0.0 tunnel mode ipsec ip address <addr> ip tcp adjust-mss auto ipsec policy tunnel <policy_map_name> out ! interface GigaEthernet0.0 ip napt enable ip napt static GigaEthernet0.0 50 ip napt static GigaEthernet0.0 udp 500 ip napt static GigaEthernet0.0 udp 4500
IKEv2はIKEv1に比べると仕様がシンプル化されています。また、NEC IXでIKEv2を使用する場合は、暗黙的な設定やデフォルト値が利用できますので、以下コマンドのみでIPsecを確立する事ができます。グローバルIPアドレス同士で通信する場合は、<remote_id>と<remote_addr>は同じ値になります。
ikev2 authentication psk id ipv4 <remote_id> key char <password> ! interface Tunnel0.0 tunnel mode ipsec-ikev2 ip address <tunnel_addr> ip tcp adjust-mss auto ikev2 connect-type auto ikev2 ipsec pre-fragment ikev2 peer <remote_addr> authentication psk id ipv4 <remote_id> no shutdown
以下のコマンドで対向のID毎に事前共有鍵を定義できます。グローバルIP同士で通信する場合は、対向のIDはグローバルIPアドレスと同じ値になります。
ikev2 authentication psk id ipv4 <remote_id> key char <password>
NEC IX同士で接続する場合は、IKEv2 SAに関するパラメタ指定は不要です。互いにデフォルト設定を使用してIKEv2 SAを確立します 。
NEC IX以外の機器と接続する場合やデフォルト以外のパラメタを使用する場合は、以下のようなコマンドで指定可能です。
ikev2 default-profile sa-proposal enc <encryption> sa-proposal integrity <hash> sa-proposal dh <gh-group>
設定例は以下の通りです 。
ikev2 default-profile sa-proposal enc aes-cbc-256 sa-proposal integrity sha2-512 sa-proposal dh 2048-bit
IKEv1のISAKMPに相当する処理は、IKEv2ではchild-saと呼ばれます。NEC IX同士で接続する場合は、IKEv2 child-saに関するパラメタ指定は不要です。互いにデフォルト設定を使用してIKEv2 child-saを確立します。
NEC IX以外の機器と接続する場合やデフォルト以外のパラメタを使用する場合は、以下のようなコマンドで指定可能です。
ikev2 default-profile child-lifetime <sec> child-proposal enc <encryption> child-proposal integrity <hash>
設定例は以下の通りです 。
ikev2 default-profile child-lifetime 28800 child-proposal enc aes-cbc-256 child-proposal integrity sha2-512
以下のコマンドで自分自身のidを定義する事ができます。省略した場合は自身のipアドレスが設定されます。グローバルipアドレスでipsecを確立する場合は、特段の考慮は必要なく省略しても疎通可能になります 。
ikev2 default-profile local-authentication id ipv4 <local-id>
以下のようにtunnelインターフェースを定義するとipsecが確立されます 。
interface Tunnel0.0 tunnel mode ipsec-ikev2 ip address <tunnel_addr> ip tcp adjust-mss auto ikev2 connect-type auto ikev2 ipsec pre-fragment ikev2 peer <remote_addr> authentication psk id ipv4 <remote_id> no shutdown
Tunnelだけでは拠点間の疎通はできません。staticやBGPで適宜ルーティングを設定しましょう。以下はstatic routeを定義する構文です。
ip route <prefix> Tunnel0.0
「NEC IXのNAPT service(インターネットからNEC IXへの接続許可)設定」で説明した通り、NAPTが設定されている状態ではNEC IXは自身へのパケットを破棄します。この破棄される挙動はIPsecに関するパケットも同様です。
以下のようにipsecに関するパケットの受信を許可する設定が必要です 。
protocol number 50(ESP)は明示的な許可なしに受信可能です。udp 4500はNATトラバーサルが必要な環境下のみ必要な設定です。
NEC ixのバージョンによってはudp500 , udp4500が暗黙的に許可され、設定投入を省略する事もできます 。
interface GigaEthernet0.0 ip napt static GigaEthernet0.0 50 ip napt static GigaEthernet0.0 udp 500 ip napt static GigaEthernet0.0 udp 4500
以下の環境で動作確認を行います 。
+------------------+ | Rocky Linux 8.5 | | host010 | +-------+----------+ ens224 | .10 | | 192.168.10.0/24 | G1.0 | .1 +-------+----------+ | NEC IX 2015 | | R10 | +-------+----------+ G0.0 | .10 | | 200.0.10.0/24 | eth0 | .1 +-------+----------+ | VyOS 1.4 | | Internet | +-------+----------+ eth1 | .1 | | 200.0.20.0/24 | G0.0 | .20 +-------+----------+ | NEC IX 2015 | | R20 | +-------+----------+ G1.0 | .1 | | 192.168.20.0/24 | ens224 | .20 +-------+----------+ | Rocky Linux 8.5 | | host020 | +------------------+
ix2015の初期設定は以下の通りとします。設定はipアドレスとインターネットに接続するためのnatしか投入していません 。
R10 : NEC IX 2015
! NEC Portable Internetwork Core Operating System Software ! IX Series IX2105 (magellan-sec) Software, Version 10.2.34, RELEASE SOFTWARE ! Compiled Mar 26-Fri-2021 16:04:41 JST #2 ! Current time Nov 23-Tue-2021 12:03:45 JST ! hostname R10 timezone +09 00 ! logging buffered 8192 logging subsystem all warn logging timestamp datetime ! username admin password hash 63cA632c6fBB8D099804ed6eBc758b@ administrator ! ! ip ufs-cache enable ip route default 200.0.10.1 ! ! ! ! ! ! ! ! ! telnet-server ip enable ! ! ! device GigaEthernet0 ! device GigaEthernet1 ! interface GigaEthernet0.0 ip address 200.0.10.10/24 ip napt enable no shutdown ! interface GigaEthernet1.0 ip address 192.168.10.1/24 no shutdown ! interface Loopback0.0 no ip address ! interface Null0.0 no ip address
R20 : NEC IX 2015
! NEC Portable Internetwork Core Operating System Software ! IX Series IX2105 ( magellan - sec ) Software , Version 8.10.11 , RELEASE SOFTWARE ! compile Aug 02 - Fri-2013 13:57:45 JST # 2 ! current time Nov 23 - Tue-2021 11:46:48 JST ! ! hostname R20 timezone +09 00 ! ! ! username admin password hash 0c34240482 administrator ! ! ! ! ! ! logging buffer 131072 logging subsystem all warn logging timestamp datetime ! ! ip route default 200.0.20.1 ! ! ! ! ! ! ! ! ! ! telnet - server ip is enable enable ! ! ! ! ! ! ! ! ! device GigaEthernet0 ! device GigaEthernet1 ! interface is enable GigaEthernet0.0 ip address 200.0.20.20/24 ip napt enable no shutdown ! interface GigaEthernet1.0 ip address 192.168.20.1/24 no shutdown ! interface is interface Loopback0.0 no ip address ! interface Null0.0 no ip address
Internet : VyOS1.4
set interfaces ethernet eth0 address '200.0.10.1/24' set interfaces ethernet eth0 hw-id '00:50:56:90:8e:9d' set interfaces ethernet eth1 address '200.0.20.1/24' set interfaces ethernet eth1 hw-id '00:50:56:90:a2:8c' set service ssh disable-host-validation set system config-management commit-revisions '100' set system conntrack modules ftp set system conntrack modules h323 set system conntrack modules nfs set system conntrack modules pptp set system conntrack modules sip set system conntrack modules sqlnet set system conntrack modules tftp set system console device ttyS0 speed '115200' set system host-name 'vyos' set system login user admin authentication encrypted-password '$6$cl1DIDt8CHJnLXst$zNkGlajjlSDirfSVdmFEkVfkvj3rxjayuu1RfzvuJQ.rNzJlb3s995/1HZX91nvW83ZvINnGvXBG6Z.sWVE7W/' set system login user vyos authentication encrypted-password '$6$BLBE.ChYBI4ynui8$u2B.sTlyz1d.5GEjLyQKQmNRPN3kDHb3ynAzolORLLGOYe3up4u3vNg93QWk1DkOBbRNgkJJyYYVkrMofOFgw1' set system login user vyos authentication plaintext-password '' set system ntp server time1.vyos.net set system ntp server time2.vyos.net set system ntp server time3.vyos.net set system syslog global facility all level 'info' set system syslog global facility protocols level 'debug'
IPsecを確立するための設定を入れます。
[R10:IX2015] ikev2 authentication psk id ipv4 200.0.20.20 key char P@ssw0rd ! interface Tunnel0.0 tunnel mode ipsec-ikev2 ip address 169.254.0.10/24 ip tcp adjust-mss auto ikev2 connect-type auto ikev2 ipsec pre-fragment ikev2 peer 200.0.20.20 authentication psk id ipv4 200.0.20.20 no shutdown
[R20:IX2015] ikev2 authentication psk id ipv4 200.0.10.10 key char P@ssw0rd ! interface Tunnel0.0 tunnel mode ipsec-ikev2 ip address 169.254.0.20/24 ip tcp adjust-mss auto ikev2 connect-type auto ikev2 ipsec pre-fragment ikev2 peer 200.0.10.10 authentication psk id ipv4 200.0.10.10 no shutdown
NAT併用時はudp500などの接続許可が必要になる事もあります。
NEC IXのバージョンによっては暗黙的にudp500などが許可されるため、設定投入を省略できます。
[R10:IX2015] interface GigaEthernet0.0 ip napt static GigaEthernet0.0 50 ip napt static GigaEthernet0.0 udp 500
[R20:IX2015] interface GigaEthernet0.0 ip napt static GigaEthernet0.0 50 ip napt static GigaEthernet0.0 udp 500
IPsecが確立された事を確認します。
IPsecが確立されるのは何らかの通信が開始されたタイミングですので、「NEC IXのIKEv1 IPsec設定 両拠点 固定IPアドレス」で示したIKEv1の場合は、pingなどで何らかの通信を発生させない限りIKEの確認はできません。
一方、NEC IXのIKE v2は設定投入のタイミングでパケットが生成されますので、pingコマンドなどを用いて通信を発生させずにIKEv2 SAの確認ができます。NEC IXのIKEv2は「仕様を知らない人でも何となくで動く」暗黙的な挙動が数多く設定されています。
IKEv2 saの確認結果は以下のようになります。
[R10:IX2015] R10(config)# show ikev2 sa IKEv2 SA - 1 created Interface Tunnel0.0 SPI (I)0xe085cf8e0732f92f (R)0xf1cae02858beca7d Remain lifetime[sec] : 85557 Serial : 5 Direction : responder Local Addr : 200.0.10.10:500 Peer Addr : 200.0.20.20:500 Local ID : IPV4-ADDR 200.0.10.10 Peer ID : IPV4-ADDR 200.0.20.20 Status : establish Local message ID : 2 Peer message ID : 3 <omitted>
IKEv2 child-saの確認結果は以下のようになります。
[R10:IX2015] R10(config)# show ikev2 child-sa Child SA - 1 connected Interface Tunnel0.0 IKE Peer ID : IPV4-ADDR 200.0.20.20 IKE SPI (I)0xe085cf8e0732f92f (R)0xf1cae02858beca7d IKE SA serial : 5 Child SA Protocol : ESP Local Addr : 200.0.10.10 Peer Addr : 200.0.20.20 Enc alg : AES-CBC-256 Hash alg : HMAC-SHA2-512-256 Remain lifetime[sec] : 27884 Anti-replay : on <omitted>
拠点間となるhost010(192.168.10.10)とhost020(192.168.20.20)の間の疎通を確認します。拠点間で疎通可能なようにするにはipsecの確立だけでなくルーティングの設定が必要です 。
以下のように拠点間のルーティングを定義します。
[R10:IX2015] ip route 192.168.20.0/24 Tunnel0.0
[ R20 : IX2015 ] ip route 192.168.10.0/24 Tunnel0.0
host010(192.168.10.10)とhost020(192.168.20.20)の間で疎通可能である事を確認します。
[host010:RockyLinux8.5] [root@host010 ~]# ping -c 3 192.168.20.20 PING 192.168.20.20 (192.168.20.20) 56(84) bytes of data. 64 bytes from 192.168.20.20: icmp_seq=1 ttl=62 time=2.11 ms 64 bytes from 192.168.20.20: icmp_seq=2 ttl=62 time=1.47 ms 64 bytes from 192.168.20.20: icmp_seq=3 ttl=62 time=1.47 ms --- 192.168.20.20 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 1.467/1.682/2.105/0.299 ms
デフォルト設定を用いてIKEv2 saを確立する事もできますが、IKEv2 saのプロポーザルを明示指定する事もできます。以下はデフォルト設定を明示的に記述したconfigです。
[R10:IX2015] ikev2 default-profile sa-proposal enc aes-cbc-256 sa-proposal integrity sha2-512 sa-proposal dh 2048-bit
デフォルト設定を用いてIKEv2 child-saを確立する事もできますが、ikev2 child – saのプロポーザルを明示指定する事もできます。以下はデフォルト設定を明示的に記述したconfigです。
[R10:IX2015] ikev2 default-profile child-lifetime 28800 child-proposal enc aes-cbc-256 child-proposal integrity sha2-512
パラメタを明示指定してもipsecを確立できる事を確認するため、ikev2を再起動します 。
[R10:IX2015] show ikev2 sa show ikev2 child-sa
[R20:IX2015] show ikev2 sa show ikev2 child-sa
host010(192.168.10.10)とhost020(192.168.20.20)の間で疎通を確認します。
[host010:RockyLinux8.5] [root@host010 ~]# ping -c 3 192.168.20.20 PING 192.168.20.20 (192.168.20.20) 56(84) bytes of data. 64 bytes from 192.168.20.20: icmp_seq=1 ttl=62 time=1.73 ms 64 bytes from 192.168.20.20: icmp_seq=2 ttl=62 time=1.57 ms 64 bytes from 192.168.20.20: icmp_seq=3 ttl=62 time=1.47 ms --- 192.168.20.20 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2004ms rtt min/avg/max/mdev = 1.474/1.590/1.727/0.104 ms