【Linux】プロキシサーバソフト [1] ~ Squid / 初期設定編 ~

■ はじめに

 * プロキシサーバ構築のために、Squidを導入する
 * プロキシについては、以下の関連記事を参照のこと。
https://blogs.yahoo.co.jp/dk521123/37051264.html

Squid

 * Squid(スクウィッド) = イカ(由来は以下のサイトを参照)
https://www.ossnews.jp/oss_info/Squid
 * プロキシサーバソフト
 * オープンソース(フリー)

機能

 * リバース・フォワードプロキシ
 * 認証
  + LDAP認証
  + Basic認証
  + Digest認証
  + NTLMドメイン認証(Windowsドメイン認証)

などなど
認証方式
http://squid.robata.org/proxy_auth.html
http://squid.robata.org/faq_23.html

公式サイト

http://www.squid-cache.org/

補足:Windows版について

 * 以下の関連記事を参照のこと


■ 環境構築

 * OS : CentOS7

はまりポイント

[1] ファイアウォールを開けているか
[2] 起動し忘れ(systemctl start squid

インストール

# インストール
sudo yum -y install squid

# バージョン確認
squid -v
 => 「Squid Cache: Version 3.5.20」
Debian系の場合
sudo apt-get install squid3

起動

 * 起動する(systemctl start squid
起動確認 / 開始 / 停止
# 起動確認
systemctl status squid

# 開始
systemctl start squid

# 停止
systemctl stop squid
自動起動確認 / 自動起動開始 / 自動起動停止
# 自動起動確認
systemctl is-enabled squid

# 自動起動開始
systemctl enable squid

# 自動起動停止
systemctl disable squid

ファイアウォールの設定

# ファイアウォールが有効か?(「active (running)」なら以下を実行)
systemctl status firewalld

sudo firewall-cmd --add-service=squid --zone=public --permanent

sudo firewall-cmd --reload

動作確認

[1] アクセスログに対して、tail を実行する
sudo tail -f /var/log/squid/access.log

[2] IEChrome などのブラウザからプロキシの設定を行う
 => 以下を設定
  + アドレス:【プロキシサーバのIPアドレス】
  + ポート :3128

# 以下を参考に...
https://pc-karuma.net/internet-explorer-proxy-settings/
[3] ブラウザで「yahoo.co.jp」をアクセスする
 => [1] に「yahoo.co.jp」のログが出力されたらOK

■ 補足

ファイルの格納場所

【設定ファイル】
 * /etc/squid/squid.conf
 ~~~
 sudo vi /etc/squid/squid.conf
 ~~~

 * ファイルを反映するには以下のコマンドを実行
 ~~~
 systemctl reload squid
 ~~~

 * 設定ファイル「squid.conf」の文法チェックには以下のコマンドを実行
 ~~~
 # 文法チェック
 sudo squid -k check

 # 設定ファイルのリロード(既存セッションに影響なく反映可能)
 squid -k reconfigure
 ~~~

【ログファイル】
 * /var/log/squid/access.log ... アクセスログ
 ~~~
 sudo tail -f /var/log/squid/access.log
 ~~~

 * /var/log/squid/cache.log  ... デバッグログ
Debian系の場合
sudo tail -f /var/log/squid3/access.log

任意設定 : アクセスログのフォーマットを変える

デフォルトのアクセスログだと時間が分かりづらいので変更する
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh
access_log /var/log/squid/access.log combined
参考文献
https://blog.trippyboy.com/2011/squid2-6/squid2-6-access-log%E3%82%92apahce%E3%81%AEaccess_log%E9%A2%A8%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/


関連記事

プロキシサーバソフト [2] ~ Squid / Basic認証編 ~

https://blogs.yahoo.co.jp/dk521123/36962466.html

プロキシサーバソフト [3] ~ Squid / SSLプロキシ構築編 ~

https://blogs.yahoo.co.jp/dk521123/36958786.html

プロキシサーバソフト [4] ~ Squid / 設定ファイル編 ~

https://blogs.yahoo.co.jp/dk521123/37053190.html

Squid に関するトラブルシュート

https://blogs.yahoo.co.jp/dk521123/37044650.html

Windows環境におけるプロキシソフト ~ Squid for Windows編 ~

https://blogs.yahoo.co.jp/dk521123/37224453.html

【ネットワーク】プロキシ (Proxy)

https://blogs.yahoo.co.jp/dk521123/37051264.html

Linux】【Debian】パッケージ管理 ~ プロキシ経由でapt系コマンドを実行するには... ~

https://blogs.yahoo.co.jp/dk521123/37045638.html