Cloud接続されたInternetアクセスできないオンプレミスの閉域環境で、Webコンソール接続したいことがあります。
ということで、Oracle Cloud へProxyサーバーを配置して、オンプレミスとCloudを閉域接続(Private Network接続)した環境をつくり、Mac Bookから OCI Webコンソール接続してみてみます。
そして、OCIコンソール接続に必要なドメイン *.oracle.com と *.oraclecloud.com 以外は接続できないように Whitelist を Proxyサーバーへ設定します。
#■ 環境
ここでは、 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 設定
- 既存ファイル退避
[root@tokyo-inst01 opc]# cp /etc/squid/squid.conf /etc/squid/squid.conf.org
- 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
- 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
- squid再読み込み
[root@proxy-inst01 ~]# squid -k reconfigure
- squid 再起動
[root@proxy-inst01 ~]# service squid restart
Redirecting to /bin/systemctl restart squid.service
- 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 を通すように設定
- 3128/tcp 開放
[root@proxy-inst01 ~]# firewall-cmd --permanent --add-port=3128/tcp
success
- firewalld 再起動
[root@proxy-inst01 ~]# systemctl restart firewalld
- 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.
- 設定Port確認
[root@private-inst02 squid]# firewall-cmd --list-ports
3128/tcp
#■ Private DNS設定
##● Private DNS エンドポイントIP作成
以下項目を入力し、[エンドポイントの作成]をクリック
・名前: エンドポイント名を設定
・サブネットの選択:Private DNSエンドポイントを配置するSubnetを選択
・エンドポイント・タイプ: ここでは[リスニング]を選択
・リスニングIPアドレス: Private DNSエンドポイントIPを設定
#■ オンプレミス Mac Book設定
##● Network設定
Mac Bookへ OCIの DNSと Proxyサーバーを設定
##● 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接続確認
- 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などへ接続でず、"プロキシサーバーに接続できません"と表示されることを確認
##● OCIコンソール接続確認
-
https://cloud.oracle.com接続
https://cloud.oracle.com へ接続しエラーなく接続できることを確認
#■ 参考
・Announcing Oracle Cloud Infrastructure Private DNS
・Private DNS