web-dev-qa-db-ja.com

Ubuntuにプロキシ経由でインターネットへのアクセスを強制する

すべてのインターネットリクエストをキャッシュするためにsquidフォワードプロキシを設定しました。私はパブリックIPを持っていて、ポート3128を開いています。次に、IPアドレスとポート番号を使用して、すべてのインターネット接続がこのプロキシを通過するようにubuntuサーバーを設定する必要があります。

私はubuntuにプロキシ経由でインターネットにアクセスさせるこのコマンドを知っていますが、それは永続的ではないと言われました。

export http_proxy="http://proxy.example.com:8080"

再起動やセッションに関係なく、ubuntuにこのプロキシを強制的に通過させるには、どのコマンドを使用する必要がありますか?

ありがとう

2
jc.yin

/etc/environmentでいくつかの設定を設定 永続化するには、次のようにする必要があります。

  • /etc/environmentファイルをvi(またはお気に入りのエディター)で開きます。このファイルには、起動時に初期化されたシステム全体の変数が格納されます。
  • 次の行を追加し、適切に変更します。 (残念ながら)一部のプログラムはどちらか一方しか検索しないため、大文字と小文字の両方で複製する必要があります。

     http_proxy = http://myproxy.server.com:8080/
    https_proxy= http://myproxy.server.com:8080/
    ftp_proxy= http://myproxy.server.com: 8080/
    no_proxy= "localhost、127.0.0.1、localaddress、.localdomain.com" 
     HTTP_PROXY = http://myproxy.server.com:8080/
    HTTPS_PROXY= http ://myproxy.server.com:8080/
    FTP_PROXY= http://myproxy.server.com:8080/
    NO_PROXY= "localhost、127.0.0.1、localaddress、.localdomain.com 「」 
  • apt-getaptitudeなどは、Sudoで通常使用される場合、環境変数に従いません。したがって、それらを個別に構成します。 95proxies/etc/apt/apt.conf.d/というファイルを作成し、以下を含めます。

     Acquire :: http :: proxy "http://myproxy.server.com:8080/";
    Acquire::ftp::proxy" ftp://myproxy.server.com:8080/ "; 
     Acquire :: https :: proxy "https://myproxy.server.com:8080/"; 

最後に、ログアウトして再起動し、変更が有効になっていることを確認します。

1
donothingloop

提案されたソリューションは、一般的なケースでは機能しません。すべてが環境変数を認識して使用することを前提としています。

これをHTTPで機能させるには、uを「透過プロキシ」に設定する必要があります。これには通常、トラフィックをキャプチャしてリダイレクトするためのIPTABLESNATルールが必要です。これを行う方法については、 ここ をご覧ください。

HTTPSに対して同じことを行うのは実用的ですが、トラフィックを傍受できるように、SQUIDにCAを追加でインストールし、Ubuntuボックスで受け入れる必要があります。

これはFTPでは実用的ではないかもしれません(私は試していません)

1
davidgo