質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Squid

Squidは、TCP/IPネットワークでのユーザーとサーバの通信を中継するオープンソースのプロキシサーバソフト。リバースプロキシやキャッシュサーバとして使用することも可能です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Q&A

解決済

1回答

16006閲覧

squidのホワイトリストでIPを指定する記述方法

ayamiya0713

総合スコア6

Squid

Squidは、TCP/IPネットワークでのユーザーとサーバの通信を中継するオープンソースのプロキシサーバソフト。リバースプロキシやキャッシュサーバとして使用することも可能です。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

0グッド

1クリップ

投稿2020/08/05 14:53

編集2020/08/05 20:29

squid.conf

1acl SSL_ports port 443 2acl Safe_ports port 80 # http 3# acl Safe_ports port 21 # ftp 4acl Safe_ports port 443 # https 5# acl Safe_ports port 70 # gopher 6# acl Safe_ports port 210 # wais 7# acl Safe_ports port 1025-65535 # unregistered ports 8# acl Safe_ports port 280 # http-mgmt 9# acl Safe_ports port 488 # gss-http 10# acl Safe_ports port 591 # filemaker 11# acl Safe_ports port 777 # multiling http 12 13 14acl CONNECT method CONNECT 15 16acl client1 src <クライアントIP> 17 18http_access deny !Safe_ports 19 20http_access deny CONNECT !SSL_ports 21 22http_access allow localhost manager 23http_access deny manager 24 25http_access allow client1 26http_access allow localhost 27http_access deny all 28 29# Squid listens to port 30http_port 8080 31 32# ParentProxySetting 33cache_peer <親プロキシのPrivateIP> parent 8080 0 no-query 34 35acl whitelist dstdomain "/etc/squid/whitelist" 36 37 38cache_peer_access <親プロキシのプライベートIP> allow whitelist 39cache_peer_access <親プロキシのプライベートIP> deny all 40never_direct allow all 41 42# Uncomment and adjust the following to add a disk cache directory. 43# cache_dir ufs /var/spool/squid 100 16 256 44# cache_mem 256MB 45 46# Leave coredumps in the first cache dir 47coredump_dir /var/spool/squid 48 49no_cache deny all 50 51# 52# Add any of your own refresh_pattern entries above these. 53# 54refresh_pattern ^ftp: 1440 20% 10080 55refresh_pattern ^gopher: 1440 0% 1440 56refresh_pattern -i (/cgi-bin/|?) 0 0% 0 57refresh_pattern . 0 20% 4320 58 59logformat squid [%{%Y/%m/%d.%H:%M:%S}tl] %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt 60 61#logrotate setting 62

whitelist

1.cman.jp 2.directcloud.jp 3www.air-japan.jp 4216.58.220.142

squidのホワイトリストで、サイトのURLではなくIPを許可したいのですが、どのように記述すればいいのでしょうか。
試しにgoogleのIP(216.58.220.142)をそのまま記述してみたのですが、うまくいきませんでした。

ご存知の方、ご教授いただければ幸いです。

追記します。多段プロキシ構成となっており、主なホワイトリスト制限は子プロキシでかけるため、子プロキシの設定ファイルを記述しております。また、上手くいかないのはwhitelistのIPで記述した箇所のみであり、それ以外のサブドメインなどで記述したものは適用されています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2020/08/05 14:59

試した設定(acl, http_access など)を教えてください。
ayamiya0713

2020/08/05 20:15 編集

squid.confの中身を一部ぼかしてありますが、記述しました。ただ、whitelistに記述してあるその他のサイト(サブドメインでの許可)は問題なく適用されており、適用されないのはIPで記述した箇所のみなので、記述形式の問題だと思っております。
hentaiman

2020/08/05 23:16 編集

プロフィール見たんで回答する前に確認したいんだけど、そこら辺のconfの設定のコピペとかじゃなくてsquidそのものの書き方は調べましたか?公式サイトのマニュアルやmanを確認するとかしましたかって意味で。素人は素人の書いたサイトのconfコピペとかで済ますのかもしれないけど多分それじゃあ職業的に困るだろうと思ってのコメントです。 さらにいうなら、それらを調べればすぐに答えが見つかると思ったので。
ayamiya0713

2020/08/06 00:28

hentaimanさん 返信ありがとうございます。 http://www.squid-cache.org/Versions/v3/3.5/cfgman/acl.html 上記のサイトを見て、 ”acl aclname dstdomain [-n] .foo.com ... #URLからの宛先サーバー[高速] # #dstdomainおよびdstdom_regexの場合、IPの場合、逆引きが試行されます” と記述してあったので、IPもドメインと同じファイルの中に記述していいものだと思っていました。 もし見ているページが間違っていたら、ご教授いただければ幸いです。 また、アドバイスいただき、ありがとうございます。今まで個人のブログなどを参照して構築することが多かったので、これからは公式のマニュアルを読むよう、気を付けたいと思います。
hentaiman

2020/08/06 01:15

見てるとこは問題ない あと失礼、dstじゃないとダメだと思ったがそしたらとりあえずdstで制御出来るかを確認し、それでもダメならリストに記載してあるIPがGoogleのものでは無いという事です 調べればgoogleが使ってるIPのCIDR表記も見つかるのでそれを全部当てましょう
hentaiman

2020/08/06 01:26

今時個人ブログ見なくても公式にサンプルあるからね 全てがダメという訳ではないしqiita何かも玉石混交で、出典や参考情報として公式マニュアルの特定の個所を明記しているものなら問題無いだろうとは思いますよ
ayamiya0713

2020/08/07 02:21

hentaimanさん アドバイスありがとうございました。 これからインフラエンジニアとして力をつけるために、まず、公式のマニュアルを参考にする癖をつけたいと思います。
guest

回答1

0

ベストアンサー

宛先IPアドレスは acl タイプ dstdomain ではなく、dst です。
また、1つの acl 名 "whitelist" で複数の acl タイプを設定することはできませんので、それぞれ acl 名を設定し、cache_peer_access を複数設定するか、acl を any-of でまとめます。

(cache_peer_access 複数設定の場合) acl whitelist_dstdomain dstdomain .cman.jp acl whitelist_dstdomain dstdomain .directcloud.jp acl whitelist_dstdomain dstdomain www.air-japan.jp acl whitelist_dst dst 216.58.220.142 cache_peer_access <親プロキシのプライベートIP> allow whitelist_dstdomain cache_peer_access <親プロキシのプライベートIP> allow whitelist_dst cache_peer_access <親プロキシのプライベートIP> deny all
(acl を any-of でまとめる場合) acl whitelist_dstdomain dstdomain .cman.jp acl whitelist_dstdomain dstdomain .directcloud.jp acl whitelist_dstdomain dstdomain www.air-japan.jp acl whitelist_dst dst 216.58.220.142 acl whitelist any-of whitelist_dstdomain whitelist_dst cache_peer_access <親プロキシのプライベートIP> allow whitelist cache_peer_access <親プロキシのプライベートIP> deny all

外部ファイルにするのであれば、acl any-of までをまるごと include で読み込むか、dstdomain と dst で別のファイルにします。

投稿2020/08/06 02:19

TaichiYanagiya

総合スコア12173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ayamiya0713

2020/08/07 02:21

回答ありがとうございます。 dstdomainで逆引きはできても、IPとドメインを同じドキュメントに記述してはいけなかったんですね。無事、適用させることができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問