Linux で Squid プロキシ サーバーを構築するための完全な手順

Linux で Squid プロキシ サーバーを構築するための完全な手順

序文

この記事では、Linux で Squid プロキシ サーバーを設定することに関する関連コンテンツを主に紹介します。詳細な紹介を見てみましょう。

実験環境:

イントラネット Web サーバー (およびイントラネット クライアント) として機能する Linux ベースの Web サーバー 202.100.10.100

Linuxシステムはゲートウェイサーバーとして機能し、2つのネットワークカードがあり、ルーティング転送192.168.133.131と202.100.10.1が有効になっています。

Linux ベースの Web サーバーは外部 Web サーバー (および外部クライアント) として機能します 192.168.133.131

実験手順:

1. イントラネット Web サーバー、ゲートウェイ サーバー、およびエクストラネット Web サーバーの IP アドレスを構成し、ゲートウェイのルーティング転送を有効にし、ゲートウェイのファイアウォールをオフにして、イントラネット Web サーバーとエクストラネット Web サーバー間の接続をテストし、相互に通信できることを確認します。

2. イントラネットWebサーバーとエクストラネットWebサーバーのWebサービスをインストールし、サービスを開始して、新しいテストページを作成します。

3. 外部Webサーバーにアクセスするイントラネットクライアントと、イントラネットWebサーバーにアクセスする外部クライアントをテストします。

4. イントラネットクライアントが外部Webサーバーにアクセスする

5. 外部ネットワーククライアントが内部ネットワークのWebサーバーにアクセスする

ファイアウォール SNAT と DNAT

1. イントラネットクライアントが外部Webサーバーにアクセスする

2. 外部ウェブサーバー上のログを表示する

テール -f /var/log/httpd/access_log 

3. ゲートウェイでアドレス変換を設定する

iptables -t nat -A POSTROUTING -s 192.168.133.0/24 -o eth2 -j SNAT --to-source 202.100.10.1

または、iptables -t nat -A POSTROUTING -s 192.168.133.0/24 -o eth2 -j MASQUERADE

4. イントラネット クライアントから外部 Web サーバーに再度アクセスし、外部 Web サーバーをチェックして、ログ ファイルに記録されている IP がイントラネット クライアントの IP ではないことを確認します。

DNAT:

1. ゲートウェイ上で設定し、イントラネット Web サーバーをゲートウェイの外部ネットワーク インターフェイスにマップします。

iptables -t nat -A PREROUTING -i eth2 -d 202.100.10.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.133.131

2. ゲートウェイの外部ネットワークインターフェースIPにアクセスする(実際にはイントラネットWebサーバーにアクセスする)

3. イントラネットウェブサーバーのログファイルを表示する

Squid プロキシサーバー

1. ゲートウェイサーバーでsquidプロキシサーバーを設定し、squidをインストールします。yum install -y squid

1.1 従来のプロキシサーバー

Squidサービスを開始します。service squid start

squid.conf設定ファイルでは、デフォルトですべてのプライベートIPが通過できるため

1.2 イントラネットクライアントにブラウザを設定し、プロキシに参加してテストする

外部サーバーのログ ファイルを確認すると、IP がプロキシ サーバーの IP であることがわかります。

1.3 ゲートウェイサーバーのプロキシサーバーを閉じて再度テストします。次の図は、クライアントがプロキシサーバーを介して外部Webサーバーにアクセスしていることを示しています。

2. 透過プロキシサーバー

2.1 ゲートウェイサーバーで設定し、透過プロキシを設定してキャッシュを有効にします。vim /etc/squid/squid.conf

http_port 192.168.133.130: 3128 透過 #192.168.133.130 はイントラネットインターフェース IP です

キャッシュディレクトリ ufs /var/spool/squid 100 16 256

iptables -t nat -A PREROUTING -i eth1 -s 192.168.133.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128 # -i インターフェースはイントラネットインターフェースです -s はイントラネットセグメントに従います -j は REDIRECT (リダイレクト) に従います

2.2 Squidサービスを再起動し、イントラネットクライアントでテストし、前のテストでブラウザによって設定されたプロキシをキャンセルします。透過プロキシはクライアントで設定する必要はありません。

2.3 外部ウェブサーバー上のログを表示する

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux でパッケージから Docker CE をインストールする方法の詳細な説明
  • Linux に Docker をインストールして使用する方法
  • Linux での Docker のインストールと設定のチュートリアル
  • Linux での Docker のインストールと使用方法のチュートリアル
  • Linux DockerにWordPressをインストールする方法の詳細なチュートリアル
  • Linux で crontab を使用してスケジュールされたタスクを追加する方法
  • Linux のタイムドログ削除を実装する簡単な方法
  • Linuxのアラーム機能の例の説明
  • DockerでMySQLコンテナを作成する簡単な手順
  • LinuxにDockerをインストールする(非常に簡単なインストール方法)

<<:  LinuxにMySQLデータベース5.6のソースコードをインストールし、ログインユーザーのパスワードを変更する

>>:  vue-routerフック関数はルーティングガードを実装します

推薦する

Docker Composeを使用してDOCleverをインストールする詳細なプロセスを説明します

目次1. Docker Composeとは何か、インストールして使用する方法2. DOCleverと...

MySQL の重要なログファイルの包括的なインベントリ

目次導入ログ分類パラメータファイルエラーログファイル完全なログファイルスロークエリログバイナリログフ...

ネイティブ JavaScript メッセージボード

この記事では、参考までにメッセージボードを実装するためのJavaScriptの具体的なコードを紹介し...

Vueは複数のカウントダウンを同時に設定する機能を実装しています

この記事の例では、複数のカウントダウンを同時に設定するためのVueの具体的なコードを参考までに共有し...

JavaScriptオブジェクトをマージするさまざまな方法の詳細な説明

目次オブジェクトをマージするさまざまな方法(インターフェースを通じてデータを取得し、それをローカル ...

KTLツールはMySQLからMySQLへのデータの同期方法を実現します

ktl ツールを使用して、mysql から mysql にデータを同期します。 1. 新しいジョブス...

2015-2016年に主流となるインタラクティブ体験のトレンド

5月の最も重要なインタラクティブデザイン記事!今年、Baiduのデザイナーは体験の観点から出発し、大...

VMware Workstation Pro は Win10 ピュア バージョンのオペレーティング システムをインストールします

この記事では、VMware Workstation Pro で Win10 オペレーティング システ...

CSS変数を使用してスタイルを変更する方法の例

質問js を使用して CSS 疑似クラス スタイルを変更するにはどうすればよいでしょうか?しかし、j...

MySQL msiバージョンのダウンロードとインストールの初心者向けの詳細なグラフィックチュートリアル

目次1. MySQL msiバージョンをダウンロードする2. インストール3. 環境変数を設定する1...

HTML の大なり、小なり、スペース、引用符などでよく使用されるエスケープ コードのリスト。

表は以下のとおりです。 HTMLソースコード結果を表示説明する&lt; <未満記号また...

WeChatアプレット開発の共通機能と使用方法のまとめ

ここでは、主に小さなプログラムの開発プロセスでよく使われる、非常に実用的な機能ポイントをいくつか整理...

CSS フレキシブルレイアウト FLEX、メディアクエリ、モバイルクリックイベントの実装

フレックスレイアウト定義: Flexレイアウトの要素は、 Flex 、または略して「コンテナー」と呼...

Vueパンくずコンポーネントのカプセル化方法

Vueはパンくずコンポーネントをカプセル化して参照します。具体的な内容は次のとおりです。効果を達成す...