3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PCをプロキシにしてオフライン環境のサーバーでapt-getする

Last updated at Posted at 2019-02-11

インターネットに繋がらないオフライン環境のサーバーと、その環境に接続する作業用のインターネットに繋がるPCがあるときに、PCをフォワードプロキシにしてオフライン環境のサーバーでapt-getをする方法のメモ。

Nginxでフォワードプロキシ

(追記)
NginxはCONNECTをサポートしておらず、HTTPSのプロキシができないっぽかったので、Squidに変更。後述。

HomebrewでNginxをインストールする。

brew install nginx

設定ファイルを編集して、3128ポートをプロキシとしてListenさせる。

/usr/local/etc/nginx/nginx.conf
(省略)
    server {
        listen       3128;
        resolver     8.8.8.8;

        location / {
            proxy_pass $scheme://$http_host$request_uri;
        }
    }
(省略)

Nginxを起動する。

# サービスとして起動する場合
brew services start nginx
# 普通に起動する場合
nginx

Squidでフォワードプロキシ

HomebrewでSquidをインストールする。

brew install squid

設定ファイルは/usr/local/etc/squid.confだがデフォルトのままでよい。

Squidを起動する。

# サービスとして起動する場合
brew services start squid
# 普通に起動する場合
squid

SSHポートフォワード

リモートサーバーに接続し、SSHポートフォワーディングでリモートの3128ポートをローカルの3128ポートに転送する。

ssh -R 3128:localhost:3128 user@remote

apt-getの場合は、環境変数でプロキシを有効にできる。

export http_proxy="http://localhost:3128/"
export https_proxy=$http_proxy

以上でオフライン環境からプロキシを使ってapt-getが可能。

# apt-get update
Hit:1 https://download.docker.com/linux/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
Hit:3 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:4 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Fetched 325 kB in 2s (150 kB/s)
Reading package lists... Done
#

補足

sudoapt-getを実行する場合は環境変数が引き継がれないので、環境変数を引き継ぐようにsudoのオプションで-Eを使う。

apt-getではなくaptの場合は環境変数ではなく、/etc/apt/apt.confにプロキシ設定をする。

Acquire::http::Proxy "http://localhost:3128/";
Acquire::https::Proxy "http://localhost:3128/";

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?