1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle Cloud: Cloudに配置したProxy経由でオンプレミスからInternet接続してみてみた

Last updated at Posted at 2021-02-05

Cloud接続されたInternetアクセスできないオンプレミスの閉域環境で、Webコンソール接続したいことがあります。
ということで、Oracle Cloud へProxyサーバーを配置して、オンプレミスとCloudを閉域接続(Private Network接続)した環境をつくり、Mac Bookから OCI Webコンソール接続してみてみます。
そして、OCIコンソール接続に必要なドメイン *.oracle.com と *.oraclecloud.com 以外は接続できないように Whitelist を Proxyサーバーへ設定します。

#■ 環境
NW構成3.png
ここでは、 Proxyサーバーインストールと Private DNSサーバー設定を行ます。
その他の IPSec VPN, Compute Instanceなど事前に上記図のように作成し、オンプレミスとOCI COmputeを疎通できるようにしておきます。
・参考: IPSec VPN: Oracle Cloud: NEC IXルーターを冗長構成でIKEv2 IPSec VPN接続してみてみた

#■ Proxyサーバー設定
Proxyサーバーとしてsquidをインストールします

##● Squid設定

[opc@tokyo-inst01 ~]$ sudo yum install -y squid
	読み込んだプラグイン:langpacks, ulninfo
	ol7_UEKR5                                                                                                          | 2.8 kB  00:00:00
	ol7_addons                                                                                                         | 2.8 kB  00:00:00
	ol7_developer                                                                                                      | 2.8 kB  00:00:00
	ol7_developer_EPEL                                                                                                 | 3.4 kB  00:00:00
	ol7_ksplice                                                                                                        | 2.8 kB  00:00:00
	ol7_latest                                                                                                         | 3.4 kB  00:00:00
	ol7_optional_latest                                                                                                | 2.8 kB  00:00:00
	ol7_software_collections                                                                                           | 2.8 kB  00:00:00
	(1/10): ol7_UEKR5/x86_64/updateinfo                                                                                |  52 kB  00:00:00
	(2/10): ol7_developer/x86_64/primary_db                                                                            | 688 kB  00:00:00
	(3/10): ol7_UEKR5/x86_64/primary_db                                                                                | 9.8 MB  00:00:00
	(4/10): ol7_latest/x86_64/updateinfo                                                                               | 3.1 MB  00:00:00
	(5/10): ol7_ksplice/primary_db                                                                                     | 1.4 MB  00:00:00
	(6/10): ol7_optional_latest/x86_64/updateinfo                                                                      | 1.2 MB  00:00:00
	(7/10): ol7_optional_latest/x86_64/primary_db                                                                      | 5.3 MB  00:00:00
	(8/10): ol7_developer_EPEL/x86_64/primary_db                                                                       |  13 MB  00:00:00
	(9/10): ol7_latest/x86_64/primary_db                                                                               |  30 MB  00:00:00
	(10/10): ol7_software_collections/x86_64/primary_db                                                                | 5.5 MB  00:00:00
	依存性の解決をしています
	--> トランザクションの確認を実行しています。
	---> パッケージ squid.x86_64 7:3.5.20-17.el7_9.5 を インストール
	--> 依存性の処理をしています: squid-migration-script のパッケージ: 7:squid-3.5.20-17.el7_9.5.x86_64
	--> 依存性の処理をしています: perl(Digest::MD5) のパッケージ: 7:squid-3.5.20-17.el7_9.5.x86_64
	--> 依存性の処理をしています: perl(Data::Dumper) のパッケージ: 7:squid-3.5.20-17.el7_9.5.x86_64
	--> 依存性の処理をしています: perl(DBI) のパッケージ: 7:squid-3.5.20-17.el7_9.5.x86_64
	--> 依存性の処理をしています: libltdl.so.7()(64bit) のパッケージ: 7:squid-3.5.20-17.el7_9.5.x86_64
	--> 依存性の処理をしています: libecap.so.3()(64bit) のパッケージ: 7:squid-3.5.20-17.el7_9.5.x86_64
	--> トランザクションの確認を実行しています。
	---> パッケージ libecap.x86_64 0:1.0.0-1.el7 を インストール
	---> パッケージ libtool-ltdl.x86_64 0:2.4.2-22.el7_3 を インストール
	---> パッケージ perl-DBI.x86_64 0:1.627-4.el7 を インストール
	--> 依存性の処理をしています: perl(RPC::PlServer) >= 0.2001 のパッケージ: perl-DBI-1.627-4.el7.x86_64
	--> 依存性の処理をしています: perl(RPC::PlClient) >= 0.2000 のパッケージ: perl-DBI-1.627-4.el7.x86_64
	---> パッケージ perl-Data-Dumper.x86_64 0:2.145-3.el7 を インストール
	---> パッケージ perl-Digest-MD5.x86_64 0:2.52-3.el7 を インストール
	--> 依存性の処理をしています: perl(Digest::base) >= 1.00 のパッケージ: perl-Digest-MD5-2.52-3.el7.x86_64
	---> パッケージ squid-migration-script.x86_64 7:3.5.20-17.el7_9.5 を インストール
	--> トランザクションの確認を実行しています。
	---> パッケージ perl-Digest.noarch 0:1.17-245.el7 を インストール
	---> パッケージ perl-PlRPC.noarch 0:0.2020-14.el7 を インストール
	--> 依存性の処理をしています: perl(Net::Daemon) >= 0.13 のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
	--> 依存性の処理をしています: perl(Net::Daemon::Test) のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
	--> 依存性の処理をしています: perl(Net::Daemon::Log) のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
	--> 依存性の処理をしています: perl(Compress::Zlib) のパッケージ: perl-PlRPC-0.2020-14.el7.noarch
	--> トランザクションの確認を実行しています。
	---> パッケージ perl-IO-Compress.noarch 0:2.061-2.el7 を インストール
	--> 依存性の処理をしています: perl(Compress::Raw::Zlib) >= 2.061 のパッケージ: perl-IO-Compress-2.061-2.el7.noarch
	--> 依存性の処理をしています: perl(Compress::Raw::Bzip2) >= 2.061 のパッケージ: perl-IO-Compress-2.061-2.el7.noarch
	---> パッケージ perl-Net-Daemon.noarch 0:0.48-5.el7 を インストール
	--> トランザクションの確認を実行しています。
	---> パッケージ perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 を インストール
	---> パッケージ perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 を インストール
	--> 依存性解決を終了しました。

	依存性を解決しました

	==========================================================================================================================================
	Package                                  アーキテクチャー        バージョン                            リポジトリー                 容量
	==========================================================================================================================================
	インストール中:
	squid                                    x86_64                  7:3.5.20-17.el7_9.5                   ol7_latest                  3.1 M
	依存性関連でのインストールをします:
	libecap                                  x86_64                  1.0.0-1.el7                           ol7_latest                   21 k
	libtool-ltdl                             x86_64                  2.4.2-22.el7_3                        ol7_latest                   48 k
	perl-Compress-Raw-Bzip2                  x86_64                  2.061-3.el7                           ol7_latest                   32 k
	perl-Compress-Raw-Zlib                   x86_64                  1:2.061-4.el7                         ol7_latest                   57 k
	perl-DBI                                 x86_64                  1.627-4.el7                           ol7_latest                  801 k
	perl-Data-Dumper                         x86_64                  2.145-3.el7                           ol7_latest                   47 k
	perl-Digest                              noarch                  1.17-245.el7                          ol7_latest                   22 k
	perl-Digest-MD5                          x86_64                  2.52-3.el7                            ol7_latest                   29 k
	perl-IO-Compress                         noarch                  2.061-2.el7                           ol7_latest                  259 k
	perl-Net-Daemon                          noarch                  0.48-5.el7                            ol7_latest                   50 k
	perl-PlRPC                               noarch                  0.2020-14.el7                         ol7_latest                   35 k
	squid-migration-script                   x86_64                  7:3.5.20-17.el7_9.5                   ol7_latest                   50 k

	トランザクションの要約
	==========================================================================================================================================
	インストール  1 パッケージ (+12 個の依存関係のパッケージ)

	総ダウンロード容量: 4.6 M
	インストール容量: 14 M
	Downloading packages:
	(1/13): libecap-1.0.0-1.el7.x86_64.rpm                                                                             |  21 kB  00:00:00
	(2/13): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm                                                             |  32 kB  00:00:00
	(3/13): libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm                                                                     |  48 kB  00:00:00
	(4/13): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm                                                              |  57 kB  00:00:00
	(5/13): perl-Data-Dumper-2.145-3.el7.x86_64.rpm                                                                    |  47 kB  00:00:00
	(6/13): perl-DBI-1.627-4.el7.x86_64.rpm                                                                            | 801 kB  00:00:00
	(7/13): perl-Digest-1.17-245.el7.noarch.rpm                                                                        |  22 kB  00:00:00
	(8/13): perl-Digest-MD5-2.52-3.el7.x86_64.rpm                                                                      |  29 kB  00:00:00
	(9/13): perl-IO-Compress-2.061-2.el7.noarch.rpm                                                                    | 259 kB  00:00:00
	(10/13): perl-Net-Daemon-0.48-5.el7.noarch.rpm                                                                     |  50 kB  00:00:00
	(11/13): perl-PlRPC-0.2020-14.el7.noarch.rpm                                                                       |  35 kB  00:00:00
	(12/13): squid-migration-script-3.5.20-17.el7_9.5.x86_64.rpm                                                       |  50 kB  00:00:00
	(13/13): squid-3.5.20-17.el7_9.5.x86_64.rpm                                                                        | 3.1 MB  00:00:00
	------------------------------------------------------------------------------------------------------------------------------------------
	合計                                                                                                       36 MB/s | 4.6 MB  00:00:00
	Running transaction check
	Running transaction test
	Transaction test succeeded
	Running transaction
	インストール中          : perl-Data-Dumper-2.145-3.el7.x86_64                                                                      1/13
	インストール中          : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                                                               2/13
	インストール中          : perl-Digest-1.17-245.el7.noarch                                                                          3/13
	インストール中          : perl-Digest-MD5-2.52-3.el7.x86_64                                                                        4/13
	インストール中          : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                                                              5/13
	インストール中          : perl-IO-Compress-2.061-2.el7.noarch                                                                      6/13
	インストール中          : libtool-ltdl-2.4.2-22.el7_3.x86_64                                                                       7/13
	インストール中          : libecap-1.0.0-1.el7.x86_64                                                                               8/13
	インストール中          : perl-Net-Daemon-0.48-5.el7.noarch                                                                        9/13
	インストール中          : perl-PlRPC-0.2020-14.el7.noarch                                                                         10/13
	インストール中          : perl-DBI-1.627-4.el7.x86_64                                                                             11/13
	インストール中          : 7:squid-migration-script-3.5.20-17.el7_9.5.x86_64                                                       12/13
	インストール中          : 7:squid-3.5.20-17.el7_9.5.x86_64                                                                        13/13
	検証中                  : 7:squid-migration-script-3.5.20-17.el7_9.5.x86_64                                                        1/13
	検証中                  : perl-Net-Daemon-0.48-5.el7.noarch                                                                        2/13
	検証中                  : perl-Data-Dumper-2.145-3.el7.x86_64                                                                      3/13
	# should be allowed
	検証中                  : perl-Digest-MD5-2.52-3.el7.x86_64                                                                        4/13
	objectstorage.us-ashburn-1.oraclecloud.com
	検証中                  : libecap-1.0.0-1.el7.x86_64                                                                               5/13
	検証中                  : libtool-ltdl-2.4.2-22.el7_3.x86_64                                                                       6/13
	検証中                  : perl-IO-Compress-2.061-2.el7.noarch                                                                      7/13
	# Example rule allowing access from your local networks.
	検証中                  : 7:squid-3.5.20-17.el7_9.5.x86_64                                                                         8/13
	#
	# Recommended minimum configuration:
	#

	# Example rule allowing access from your local networks.
	# Adapt to list your (internal) IP networks from where browsing
	# should be allowed
	acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
	acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

	acl SSL_ports port 443
	acl Safe_ports port 80          # http
	acl Safe_ports port 21          # ftp
	acl Safe_ports port 443         # https
	acl Safe_ports port 70          # gopher
	acl Safe_ports port 210         # wais
	acl Safe_ports port 1025-65535  # unregistered ports
	acl Safe_ports port 280         # http-mgmt
	acl Safe_ports port 488         # gss-http
	acl Safe_ports port 591         # filemaker
	acl Safe_ports port 777         # multiling http
	acl SSL_ports port 1522     # Autonomous Database
	acl CONNECT method CONNECT

	/312

	検証中                  : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64                                                              9/13
	検証中                  : perl-Digest-1.17-245.el7.noarch                                                                         10/13
	検証中                  : perl-DBI-1.627-4.el7.x86_64                                                                             11/13
	検証中                  : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64                                                              12/13
	検証中                  : perl-PlRPC-0.2020-14.el7.noarch                                                                         13/13

	インストール:
	squid.x86_64 7:3.5.20-17.el7_9.5

	依存性関連をインストールしました:
	libecap.x86_64 0:1.0.0-1.el7                  libtool-ltdl.x86_64 0:2.4.2-22.el7_3   perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
	perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7   perl-DBI.x86_64 0:1.627-4.el7          perl-Data-Dumper.x86_64 0:2.145-3.el7
	perl-Digest.noarch 0:1.17-245.el7             perl-Digest-MD5.x86_64 0:2.52-3.el7    perl-IO-Compress.noarch 0:2.061-2.el7
	perl-Net-Daemon.noarch 0:0.48-5.el7           perl-PlRPC.noarch 0:0.2020-14.el7      squid-migration-script.x86_64 7:3.5.20-17.el7_9.5

	完了しました!

##● squid.conf 設定

  1. 既存ファイル退避
[root@tokyo-inst01 opc]# cp /etc/squid/squid.conf /etc/squid/squid.conf.org
  1. squid.conf 設定
[root@tokyo-inst01 ~]# vi /etc/squid/squid.conf
[root@proxy-inst01 ~]# cat /etc/squid/squid.conf
	#
	# Recommended minimum configuration:
	#

	# Example rule allowing access from your local networks.
	# Adapt to list your (internal) IP networks from where browsing
	# should be allowed
	acl localnet src 192.168.0.0/16	# RFC1918 possible internal network

	acl SSL_ports port 443

	# Squid normally listens to port 3128
	http_port 3128

	# Wite List
	acl whitelist dstdomain "/etc/squid/whitelist"
	http_access allow whitelist
  1. whitelistファイル設定
    OCI コンソール接続のためのドメイン以下4つを登録
[root@proxy-inst01 ~]# vi /etc/squid/whitelist
[root@proxy-inst01 ~]# cat /etc/squid/whitelist
	.oracle.com
	.oraclecloud.com
	dc.oracleinfinity.io
	consent.trustarc.com
  1. squid再読み込み
[root@proxy-inst01 ~]# squid -k reconfigure
  1. squid 再起動
[root@proxy-inst01 ~]# service squid restart
	Redirecting to /bin/systemctl restart squid.service
  1. squid稼働確認
[root@tokyo-inst01 opc]# systemctl status squid.service
	● squid.service - Squid caching proxy
	Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
	Active: active (running) since 金 2021-02-05 06:32:25 GMT; 8s ago
	Process: 23681 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS)
	Process: 23675 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
	Main PID: 23683 (squid)
		Tasks: 3
	Memory: 15.2M
	CGroup: /system.slice/squid.service
			├─23683 /usr/sbin/squid -f /etc/squid/squid.conf
			├─23685 (squid-1) -f /etc/squid/squid.conf
			└─23686 (logfile-daemon) /var/log/squid/access.log

	2月 05 06:32:25 tokyo-inst01 systemd[1]: Starting Squid caching proxy...
	2月 05 06:32:25 tokyo-inst01 squid[23683]: Squid Parent: will start 1 kids
	2月 05 06:32:25 tokyo-inst01 squid[23683]: Squid Parent: (squid-1) process 23685 started
	2月 05 06:32:25 tokyo-inst01 systemd[1]: Started Squid caching proxy.

##● Firewalld設定
Squid使用Port 3128 を通すように設定

  1. 3128/tcp 開放
[root@proxy-inst01 ~]# firewall-cmd --permanent --add-port=3128/tcp
    success
  1. firewalld 再起動
[root@proxy-inst01 ~]# systemctl restart firewalld
  1. firewalld 正常起動確認
[root@proxy-inst01 ~]# systemctl status firewalld
	● firewalld.service - firewalld - dynamic firewall daemon
	Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
	Active: active (running) since 金 2021-02-05 15:08:27 GMT; 8s ago
		Docs: man:firewalld(1)
	Main PID: 5493 (firewalld)
	Memory: 23.1M
	CGroup: /system.slice/firewalld.service
			└─5493 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid

	2月 05 15:08:27 proxy-inst01 systemd[1]: Starting firewalld - dynamic firewall daemon...
	2月 05 15:08:27 proxy-inst01 systemd[1]: Started firewalld - dynamic firewall daemon.
  1. 設定Port確認
[root@private-inst02 squid]# firewall-cmd --list-ports
	3128/tcp

#■ Private DNS設定

##● Private DNS エンドポイントIP作成

  1. 対象VCNアクセス
    Proxyサーバー配置したVCNへアクセスし、画面にある「DNSリゾルバのVCN」をクリック
    03.DNS01.png

  2. エンドポイント画面
    [エンドポイントの作成]をクリック
    03.DNS02.png

  3. エンドポイントの作成画面

以下項目を入力し、[エンドポイントの作成]をクリック

・名前: エンドポイント名を設定
・サブネットの選択:Private DNSエンドポイントを配置するSubnetを選択
・エンドポイント・タイプ: ここでは[リスニング]を選択
・リスニングIPアドレス: Private DNSエンドポイントIPを設定

03.DNS03.png

  1. エンドポイント作成確認
    エンドポイントが作成されたことを確認
    03.DNS04.png

#■ オンプレミス Mac Book設定

##● Network設定
Mac Bookへ OCIの DNSと Proxyサーバーを設定

  1. システム環境設定 画面
    ネットワークをクリック
    06_MacBookーNW設定00.png

  2. DNS 画面
    ProxyサーバーのIPアドレスを設定
    06_MacBookーNW設定01.png

  3. プロキシ画面
    HTTPSをチェックし、
    保護されたWebプロキシサーバー: ProxyサーバーのIPアドレス, Port番号3128を設定
    06_MacBookーNW設定02.png

##● Proxy Server接続確認

[mac-book: ~]# ping 10.0.0.11 -c 3
	PING 10.0.0.11 (10.0.0.11): 56 data bytes
	64 bytes from 10.0.0.11: icmp_seq=0 ttl=62 time=8.027 ms
	64 bytes from 10.0.0.11: icmp_seq=1 ttl=62 time=60.485 ms
	64 bytes from 10.0.0.11: icmp_seq=2 ttl=62 time=8.567 ms

	--- 10.0.0.11 ping statistics ---
	3 packets transmitted, 3 packets received, 0.0% packet loss
	round-trip min/avg/max/stddev = 8.027/25.693/60.485/24.603 ms

##● OCI Private DNS接続確認

  1. nslookup確認
    Serverが Proxy Serverアドレスでgoogle.comなどへ名前解決できることを確認
[mac-book: ~]# nslookup google.com
	Server:		10.0.1.254
	Address:	10.0.1.254#53

	Non-authoritative answer:
	Name:	google.com
	Address: 216.58.197.174

#■ OCIコンソール Proxy接続確認

##● oracle.com 以外接続不可能確認
Safariブラウザで、google.comなどへ接続でず、"プロキシサーバーに接続できません"と表示されることを確認
08_Browserアクセス05.png

##● OCIコンソール接続確認

  1. https://cloud.oracle.com接続
    https://cloud.oracle.com へ接続しエラーなく接続できることを確認
    08_Browserアクセス01.png

  2. OCIコンソール ログイン完了
    08_Browserアクセス02.png

#■ 参考
 ・Announcing Oracle Cloud Infrastructure Private DNS
 ・Private DNS

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?