質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

解決済

1つの仮想サーバ上のSQUIDでの複数IP運用について

chapter
chapter

総合スコア36

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。

1回答

0評価

1クリップ

12072閲覧

投稿2016/05/28 17:47

いつもお世話になっております。

現在、GMO ALTUSにて1つの仮想サーバにSQUIDを導入して
プロキシサーバとして稼働させています。

CentOS 6.4
SQUID 3.1.23

1つのグローバルIPで稼働させていた時は特に問題なく
利用できていたのですが、
このたび複数IPでの運用をしたいと思い、
試行錯誤している状態です。

GMO ALTUS上で、1つの仮想サーバに対して複数IPを割り当てる
方法については、GMOのサイトに記載されていた方法にしたがって、
セカンダリーIPアドレスを追加して、そのローカルIPに対して、
新たに追加したグローバルIPでNATの有効化まで完了しました。

https://support.gmocloud.com/pf/guide/basic/console/nat.html
https://support.gmocloud.com/pf/guide/basic/useful/ip.html

Bash

$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 06:81:84:00:21:24 brd ff:ff:ff:ff:ff:ff inet 172.31.28.67/21 brd 172.31.31.255 scope global eth0 inet 172.31.26.135/20 brd 172.31.31.255 scope global eth0:0 inet6 fe80::481:84ff:fe00:2124/64 scope link valid_lft forever preferred_lft forever

この後、SQUIDで複数IPで運用する方法について、調べた結果として、
試したのが以下になります。

Bash

$ vi /etc/squid/squid.conf # ポートのLISTENにローカルIPを設定 http_port 172.31.28.67:80 http_port 172.31.26.135:80 # aclを記述 acl ip1 myip 172.31.28.67/24 acl ip2 myip 172.31.26.135/24 # outgoingアドレスでグローバルIPを設定 tcp_outgoing_address XXX.XXX.XXX.XX1 ip1 tcp_outgoing_address XXX.XXX.XXX.XX2 ip2

また、「dns_nameservers」の設定も必要という情報があったので、
/etc/resolv.conf に記述されていたIPアドレスを記述しました。

上記を設定した後、SQUIDを再起動させたところ、
起動自体は問題なく完了しました。

しかしながら、プロキシサーバとして接続を試みたところ、
両方のIPアドレスともに以下のようなエラーが発生してしまいました。

ERROR The requested URL could not be retrieved The following error was encountered while trying to retrieve the URL: http://www.cybersyndrome.net/env.cgi ソケット作成に失敗 システムが以下のエラーを返しました: (99) Cannot assign requested address おそらく過大な負荷のため、SquidはTCPソケットを作成できませんでした。再度リクエストしてください。

SQUIDの複数IPでの運用というよりも、別なエラーのようにも思えるので
直接上記のエラーに関するタイトルで質問した方がよいかも知れず、
現在のこのタイトルでの質問で適切か自信がなかったのですが、

1つのIPでの運用時は特に問題はなく、設定を戻してみると正常に繋がるので、
複数IPでの運用のために追加した設定に何らかの不備があると思い、
今回のタイトルで質問させていただきました。

複数IPでの運用方法や上記のエラーに関して、何か解決のヒントになるようなことが
ございましたら、ご教授いただけると助かります。

それでは、よろしくお願いいたします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

プロキシ

プロキシは、二つ以上の相互接続されているプログラム又はデバイスの間に存在する中間サーバを指します。プロキシは、接続者の「代理」としてインターネット接続を行い、接続元にレスポンスを返します。また、その機能を実現するソフトウェアの意味合いもあります。