目的
私たちの目的は、内部およびリモートのyumリポジトリへのアクセスを設定することですが、それらの一部はプロキシサーバーの背後にあります。
オペレーティングシステムとソフトウェアのバージョン
- オペレーティングシステム:Red Hat Enterprise Linux 7.5
要件
システムへの特権アクセス
難易度
簡単
規約
- # –指定されたLinuxコマンドは、rootユーザーとして直接、または
sudo
を使用して、root権限で実行する必要があります。 コマンド - $ –通常の非特権ユーザーとして実行されるLinuxコマンドを指定
はじめに
企業環境では、セキュリティと説明責任の両方のためにインターネットアクセスを制限するのが一般的です。これは多くの場合、ある種の認証後にインターネットへのアクセスを可能にするプロキシサーバーを使用し、それらを通過するすべてのトラフィックを検査してログに記録することによって実現されます。このようにして、会社は、たとえば、企業システム内で大混乱を引き起こすウイルスをダウンロードした従業員(または少なくともそれを行うために盗まれた資格情報を持っている従業員)を見つけるか、トラフィックをフィルタリングして、有名な有害なサイトへのアクセスを防ぐことができます従業員の機器を保護するため。
ただし、他の種類のインターネットアクセスが必要な場合もあります。システム管理者は、サーバーを最新の状態に保つためにソフトウェアの更新が必要です。 yum
を設定すると、このトラフィックもプロキシを通過できます。 プロキシを使用します。しかし、LAN内にあるため、この設定では到達できない内部リポジトリについてはどうでしょうか。問題のマシンがデスクトップであり、ブラウジングにも使用されている場合、この設定をどこに配置しますか? RedHatLinuxで考えられるいくつかのユースケースを設定する方法を見てみましょう。
チュートリアルの設定
このチュートリアルでは、環境内のプロキシが proxy.foobar.com
であると想定しています。 、ポート 8000
でサービスを提供 、および他の世界へのアクセスを許可するには、単純なユーザー名/パスワード認証が必要です。有効な資格情報はfoouser
です ユーザー名およびsecretpass
として パスワードとして。プロキシは完全に異なる場合があり、パスワードやユーザー名さえ必要ない場合があります。これは、プロキシの構成によって異なります。
アドホック接続トラフプロキシ
コマンドラインからパッケージをダウンロードしたり、構成を完了する前に接続をテストしたりするなど、プロキシを介して1回接続する必要がある場合は、プロキシ関連の変数を現在のコマンドラインセッションにエクスポートできます。
$ export http_proxy=http://foouser:[email protected]:8000
https_proxy
を設定できます 同じように変数。
セッションを終了するまで、または unset
エクスポートされた変数、<code> http (または https
)トラフィックはプロキシに接続しようとします– yum
によって生成されたトラフィックを含みます 。 これにより、有効なプロキシユーザー名とパスワードがユーザーの履歴に表示されることに注意してください! これは、履歴ファイルにアクセスできる他のユーザーが読み取ることを目的としていない機密情報である可能性があります。
すべてのトラフィックはプロキシを使用しています
システム全体が連絡を取るためにプロキシを使用する必要がある場合は、 / etc / profile
にプロキシを設定できます。 、または別のファイルの変数を /etc/profile.d
にドロップします ディレクトリなので、これらの設定は1か所で変更するだけで済みます。これには使用例があるかもしれませんが、この場合、すべてのトラフィックがプロキシを介して試行されるため、ブラウザはプロキシを介して内部ページに到達しようとすることにも注意してください。
ワンタイムプロキシ接続で設定したのと同じ環境変数を設定し、起動時にのみ設定するため、すべてのユーザーセッションがこれらの変数を「継承」することに注意してください。
プロキシシステム全体を設定する必要がある場合は、 / etc / profile
に以下を追加します。 または/etc/profile.d
の下にある別のファイル ディレクトリ、お気に入りのテキストエディタを使用:
export http_proxy=http://foouser:[email protected]:8000
export https_proxy=http://foouser:[email protected]:8000
これらはユーザーレベルごとに設定することもできます(たとえば、 .bash_profile
)、その場合、それらはその特定のユーザーにのみ適用されます。同じように、ユーザーはこれらの変数に新しい値を追加することで、これらのシステム全体の設定を上書きできます。
このチュートリアルのリマインダーでは、 yum
に焦点を当てます。 リポジトリが構成されているため、システム全体のプロキシ設定がないか、必要ないと想定しています。これは、マシンを閲覧しているユーザーがインターネットにアクセスするためにプロキシを使用する必要がある場合でも意味があります。
たとえば、デスクトップのユーザーは独自の資格情報を使用する必要があり、複数のユーザーが特定のデスクトップにアクセスできる場合があります。ただし、管理者がすべてのクライアントデスクトップで展開を実行する場合(おそらく中央管理システムを使用)、インストールは yum
によって実行されます。 システムレベルのトラフィック専用のクレデンシャルが必要になる場合があります。プロキシ接続に使用されるユーザーのパスワードが変更された場合、正しく機能するには構成を更新する必要があります。
すべてのリポジトリは外部にあります
私たちのシステムはプロキシを介してデフォルトのRedHatリポジトリに到達し、内部リポジトリはありません。一方、ネットワークを使用する他のプログラムは、プロキシを必要とせず、使用する必要もありません。この場合、 yum
を設定できます /etc/yum.conf
に次の行を追加して、プロキシを使用してすべてのリポジトリにアクセスします 特定のマシンのグローバルyumパラメータを保存するために使用されるファイル:
proxy=http://proxy.foobar.com:8000
proxy_username=foouser
proxy_password=secretpass
この場合、この構成はパスワードの変更でも機能しなくなることに注意してください。リポジトリレベルでオーバーライドが設定されていない場合、追加された新しいリポジトリはプロキシを介して到達します。
一部のリポジトリは外部にあります
外部リポジトリと内部リポジトリが同時に存在する場合、セットアップは少し複雑になる可能性があります。たとえば、サーバーが企業プロキシを使用してオープンインターネット経由でベンダーのリポジトリに到達でき、同時に内部リポジトリにアクセスする必要がある場合などです。社内で開発およびパッケージ化された、厳密に社内で使用するためのソフトウェアを含むリポジトリ。
この場合、リポジトリごとに設定を変更する必要があります。最初に、前のセクションで説明したように、外部のすべてのリポジトリとしてyumのプロキシをグローバルに設定します。内部リポジトリの場合は、 /etc/yum.repos.d
の下にある外部リポジトリを含む各ファイルを開きます。 ディレクトリを作成し、 proxy =_none _
を追加します 内部リポジトリ設定へのパラメータ。例:
結論
プロキシはセキュリティと説明責任を提供しますが、時には私たちの生活を困難にする可能性があります。利用可能なツールの計画と知識があれば、システムをプロキシと統合して、プロキシ設定に準拠した方法で、意図したすべてのデータに到達できるようにすることができます。
多くのシステムが企業ファイアウォールの外側の同じリポジトリに到達する必要がある場合は、常にこれらのリポジトリをローカルにミラーリングし、多くの帯域幅を節約し、クライアントのインストールまたはアップグレードをローカルネットワークの外側の世界から独立させることを検討してください。エラーが発生しやすくなります。マシンのミラーリングでプロキシ設定を設定し、他のすべてのマシンを少なくとも yum
からパブリックインターネットから切り離すことができます。 視点。オープンソースと有料フレーバーの両方で、この機能を提供する中央管理ソリューションがあります。