AWSの勉強をしていたのですが、何故か、実務では、OCIを使うことになってしまいました。

まー、どっちもクラウド環境だし、似たり寄ったりしてるので、良いのですが

ということで、今回は、オラクルクラウドねたです。

 

OCIって、使うまで存在さえ知らなかったんですが、使ってみるとAWS程、高機能では無いですが、それなりに使えるやつです。

AWSと決定的に違うのは、無料枠が多いことですかね。

AWSだと外向き(エグレス)のネット代金をむしり取られますが、OCIは、無料です。

さらに今回のネタのipsecも無料なんですよね。

むちゃしそうな人が現れそうですが、無料なんですよ。

後、Arm系インスタンスの無料枠が大きくって、正直、借りてた仮想サーバーを一掃してしまう勢いです。

後発ということで頑張っているんでしょうが、永年無料でお願いしたいものです。

と前置きは、こんなとこで


ということで、ipsecなんですが、家のネットとクラウドをプライベートネットワークで接続しようという方は、そんなにいないと思うのですが、お勉強がてらにやってみたいぜと思う人は、いらっしゃるのではないかと思います。

前にJCOM ipv6の為にER-Xを使っていたのですが、NUROにしたので、使っていなかったんですね。

そこで、今回、ipsecで、VPN引くのに最適だったので使ってみました。

まず、前提として、我が家は、NURO光なんで、なぞの光ルーター(SGP200W)内に設置する必要があります。

こいつは、高度な設定が出来ないので、かなりの困り者なんですよ。

基本、OCIのipsecは、エンドポイントIPv4しか対応していません。

 

1.

SGP200WにIPv4 UDPの穴を空ける必要があるので、転送ルールにER-Xへ向けて、UDP 500と4500を追加しましょう。

やり方がわからない方は、chatGPTにでも尋ねて下さい。

 

2.

OCIで、ipsecの設定を行います。

仮想クラウド・ネットワークとサブネットは、適当に作っておいて下さい。

ネットワーキングメニューから、顧客接続性を選択します。

顧客構内機器(自分家の装置のこと)を選択すると、CPE(ER-Xのこと)の作成が出来るので、作成します。

ここで重要なのは、Public IPだけです。後は、適当で良さそうです。

名前は、適当  ベンダーは、OtherでOK

Public IPは、自分家のIPになるので、SGP200WのグローバルIPとなります。

 

3.

ネットワーキングメニュー - 顧客接続性から、動的ルーティング・ゲートウェイを選択し、作成します。

こいつは、仮想クラウド・ネットワークで、良い感じにルーテングしてくれる論理ルーターです。

作成後、使う仮想クラウド・ネットワークを選択する必要があるので、繋げたいサブネットが存在する仮想クラウド・ネットワークにアタッチする必要があります。

仮想クラウド・ネットワーク・アタッチメントの作成を押下して、仮想クラウド・ネットワークを選択します。

 

4.

ネットワーキングメニュー - 顧客接続性から、サイト間VPNを選択します。

いよいよipsecを作成します。

Create IPSec connectionを押下します。

コンパートメント(OCI作成時に決定)、顧客構内機器(2.で作成)、動的ルーティング・ゲートウェイ(3.で作成)を選択します。

今回、BGP動的ルーティングで行いますよ。

トンネルは、冗長性を考慮して2つ作らされちゃいます。

トンネル1

IKE:Version1

BGP ASN:65001

IPv4トンネル内インタフェース - CPE:10.99.98.1/30

IPV4トンネル内インタフェース - Oracle:10.99.98.2/30

トンネル2

IKE:Version1

BGP ASN:65001

IPv4トンネル内インタフェース - CPE:10.99.99.1/30

IPV4トンネル内インタフェース - Oracle:10.99.99.2/30

拡張オプションのDiffie-Hellmanグループを確認しておいて下さい。たぶん、GROUP5になっているはずです。

作成完了すると、各トンネルの共有シークレットが発行されるので、これを記録しておきましょう。

BGPを使うので、Oracle BGP ASNを記録しておきましょう。

それと、各トンネルのエンドポイントIPv4アドレス(Oracle VPN IP address)を記録しましょうね。

今回、NATルーター内とのipsecとなるので、ちょっと識別子に変更が必要なのです。

作成したサイト間VPNを編集し、CPE IKE Identifier typeをIPアドレス、CPE IKE 識別子をER-Xのローカルアドレス(192.168.0.2)にして下さい。

 

5.

ER-X(EdgeRouter X v2.0.9-hotfix.6)の設定

こっちは、GUIでほぼ出来ないので、コマンドかConfig Treeで行います。

設定した後は、リブートして下さい。

  • IKE
    set vpn ipsec ike-group vcn1-ike proposal 1 dh-group 5
    set vpn ipsec ike-group vcn1-ike proposal 1 encryption aes128
    set vpn ipsec ike-group vcn1-ike proposal 1 hash sha1
    
  • ESP
    set vpn ipsec esp-group vcn1-esp proposal 1 encryption aes128
    set vpn ipsec esp-group vcn1-esp proposal 1 hash sha1
    
  • IPSec
    • トンネル1
      set vpn ipsec site-to-site peer 168.44.44.5 authentication mode pre-shared-secret
      set vpn ipsec site-to-site peer 168.44.44.5 authentication pre-shared-secret qevnCDkljdfasfdjioPIFG65460fdsfsd89sdiojksdafafdsaiojsdaf6540f5S
      set vpn ipsec site-to-site peer 168.44.44.5 ike-group vcn1-ike
      set vpn ipsec site-to-site peer 168.44.44.5 local-address 192.168.0.2
      
    • トンネル2
      set vpn ipsec site-to-site peer 168.33.33.8 authentication mode pre-shared-secret
      set vpn ipsec site-to-site peer 168.33.33.8 authentication pre-shared-secret vdfs580dsfsdfklsdfa50FDHhrt80dfSDAFdf490fdjhdfdsfHDFg94980dfffQ6
      set vpn ipsec site-to-site peer 168.33.33.8 ike-group vcn1-ike
      set vpn ipsec site-to-site peer 168.33.33.8 local-address 192.168.0.2
      
  • VTI
    • トンネル1
      set interfaces vti vti0 address 10.99.98.1/30
      set vpn ipsec site-to-site peer 168.44.44.5 vti bind vti0
      set vpn ipsec site-to-site peer 168.44.44.5 vti esp-group vcn1-esp
      
    • トンネル2
      set interfaces vti vti1 address 10.99.99.1/30
      set vpn ipsec site-to-site peer 168.33.33.8 vti bind vti1
      set vpn ipsec site-to-site peer 168.33.33.8 vti esp-group vcn1-esp
      
    • BGP
      set protocols bgp 65001
      set protocols bgp 65001 neighbor 10.99.98.2 remote-as 31294
      set protocols bgp 65001 neighbor 10.99.98.2 ebgp-multihop 100
      set protocols bgp 65001 neighbor 10.99.98.2 update-source '10.99.98.1'
      set protocols bgp 65001 neighbor 10.99.99.2 remote-as 31294
      set protocols bgp 65001 neighbor 10.99.99.2 ebgp-multihop 100
      set protocols bgp 65001 neighbor 10.99.99.2 update-source '10.99.99.1'
      set protocols bgp 65001 network 192.168.0.0/24
      set protocols bgp 65001 parameters default local-pref 200

  • Offload
    set system offload ipsec enable
    

 

ER-Xのアドレス(192.168.0.2)は、環境によって変更して下さい。

通知する自分家のネットワークは、192.168.0.0/24 ですので、環境に合わせて変更して下さい。

これで、OCI側からのインスタンスとかからは、自分家のネッワークへルーティングが出来るようになります。

しかし、自分家のパソコンとかは、OCI側のネットワークをER-Xを経由するように設定する必要があるので、デフォルトルーテイングをER-Xにするか静的ルーティングするように設定しないと双方向通信出来ませんから。そういうのは、chatGPTに聞いて下さいね。

 

気になるパフォーマンスは、だいたい 180Mbps というぐらいでしょうか。


おまけネタです。

 

ipsecで、プライベートで接続する時に、DNSを相互に連携したいですよね

そういう時は、DNSリゾルバのエンドポイントを作ることで可能なんですが

なぜか、IPv6を割り当てたサブネットでは構築出来ないんですよ。

Internal Server Errorとかってなって作れません。

Oracleさん、治して下さいね

 

Joomla templates by a4joomla