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

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

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

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

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

解決済

VirtualboxでLVSを使った負荷分散web構成を構築するときに、ホストオンリーアダプターが繋がっているとクライアントに通信が戻ってこないのはなぜでしょうか。

takashi31
takashi31

総合スコア4

CentOS

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

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。

1回答

-1評価

0クリップ

142閲覧

投稿2022/05/02 01:41

編集2022/05/06 08:43

構成

VirtualboxのCentOS7でLVSを使って以下のような負荷分散web構成を構築しています。
※LVSサーバは一台のみなのでVIPは使用せずホストオンリーアダプターのアドレスを流用しています。
イメージ説明

問題・質問内容

LVSの設定とリアルサーバのhttpd設定をしてwebアクセスをするとページが表示されず、tcpdumpでリアルサーバのパケットキャプチャをしたところ、きちんと負荷分散はされてリアルサーバに届いているようですが、送信元に応答を返していないことがわかりました。

リアルサーバのログ(内部ネットワーク(enp0s9))
[root@centos7-web1 ~]# tcpdump -ni enp0s9 -e port 80 09:30:10.695422 08:00:27:fb:a5:fc > 08:00:27:e1:5a:91, ethertype IPv4 (0x0800), length 66: 192.168.56.1.64837 > 172.16.0.22.http: Flags [S], seq 860246530, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 09:30:10.695432 08:00:27:fb:a5:fc > 08:00:27:35:69:13, ethertype IPv4 (0x0800), length 66: 192.168.56.1.64838 > 172.16.0.33.http: Flags [S], seq 918242140, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 09:30:10.937128 08:00:27:fb:a5:fc > 08:00:27:e1:5a:91, ethertype IPv4 (0x0800), length 66: 192.168.56.1.64840 > 172.16.0.22.http: Flags [S], seq 3418898159, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 09:30:11.686764 08:00:27:fb:a5:fc > 08:00:27:e1:5a:91, ethertype IPv4 (0x0800), length 66: 192.168.56.1.64837 > 172.16.0.22.http: Flags [S], seq 860246530, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 09:30:11.686779 08:00:27:fb:a5:fc > 08:00:27:35:69:13, ethertype IPv4 (0x0800), length 66: 192.168.56.1.64838 > 172.16.0.33.http: Flags [S], seq 918242140, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 09:30:11.938155 08:00:27:fb:a5:fc > 08:00:27:e1:5a:91, ethertype IPv4 (0x0800), length 66: 192.168.56.1.64840 > 172.16.0.22.http: Flags [S], seq 3418898159, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 クライアントに応答を返したログが見当たらない

引き続き調査したところ、リアルサーバのホストオンリーアダプターのアドレス宛にも通信を行っている事が分かり、リアルサーバのホストオンリーアダプターを止めて、経路を一つにしてみるとクライアントに応答が返ってくるようになり、webページが表示されました。

ホストオンリーアダプターが繋がっているとリアルサーバが応答を返さないのはなぜでしょうか。それともホストオンリーアダプターが繋がっていること自体が問題ではなく、複数の通信経路があったことが原因なのでしょうか・・・。どなたかお分かりになる方がいらっしゃいましたらご教示いただきたいです。

環境

■Windows
Windows10 pro 21H2
■Virtualbox
Virtualbox 6.1.14 r140239
■CentOS
CentOS Linux release 7.9.2009 (Core)
■LVS
ipvsadm-1.27-8.el7
■Apache
httpd-2.4.6-97.el7

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

CentOS

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

TCP

TCP(Transmission Control Protocol)とは、トランスポート層のプロトコルで、コネクション型のデータサービスです。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

負荷分散

負荷分散とは、並列に運用されている機器間でできる限り負担が均等になるように、処理を分散し割り当てることです。 負荷分散は専用機器の使用、DNSサーバの設定、サーバに負荷分散ソフトウェアを導入することで実現できます。