最初に
オラクルクラウドでもグーグルクラウドでも無料のインスタンスで結構色々できるという事を目にして試してみました。
最初、作成ウィザードに沿ってCentOS8のインスタンスを作成し、squidをインストールして、設定した場合どうしてもfirewalldが動いていると通信ができず、VCN(仮想ネットワーク)のセキュリティリストの設定を変えても通信ができませんでした。
最終的に、Oracle Linuxでうまくいきましたので、手順を載せておきます。
また、内容的にLinuxの基本的操作が出来ることが前提の内容になっていますのでご注意ください。
※2021年9月27日時点の情報ですので、今後変わる可能性があります。
Oracle Cloudに無料のプロキシをたてる
手順1:VCNの作成
インスタンスを作る際に、VCNも自動で作成されますが、それを利用すると何故か上手く行かなかったので先にVCNを作成しておきます。
画面左上のハンバーガーメニューから
ネットワーキング → 仮想クラウド・ネットワーク → 「VCNウィザードの起動」をクリック
「インターネット接続性を持つVCNの作成」を選んでVNCの名称を入力して作成。
作成したVCNをクリックし、イングレス・ルールに「ソース:0.0.0.0/0」、「IPプロトコル:TCP」、「宛先ポート範囲:squidで使用するポート番号」を入力します。
これでVCNは作成完了です。
手順2:インスタンス作成
左上のハンバーガーメニューから
コンピュート → インスタンス → インスタンスの作成を選び仮想マシンを作成します。
デフォルトで以下の状態だと思いますが、変更すること無くデフォルトで使用します。
(Always Free表示が出ていることを確認してください。)
OS:Oracle Linux
CPU:VM.Standard.E2.1.Micro(AMDのCPU)
インスタンス作成ウィザード中、VCNの部分が手順1で作成したVCNが自動で割当てられていることを確認してください。
ログイン方法等を選択し、作成完了です。
私は「SSHキーの追加」で「秘密キーの保存」を選び、teratermでsshする方法を取りました。
手順3:squidのインストール&設定
お好きな方法でインスタンスにログインしてください。
●ログイン後以下のコマンドでsquidとhttpd-toolsをインストール
・ポート番号を変更(手順1でVCNに指定したポート番号に変更)
・BASIC認証ダイアログを出すために以下をコメントアウト
# And finally deny all other access to this proxy
http_access deny all ←これを #でコメントアウト
・プロキシサーバーであることを隠す設定をファイル末尾に追加
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
forwarded_for off
・BASIC認証の設定をファイル末尾に追加
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 5 hours
acl password proxy_auth REQUIRED
http_access allow password
New password: パスワード
Re-type new password: パスワード
sudo firewall-cmd –add-port=ポート番号/tcp –zone=public –permanent
sudo firewall-cmd –reload・確認
sudo firewall-cmd –list-all
ports部分に開放したポート番号/tcpの表示が出ればOK
sudo systemctl restart firewalld
sudo systemctl status firewalld