ここでは Squid を使用して CentOS 8 にプロキシサーバーを立てる方法を説明します。
Squidとは、プロキシサーバーを利用できるオープンソースのフリーソフトウェアです。Squidはさまざまな用途に使えますが、今回はフォワードプロキシについて説明します。

フォワードプロキシとは、クライアント(Webブラウザ)がインターネット上のWebサーバーなどに接続する際に中継する機能です。
例えば、企業で社内LANから外部のインターネットに接続する際にプロキシサーバーを通すことで、やり取りされるデータをチェックして不正な通信がないか監視することができます。
その他にも、あなたのパソコンからWebサイトに接続する際に、プロキシサーバーを中継させることで、接続元IPアドレスの匿名性を確保し、サイバー攻撃を受けるリスクを低減させ、セキュリティを強化できます。
目次 [非表示]
VPS上にプロキシサーバーを構築
プロキシサーバー用のファイアーウォールを設定します
はじめにKAGOYA CLOUD のコントロールパネルからプロキシサーバー用のファイアーウォールを設定するために、以下の画面を開きます。
◇コントロールパネル > KVM > セキュリティ > セキュリティグループ
https://vps.kagoya.com/#/kvm/security_group
セキュリティグループ一覧が表示されます

「セキュリティグループ追加」をクリックします。
セキュリティグループの設定画面が開きます。

セキュリティグループ名には任意の名前を入力します。
SSH接続(22番ポート)を許可するために次の項目を入力します。(入力例)
プロトコル | 「TCP」 |
---|---|
IP | アクセス元のIPアドレスを指定します。 |
ポート | 「22」 |
設定欄下の「追加(+)」をクリックし、プロキシサーバーへの接続を許可するIPアドレスと、任意のポート番号(※ ここでは 8080 を指定します)を許可します。

入力例
プロトコル | 「TCP」 |
---|---|
IP | プロキシサーバーへの接続を許可するIPアドレスを指定します。 |
ポート | 「8080」 |
登録をクリックします。
CentOS 8 のインスタンスを作成
CentOS 8 でインスタンスを作成します。
今回は以下のスペックを選択します。
企業名 | カゴヤ・ジャパン |
---|---|
プラン名 | KAGOYA CLOUD VPS |
CPU | 1コア |
メモリー | 1GB |
ストレージ | SSD 100GB |
OSテンプレート | CentOS8(64bit) |
料金 | 日額20円/月額550円(年額6,072円) |
◇コントロールパネル > KVM > インスタンス
https://vps.kagoya.com/#/kvm/server
インスタンス一覧が表示されます。

「インスタンス作成」をクリックします。
インスタンス作成画面が開きます。

任意のスペックを選択します。 今回の例では最小スペックで十分なので、 1コア/1GB のスペックを設定しました。
パッケージは、CentOS 8 を選択します。

ログイン認証キーを選択します。
※ 未作成の場合はログイン認証キーを追加してください(ログイン用認証キー作成)。
セキュリティグループは先ほど追加したプロキシサーバー用のセキュリティグループを選択します。

その他必須項目を入力し、「インスタンス作成」をクリックします。
squid (プロキシサーバー)の構築
squid のインストール
はじめに CentOS のパッケージを最新の状態にします。
1 | # dnf update |
squid をインストールします。
1 | # dnf -y install squid |
squid の設定
squid の設定ファイルを編集します。
1 | # vi /etc/squid/squid.conf |
一般的なローカル接続の設定例をコメントアウトし、プロキシサーバーへの接続を許可するIPアドレスを任意のACL(アクセス制御リスト)名で設定します。
※ もともとの記述内容から変更・追記する部分を赤字で記載しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # # 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 172.16.0.0/12 # RFC1918 possible internal network #acl localnet src 192.168.0.0/16 # RFC1918 possible internal network #acl localnet src fc00::/7 # RFC 4193 local private network range #acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines # 許可するIPアドレスを記載 acl accesslist src 203.0.113.10/32 |
IPアドレスの部分は、セキュリティで設定した、接続クライアントのIPアドレスを入力します。
※ IPアドレス末尾の /32 の部分はIPアドレスの範囲を指定しています。 /32 は1個のIPアドレスを指定します。( /24 だと256個の指定になります。)
一般的なローカル接続の許可設定をコメントアウトし、設定したACL(アクセス制御リスト)からのアクセスを許可します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # # Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed #http_access allow localnets #http_access allow localhost http_access allow accesslist # And finally deny all other access to this proxy http_access deny all # Squid normally listens to port 3128 http_port 8080 |
任意のポート番号を指定します(ここでは先の手順のファイアーウォールで許可したポート 8080 を指定します)。
プロキシサーバーの匿名性を高めたい場合は、設定ファイルの一番最後に以下を追記します。
1 2 3 4 5 6 7 8 9 10 | # 任意のホスト名 visible_hostname unknown # 接続端末のIPを隠蔽 forwarded_for off # リクエストヘッダのプロキシ情報を隠蔽 header_access X-Forwarded-For deny all header_access Via deny all header_access Cache-Control deny all |
設定ファイルの編集内容を保存します。
squid の起動
squidを起動する前に、 firewalld の設定を行います。
1 2 3 4 5 6 | # firewalld-cmd --add-port=8080/tcp success ##成功した場合の表示 # firewall-cmd --list-ports 8080/tcp ##追加したものが表示される ## firewalldを再起動 # systemctl restart firewalld.service |
squidを起動します。
1 | # systemctl start squid |
自動起動設定を追加します。
1 | # systemctl enable squid |
状態を確認します。
1 | # systemctl status squid.service |
クライアント(Webブラウザ)からの接続をプロキシサーバー経由に設定~Google Chrome の場合~
画面右上のメニューから設定を開きます。

下の「詳細設定」をクリックします。

システムの中の「プロキシ設定を開く」をクリックします。

「インターネットのプロパティ」が開きます。

「接続」タブを開き、「LANの設定」ボタンをクリックします。
「LANにプロキシサーバーを使用する」にチェックします。

次の項目を入力します。
アドレス | プロキシサーバーを構築したインスタンスのIPアドレスを入力します。 |
---|---|
ポート | プロキシサーバーのポート番号 ※ここでは先ほど設定した8080を入力します。 |
https://support.kagoya.jp/kir/manual/ip/
「接続元IPアドレス」としてプロキシサーバーのIPアドレスが表示されれば成功です。
お疲れ様です。これでインターネットアクセスの際は一度プロキシサーバーを経由することになるので、アクセス元のIPアドレスを知られる可能性が激減しました。
開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS
カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。
