はじめに
突然ですが、実務でネットワークの知識が不足していることに気づきました。社内環境では一部でLinuxのプロキシサーバーとしてSquidを採用しており、これを自宅環境で構築し、検証できると考えました。
今回の構築後のアクセス検証として、Windows 10端末からYahoo!のサイトにアクセスし、そのアクセスログが取得できるか確認することをゴールとします。
前提条件
・VirtualBox上で稼働しているAlmaLinux(CentOSの後継)を採用
・VirtualBox上で稼働しているWindows 10端末(評価版)を使用
・プロキシのミドルウェアとしてSquidを使用
自宅のVirtualBox環境
※検証で使うのは「proxy」と「Windows10」になります。
全体像および自宅検証環境
今回の構成は、左側のクライアントと明示型のプロキシサーバーの構築と設定を行います。
クライアントPCでYahoo!のサイトにアクセスした際、自宅環境のプロキシサーバーを経由して、インターネットにアクセスできることを検証します。
引用画像:https://www.gate02.ne.jp/media/it/column_107/
プロキシサーバー
VirtualBox:AlmaLinux release 9.3 (Shamrock Pampas Cat)
ミドルウェア:Squid Cache: Version 5.5
Windows 10端末(評価版)
エディション:Windows 10 Enterprise
バージョン:22H2
OSビルド:19045.2006
知識整理
必要な知識については、詳しいサイトが多数ありますので、公式サイトと併せてご紹介します。
VirtualBoxについて
詳細サイト: https://www.kagoya.jp/howto/it-glossary/server/virtualbox/
公式サイト: https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html
AlmaLinuxについて
詳細サイト: https://www.designet.co.jp/ossinfo/almalinux/
公式サイト: https://almalinux.org/ja/
Windows 10 評価版について
詳細サイト: https://4thsight.xyz/53938
公式サイト: https://www.microsoft.com/ja-jp/evalcenter/evaluate-windows-10-enterprise
プロキシサーバーについて
詳細サイト: https://www.ntt.com/bizon/glossary/j-h/proxy-server.html
Squidについて
詳細サイト: https://qiita.com/zabuton13/items/bbe5f540f7536fa95eae
公式サイト: https://www.squid-cache.org/
構築の流れ
VirtualBoxの導入などのステップ1〜3の作業はここでは割愛しますが、上記の参考サイトなどを見ながらご自身の端末へのセットアップをお願いします。
今回は、ステップ4から本ブログで紹介します。
ステップ1:VirtualBoxの導入(ここでは割愛)
ステップ2:VirtualBoxにAlmaLinuxサーバーを1台構築(ここでは割愛)
ステップ3:VirtualBoxにWindows 10端末(評価版)を1台構築(ここでは割愛)
ステップ4:AlmaLinuxサーバーにSquidを導入・設定
ステップ5:Windows 10端末のセットアップ
ステップ4:AlmaLinuxサーバーにSquidを導入・設定
AlmaLinuxサーバーにSquidを導入して設定する為、システムを最新の状態にします。
sudo yum update -y
次に、Squidをインストールします。
sudo yum install squid -y
Squidの設定ファイルは/etc/squid/squid.confにあります。このファイルを編集して、プロキシサーバーの設定を行います。
sudo vi /etc/squid/squid.conf
以下の設定例に従って、ネットワーク環境に合わせて設定します。
設定例:
http_port 3128
acl localnet src 192.168.0.0/16 # ご自身のローカルネットワーク範囲を指定
http_access allow localnet
設定ファイルを保存したら、Squidサービスを再起動し、自動起動を有効化します。
sudo systemctl restart squid
sudo systemctl enable squid
次に、Squidが使用するポート(デフォルトは3128)をファイアウォールで開放します。
sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload
ステップ5:Windows 10端末のセットアップ
セットアップ手順は、以下の通りとなります。
・スタートメニューから「設定」を開き、「ネットワークとインターネット」をクリック→左側のメニューから「プロキシ」を選択
・「手動プロキシ設定を使用する」を「オン」に切り替え→「プロキシサーバー」にAlmaLinuxサーバーのIPアドレスとポート番号(デフォルトは3128)を入力して保存
例:
アドレス:(ご自身のAlmaLinuxのIPアドレス)
ポート:3128
稼働確認
稼働確認の方法として、Windows 10端末からYahoo!のサイトにアクセスし、プロキシサーバー側のアクセスログに記録されているか確認します。
なお、パケットキャプチャを取得してWiresharkで解析することも検討しましたが、Windows 10端末が評価版かつ割り当てているメモリなどのスペックが低いため、動作がもっさりしており断念しました。
Windows 10端末
Windows 10端末のIPアドレスは以下の通りです。
無事Yahoo!のサイトにアクセスできていることを確認できました。
プロキシサーバー側のアクセスログ
以下のコマンドでリアルタイムでログを解析し、grepコマンドで「yahoo」に関するアクセスのみフィルタリングしています。
プロキシサーバー側のログにも、Windows 10端末の「10.0.1.2」のIPアドレスのログが残っていることを確認できました。
tail -f /var/log/squid/access.log | grep yahoo
まとめ
Squidプロキシサーバーの設定が無事に機能していることを確認できました。Windows 10端末からのアクセスが正しくプロキシサーバーを経由していることを、実際のアクセスログでしっかりと確認できたので、今回の構築は成功と言えそうです。
プロキシサーバーの動作確認もこれでばっちりですね!
参考記事