Help us understand the problem. What is going on with this article?

Centos7でsquidを立てる

More than 3 years have passed since last update.

外部サーバにプロキシを立てる必要に迫られたのでメモ。

まとめ

  • squidでプロキシサーバを立ち上げ、そこ経由でWebにアクセスできる
    • 内部ネットではなく、外部ネットから見たときの挙動確認とかに便利
  • yumで5~10分程度で構築できる
  • Cenos7だとiptablesではなくfirewalldを使うのが主流(?)

インストール

yumで入ります。
yum -y install squid

設定変更

適度に自分の環境に合わせて設定します。
emacs /etc/squid/squid.conf

# デフォルトはほとんどいじらないので省略

# アクセスを許可したいアドレス
# デフォルトでプライベートアドレスはA~Cまで許可済み
# 今回は外部のサーバにWebプロキシを立てるので書く
acl allowadress src x.x.x.x/255.255.255.255
http_access allow allowadress
http_access deny all

# 匿名性をあげる設定
forwarded_for off
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

# Refererを切ると一部のサイトではおかしくなったりするので、
# 匿名プロキシじゃないと困る場合以外は設定しない方が良い
# request_header_access Referer deny all

# サーバのホストネームを入れる
visible_hostname example.com

# ポートを変更(デフォルトは3128)
http_port 12345

# キャッシュさせたくないのでOFF
no_cache deny all

squid起動

service squid start

firewall-cmdの設定

このままだと外部からアクセスできないので、アクセスできるように設定します。
また、Squidが動いていることを知らせない方がより安全なので、指定したアドレスからのみアクセスできるようにします。

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="x.x.x.x" port protocol="tcp" port="12345" accept"
firewall-cmd --reload

その他

以上の手順により、プロキシを使ってアクセスできると思いますが、
うまくいかない場合は以下のように調べると良いと思います。

  • サーバ上でSquidのポートにcurlでアクセス
    • アクセスできなければSquidが動いてない
  • アクセスできたら手元でSquidサーバのポートにcurlでアクセス
    • アクセスできなければポートが開放されていない
  • アクセスできているなら手元のマシンのプロキシ設定がおかしい

また、Webは見られるがたまに特定サイトでSquidのエラー画面が出てくる場合、上記のvisible_hostnameの設定を正しくすることで解決しましたが、確定ではないです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした