管理番号:YMHRT-26834
(最終更新日: 2024/3/7)
本設定例では、Oracle Cloud Infrastructure と IPsec接続する機能を使用しています。
本機能の対応機種は、RTX5000、RTX3510、RTX3500、RTX1300、RTX1220、RTX1210、RTX830、NVR700Wです。
Oracle Cloud Infrastructure(以降、OCI)とVPN接続するための、ヤマハルーター(以降、ルーター)の設定手順です。
本設定例では、フレッツ 光ネクストのインターネット(IPv6 IPoE)接続を利用します。
ここでは、接続設定の一例として、以下の環境での設定をご紹介します。
環境の構築は、以下の手順で行います。
※ルーターの設定をする前に、ルーターの固定グローバルIPアドレスを取得しているか、確認をお願いします。
光回線に接続するためには、別途ONUが必要です。
NVR700Wは、本体のONUポートに小型ONUを装着することで、光回線に接続できます。
RTX5000 | Rev.14.00.33 |
---|---|
RTX3510 | Rev.23.01.01 |
RTX3500 | Rev.14.00.33 |
RTX1300 | Rev.23.00.10 |
RTX1220 | Rev.15.04.05 |
RTX1210 | Rev.14.01.41 |
RTX830 | Rev.15.02.30 |
NVR700W | Rev.15.00.24 |
※ネットワーク機器を安全にお使いいただくために、定期的な管理パスワードの変更を推奨します。
ゲートウェイの設定 | ip route default gateway tunnel 1 filter 500000 gateway tunnel 1 ipv6 route default gateway dhcp lan2 |
---|---|
LANインターフェースの設定 (LAN1ポートを使用) |
ip lan1 address 192.168.100.1/24 |
WANインターフェースの設定 (LAN2ポートを使用) |
ipv6 prefix 1 dhcp-prefix@lan2::/64 ipv6 source address selection rule lifetime ipv6 lan1 address dhcp-prefix@lan2::1/64 ipv6 lan1 prefix change log on ipv6 lan1 rtadv send 1 o_flag=on ipv6 lan1 dhcp service server ip lan2 address dhcp ipv6 lan2 address dhcp ipv6 lan2 secure filter in 101000 101001 101002 101003 ipv6 lan2 secure filter out 101099 dynamic 101080 101081 101082 101083 101084 101085 101098 101099 ipv6 lan2 dhcp service client ngn type lan2 ntt |
トンネルの設定 |
tunnel select 1 tunnel encapsulation map-e tunnel map-e type ocn ip tunnel mtu 1460 ip tunnel secure filter in 400003 400020 400021 400022 400023 400024 400025 400030 400032 ip tunnel secure filter out 400013 400020 400021 400022 400023 400024 400025 400026 400027 400099 dynamic 400080 400081 400082 400083 400084 400085 400098 400099 ip tunnel nat descriptor 20000 tunnel enable 1 |
フィルターの設定 | ip filter 400000 reject 10.0.0.0/8 * * * * ip filter 400001 reject 172.16.0.0/12 * * * * ip filter 400002 reject 192.168.0.0/16 * * * * ip filter 400003 reject 192.168.100.0/24 * * * * ip filter 400010 reject * 10.0.0.0/8 * * * ip filter 400011 reject * 172.16.0.0/12 * * * ip filter 400012 reject * 192.168.0.0/16 * * * ip filter 400013 reject * 192.168.100.0/24 * * * ip filter 400020 reject * * udp,tcp 135 * ip filter 400021 reject * * udp,tcp * 135 ip filter 400022 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 400023 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 400024 reject * * udp,tcp 445 * ip filter 400025 reject * * udp,tcp * 445 ip filter 400026 restrict * * tcpfin * www,21,nntp ip filter 400027 restrict * * tcprst * www,21,nntp ip filter 400030 pass * 192.168.100.0/24 icmp * * ip filter 400031 pass * 192.168.100.0/24 established * * ip filter 400032 pass * 192.168.100.0/24 tcp * ident ip filter 400033 pass * 192.168.100.0/24 tcp ftpdata * ip filter 400034 pass * 192.168.100.0/24 tcp,udp * domain ip filter 400035 pass * 192.168.100.0/24 udp domain * ip filter 400036 pass * 192.168.100.0/24 udp * ntp ip filter 400037 pass * 192.168.100.0/24 udp ntp * ip filter 400099 pass * * * * * ip filter 500000 restrict * * * * * ip filter dynamic 400080 * * ftp ip filter dynamic 400081 * * domain ip filter dynamic 400082 * * www ip filter dynamic 400083 * * smtp ip filter dynamic 400084 * * pop3 ip filter dynamic 400085 * * submission ip filter dynamic 400098 * * tcp ip filter dynamic 400099 * * udp ipv6 filter 101000 pass * * icmp6 * * ipv6 filter 101001 pass * * tcp * ident ipv6 filter 101002 pass * * udp * 546 ipv6 filter 101003 pass * * 4 ipv6 filter 101099 pass * * * * * ipv6 filter dynamic 101080 * * ftp ipv6 filter dynamic 101081 * * domain ipv6 filter dynamic 101082 * * www ipv6 filter dynamic 101083 * * smtp ipv6 filter dynamic 101084 * * pop3 ipv6 filter dynamic 101085 * * submission ipv6 filter dynamic 101098 * * tcp ipv6 filter dynamic 101099 * * udp |
NATの設定 | nat descriptor type 20000 masquerade nat descriptor address outer 20000 map-e nat descriptor masquerade static 20000 1 (ルーターの固定グローバルIPアドレス) udp 500 # 注釈1 nat descriptor masquerade static 20000 2 (ルーターの固定グローバルIPアドレス) esp # 注釈1 |
DHCPの設定 | dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.100.2-192.168.100.191/24 dhcp client release linkdown on |
DNSの設定 | dns host lan1 dns service fallback on dns server dhcp lan2 dns server select 500000 dhcp lan2 any . dns private address spoof on |
Luaスクリプトのスケジュール設定 | schedule at 1 startup * lua emfs:/ocn_map_e.lua |
電話の設定 | sip use on |
Luaスクリプト |
embedded file ocn_map_e.lua <<EOF SERVER_URL = "アドレス解決システムURL" USERNAME = "アドレス解決システム認証用ID" PASSWORD = "アドレス解決システム認証用パスワード" NGN_IF = "LAN1" LOG_PTN1 = NGN_IF .. ": link up" LOG_PTN2 = "%[OCN MAP%-E%] hostname=" PTN = /(Add IPv6 prefix|LAN1: link up|hostname=)/ LOG_LEVEL = "info" LOG_PFX = "[OCN MAP-E]" function logger(msg) rt.syslog(LOG_LEVEL, string.format("%s %s", LOG_PFX, msg)) end function retry_timer(t, c) return (t * 2 * c) end local rtn, str, count, log, sleep_time, hostname, tmp local req_t = {} local res_t math.randomseed(os.time()) req_t.method = "GET" req_t.auth_type = "basic" req_t.auth_name = USERNAME req_t.auth_pass = PASSWORD rtn, str = rt.syslogwatch(LOG_PTN2, 1, 30) if (rtn > 0) then tmp, hostname = string.split(str[1], "=") end while true do count = 1 while hostname do req_t.url = string.format("%s?hostname=%s", SERVER_URL, hostname) rt.sleep(2) res_t = rt.httprequest(req_t) logger("Notified IPv6 address to the address resolution server.") if res_t.rtn1 then if res_t.code == 200 then if string.match(res_t.body, "good") or string.match(res_t.body, "nochg") or string.match(res_t.body, "nohost") then log = string.format("Succeeded to notify IPv6 address to the address resolution server. (code=%d)", res_t.code) logger(log) break end end log = string.format("Failed to notify IPv6 address to the address resolution server. (code=%d)", res_t.code) logger(log) else logger("Not response from the address resolution server.") end sleep_time = retry_timer(60, count) if (sleep_time > 3600) then sleep_time = 3600 else count = count * 2 end rt.sleep(sleep_time) end sleep_time = math.random(43200, 86400) rtn, str = rt.syslogwatch(PTN, 1, sleep_time) if (rtn > 0) and string.match(str[1], LOG_PTN2) then tmp, hostname = string.split(str[1], "=") elseif (rtn > 0) and string.match(str[1], LOG_PTN1) then rt.sleep(5) end end EOF |
ゲートウェイの設定 | ip route (VCNのLAN側ネットワークアドレス) gateway tunnel 1 hide gateway tunnel 2 hide |
---|---|
ループバックの設定 | ip loopback1 address (ルーターの固定グローバルIPアドレス) |
VPN(IPsec)の設定1 # 注釈2 |
tunnel select 2 description tunnel OCI-VPN1 ipsec tunnel 2 ipsec sa policy 2 2 esp aes256-cbc sha256-hmac ipsec ike duration ipsec-sa 2 3600 ipsec ike duration isakmp-sa 2 28800 ipsec ike encryption 2 aes256-cbc ipsec ike group 2 modp1536 ipsec ike hash 2 sha256 ipsec ike keepalive log 2 off ipsec ike keepalive use 2 on dpd ipsec ike local address 2 (ルーターの固定グローバルIPアドレス) ipsec ike local id 2 0.0.0.0/0 ipsec ike nat-traversal 2 on ipsec ike pfs 2 on ipsec ike pre-shared-key 2 text (DRGの1つ目の事前共有鍵) ipsec ike remote address 2 (DRGの1つ目のグローバルIPアドレス) ipsec ike remote id 2 0.0.0.0/0 tunnel enable 2 |
VPN(IPsec)の設定2 # 注釈2 |
tunnel select 3 description tunnel OCI-VPN2 ipsec tunnel 3 ipsec sa policy 3 3 esp aes256-cbc sha256-hmac ipsec ike duration ipsec-sa 3 3600 ipsec ike duration isakmp-sa 3 28800 ipsec ike encryption 3 aes256-cbc ipsec ike group 3 modp1536 ipsec ike hash 3 sha256 ipsec ike keepalive log 3 off ipsec ike keepalive use 3 on dpd ipsec ike local address 3 (ルーターの固定グローバルIPアドレス) ipsec ike local id 3 0.0.0.0/0 ipsec ike nat-traversal 3 on ipsec ike pfs 3 on ipsec ike pre-shared-key 3 text (DRGの2つ目の事前共有鍵) ipsec ike remote address 3 (DRGの2つ目のグローバルIPアドレス) ipsec ike remote id 3 0.0.0.0/0 tunnel enable 3 |
VPN(IPsec)の設定 (共通項目) |
ipsec auto refresh on |
注釈1:
VPN(IPsec)に関係するパケットを通過させる設定です。
注釈2:
本設定例では、VPNの冗長化も考慮して、OCIとヤマハルーターとを2本のトンネルで接続しています。
両トンネルともアクティブで、OCIからルーターに流れるパケットは、OCI側で負荷分散されます。
ご相談・お問い合わせ