質問編集履歴

1

usephrates

usephrates score 4

2018/12/13 10:37  投稿

download.docker.comからのproxyを介したデータ取得するためのSquid設定を知りたい
お世話になっております。
下記に記載する事で困っております。
有識者の方々、解決案または解析の糸口をご教示頂けますでしょうか。
■概要
ある組織内NWの認証有りProxyを経由したdownload.docker.comへのアクセスが出来ない
■やりたい事
認証有りProxyを通らなければインターネットに接続出来ない環境下(OS:Windows 10 Pro)の端末内にVirturlBoxを入れ、仮想OSとしてCentOS7を入れている。
そこにDocker環境を作成したい。
■前提・凡例・読み替え
▼以降の文で使用する言葉を定義する。
・A:ホスト端末
・B:仮想OS
・C:download.docker.com
▼当該NWでは基本、インターネットへの通信を遮断している。ただし、ホワイトリスト方式によりアクセス出来るドメイン・サイトが存在する。
■可能ならやりたい事
仮想OS上で、yumやgitやcurl等々のproxy設定せずにインターネットにアクセスしたい。
■状況
1. AのIEのProxyの設定で、当該NWのProxyサーバの設定をせずにAのブラウザでCにアクセス出来ない
2. AのIEのProxyの設定で、当該NWのProxyサーバの設定をするとAのブラウザでCにアクセス出来る
3. AのIEのProxyの設定で、後述の設定で起動しているSquidサーバを設定すると、AのブラウザでCにアクセス出来ない。が、異なるサイト(例:Github)にはアクセス出来る。
4. 試しにBで下記コマンドを実施するが失敗する。[3.]が確認出来ていないので、当たり前。
   コマンド:yum install docker-ce
■Squidバージョン
3.5.28
■アクセス失敗:ERR_CONNECTION_TIMED_OUT(Chrome)
download.docker.com
他:hub.docker.com
■Aのプロキシ設定
localhost:3128
設定を自動的に検出する:OFF
セットアップスクリプトを使う:OFF
■squid.conf
```property  
 
***************************************************************************************************************
############
# 接続クライアントのネットワークを指定
# ・localnet:squidを利用するクライアントのネットワークアドレス
############
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
############
# 許可するポートを指定
# ・SSL_ports:httpsで利用するポート
# ・Safe_ports:httpで利用するポート
# ・CONNECT:httpsで利用するメソッド
# ・blacklist:アクセスを拒否するドメインを指定する。/etc/squid/blacklistファイルにテキストで羅列する
############
acl SSL_ports port 443
acl Safe_ports port 80         # http
acl Safe_ports port 21         # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70         # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT
acl docker dstdomain .docker.com # docker.com
############
# 接続クライアントの許可設定
# ※キャッシュマネージャー:squidの統計情報を表示するCGIユーティリティ
# ※http_accessは上から順番に評価されていくので、複雑な設定をする際は評価順を考慮すること。
############
http_access deny !Safe_ports   # Safe_portsで指定したポート以外を拒否
http_access deny CONNECT !SSL_ports # SSL_portsで指定したポート以外を拒否
# キャッシュマネージャーへのアクセスはlocalhostのみ許可
http_access allow manager localhost
http_access deny manager
http_access allow localnet     # localnetで指定したネットワークを許可
http_access allow localhost    # localhostを許可
http_access deny all           # 上記の「http_access」の条件に合致しない場合はすべてのアクセスを拒否
############
# 待ち受けポートを3128に指定
############
http_port 3128
############
# 上位Proxyサーバ設定(認証付き)
# ※書式
#    cache_peer <プロキシサーバアドレス> parent <プロキシサーバ待ち受けポート> <兄弟Proxyサーバ待ち受けポート> proxy-only login=<ID>:<PASS>
############
cache_peer 《プロキシサーバアドレス》 parent 8080 0 no-query proxy-only login=《ドメイン》\《アカウント》:《パスワード》
#always_direct allow docker
#never_direct allow all
#never_direct allow CONNECT
#visible_hostname unknown
#forwarded_for off
############
# ログフォーマット
############
logformat squid %tl %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt
#logformat squid %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt %tl
#logformat squid %d/%b/%Y:%H:%M:%S %z %<st %rm %ru %un %Sh/%<A %mt
dns_v4_first on
dns_nameservers 163.135.193.233 163.135.193.231 163.135.193.232 # この行は絶対必要。
#visible_hostname unkown
#forwarded_for off
#request_header_access X-FORWARDED-FOR deny all
#request_header_access Via deny all
#request_header_access Cache-Control deny all
***************************************************************************************************************
```  
 
■Squidサーバログ(download.docker.comへアクセス・失敗時)
16/Nov/2018:19:10:27 +0900 21082 ::1 TAG_NONE/503 0 CONNECT clients1.google.com:443 - HIER_NONE/- -
16/Nov/2018:19:10:49 +0900 21003 ::1 TAG_NONE/503 0 CONNECT clients1.google.com:443 - HIER_NONE/- -
16/Nov/2018:19:11:12 +0900 21014 ::1 TAG_NONE/503 0 CONNECT clients1.google.com:443 - HIER_NONE/- -
16/Nov/2018:19:11:36 +0900 21020 ::1 TAG_NONE/503 0 CONNECT clients1.google.com:443 - HIER_NONE/- -
16/Nov/2018:19:11:57 +0900 84135 ::1 TAG_NONE/503 0 CONNECT download.docker.com:443 - HIER_NONE/- -
16/Nov/2018:19:12:03 +0900 21027 ::1 TAG_NONE/503 0 CONNECT clients1.google.com:443 - HIER_NONE/- -
16/Nov/2018:19:12:31 +0900 21179 ::1 TAG_NONE/503 0 CONNECT clientservices.googleapis.com:443 - HIER_NONE/- -
16/Nov/2018:19:12:31 +0900   237 ::1 TCP_MISS/403 4662 GET http://clientservices.googleapis.com/chrome-variations/seed? - FIRSTUP_PARENT/《プロキシサーバURL》 text/html
16/Nov/2018:19:12:40 +0900 21028 ::1 TAG_NONE/503 0 CONNECT clients1.google.com:443 - HIER_NONE/- -
  • Docker

    1373 questions

    Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

  • proxy

    182 questions

    proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

  • Red Hat Enterprise

    131 questions

    Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

  • Network+

    62 questions

    Network+とは、IT業界団体CompTIA認定のネットワーク技術に関する知識を証明する資格です。ネットワーク技術者として、実務で必要なネットワークセキュリティ・ネットワークアーキテクチャなどの知識を取得している証明となります。

  • Squid

    31 questions

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る