LoginSignup
1
2

More than 1 year has 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

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

3) 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

4) squid再読み込み

[root@proxy-inst01 ~]# squid -k reconfigure

5) squid 再起動

[root@proxy-inst01 ~]# service squid restart
    Redirecting to /bin/systemctl restart squid.service

6) 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

2) firewalld 再起動

[root@proxy-inst01 ~]# systemctl restart firewalld

3) 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.

4) 設定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

4) エンドポイント作成確認
エンドポイントが作成されたことを確認
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