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フック関数はルーティングガードを実装します

推薦する

CentOS で RPM を使用して MySQL 5.6 をインストールするチュートリアル

これまでのプロジェクトはすべて Windows システム環境にデプロイされていました。今回は Lin...

MySQL 一時テーブルの簡単な使用法

MySQL 一時テーブルは、一時的なデータを保存する必要がある場合に非常に便利です。一時テーブルは現...

Dockerのデフォルトネットワークセグメントの正しい変更手順

背景同僚がセキュリティ プロジェクトに取り組んでおり、AWS サーバーに秘密兵器を展開する必要があり...

MySQLで最大接続数を達成する方法

目次データベース接続数が急増した理由は何ですか? 1. はじめに2. 知識ポイント3. 練習するIV...

リモート Linux システムでポートが開いているかどうかを確認する 3 つの方法

これは、Linux 管理者だけでなく、私たち全員にとって非常に重要なトピックです。つまり、IT イン...

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリと my-default.ini がなく、サービスが起動できない問題の簡単な解決方法 (問題概要)

私は SQL の初心者で、オープンソースのインストールは非常に簡単だと思っていましたが、その過程でい...

MySQL 8.0 でのチェック制約の実装

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。今回はMySQL 8.0で追...

HTML のブロックレベル要素と行レベル要素、特殊文字、ネスト規則

基本的な HTML Web ページ タグのネスト ルールを紹介する場合、最初に説明する必要があるのは...

XHTML 入門チュートリアル: XHTML Web ページ画像アプリケーション

<br />適度に画像を追加すると、Web ページがより美しくなります。 画像タグ &l...

Linux での tcpdump コマンドの詳細な分析と使用方法

導入簡単に言えば、tcpdump は、ネットワーク上のトラフィックをダンプし、ユーザーの定義に従って...

CSSのマッチング問題を解決する

問題の説明ご存知のとおり、CSS を記述する場合、HTML のクラスの定義または ID の定義に従っ...

CSS の clip-path プロパティの使用方法の詳細な説明

クリップパスの使用ポリゴン値は複数の座標点で構成されます。最初の値は x 方向、2 番目の値は y ...

Tomcat ソースコード起動コンソールの中国語文字化けのデバッグプロセス記録

問題を見つける今日はTomcatのソースコードを勉強するつもりなので、公式サイトからTomcatのソ...

vmware16 仮想マシンに共有フォルダを設定する方法

1. 仮想マシンに共有フォルダを設定します。 1. 処理する仮想マシンを選択し、右クリックして設定...

nginxでgzip圧縮を有効にする手順を完了する

目次序文1. gzip圧縮を設定する2. 詳細設定3. nginxサービスを再起動する要約する序文ウ...