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

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

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

 

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

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

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

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

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

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

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

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

 

他ネタ

OracleCloud サイト間VPN (IPsec)をLinuxで接続しよう

OracleCloud サイト間VPN (IPsec)を 業務用ルーター F60 で接続しよう

OracleCloud サイト間VPN (IPsec)を 業務用ルーター RTX810 で接続しよう

OracleCloud サイト間VPN (IPsec)を 業務用ルーター SiR G110B で接続しよう

OracleCloud サイト間VPN (IPsec)を 業務用ルーター IX2105 で接続しよう

OCI上のインスタンスで、libreswan使ったVPNサーバーを作ろう

 


ということで、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