CentOs のローカルホストはインターネットに接続しているときのみ動作します

CentOs のローカルホストはインターネットに接続しているときのみ動作します

私はこの問題を 3 か月間 (断続的に) 解決しようとしてきましたが、まだ解決できず、なぜこの問題が発生するのかさえ理解できません。

シナリオ:

{HP 32bit, Windows 7}私のラップトップにはVirtualBoxがインストールされています

この VB では、CentOs 6.5 最小限、Nginx、PHP-FPM を問題なくインストールしました。

つまり、すべてがうまく機能しています。

問題

問題は、locahostインターネットに接続している場合にのみアクセスできることです。

インターネットに接続しているときは、http://192.168.1.100/すべてが機能し、ファイルをindex.html問題なく表示できますが、オフラインになると、インターネットに接続せずに Google にアクセスしようとしているかのように、何も表示されなくなります。

これは私のVbox設定のスクリーンショットです:

ここに画像の説明を入力してください

また、ここに設定があります/etc/sysconfig/network-scripts/ifcfg-eth0:

ここに画像の説明を入力してください

私は以下のことを何度も行いました。

iptables無効/有効で試しました。
ホストのみ、NATブリッジアダプタで試しました。
静的IP、DHCPで試しました。
ネットワークを数回更新しました。

答えはどこかにあると確信しています。まだ完璧なセットアップ構成ではありませんが、いろいろと混ぜ合わせているため、まだうまく動作しません。

答え1

VirtualBox のネットワーク設定では、静的 IP アドレスを使用して CentOS マシンを WiFi ネットワークに「ブリッジ」します。

ノートパソコンの WiFi 接続では固定 IP アドレスは割り当てられません。WiFi に接続していないと、Windows はネットワーク接続を実行できず、CentOS サーバーにアクセスする方法がわかりません。WiFi に接続すると、ルーターが Windows に同じネットワーク上のアドレスを提供し、Windows は CentOS サーバーにアクセスできるようになります。

これらは同じコンピューター上で実行されていますが、別々であり、自動的に相互に通信することはできません。修正するには、何らかの方法でネットワーク設定を変更する必要がありますが、変更方法は実行したい内容によって異なります。

最も簡単な方法は、Windowsのコントロールパネルからネットワーク接続を開き、有線ネットワーク アダプター (ラップトップに搭載されているが使用していないと仮定) を選択し、プロパティに移動して、TCP/IP ネットワーク アドレスを 192.168.1.101、サブネット マスクを 255.255.255.0、ゲートウェイなしに設定します。

これにより、コンピュータが常に CentOS マシンと同じネットワーク上にあり、いつでもアクセスできる状態になりますが、使用時には WiFi 接続が引き継がれてインターネット接続となり、WiFi が接続されているときには CentOS がインターネットに接続でき、他のコンピュータが CentOS に接続でき、コンピュータが他の WiFi ネットワークで動作できるようになります。ただし、多くの場所では有線接続が機能しなくなります。

他にもアプローチはありますが、それらはすべて 1 つ以上のユース ケースに影響し、その後修正するにはさらに作業が必要になります。

[編集: 「アクセスできないlocalhost」という部分は無視します。これは重要かもしれません。テストの内容を正確に説明する必要があります。使用しているコンピューター、ロードしているソフトウェア、localhost をどこに入力しているかなどです。]

編集: 新しい推奨構成

これには、Windows が CentOS と通信するための専用の 2 台のコンピューター ネットワークが必要です。

  1. Windowsでは、ここで示した画像のようにhttps://i.stack.imgur.com/a3CIZ.jpg- VirtualBox ホストオンリー ネットワーク アダプターのプロパティに移動し、インターネット プロトコル TCP/IP v4 プロパティで、IP アドレスを 192.168.250.1、サブネット マスクを 255.255.255.0 に設定し、他の設定は空のままにして、[OK] をクリックします。

  2. CentOS 仮想マシンの設定 (電源オフの状態) で、ネットワーク設定に移動し、アダプタ 1 を「ホスト専用アダプタ」に設定します。

  3. CentOS マシンの電源を入れます。編集して/etc/sysconfig/network-scripts/ifcfg-eth0、IP アドレス 192.168.250.2、サブネット マスク 255.255.255.0 を設定します。ゲートウェイも DNS サーバーもありません。ネットワークを再起動するか、CentOS マシンを再起動します。

これで、192.168.250.1 と 192.168.250.2 の間で通信するための新しい個別のネットワークができました。NGinX を実行して 192.168.250.2 アドレスをリッスンし、http://192.168.250.2/Windows でアクセスしてアクセスします。

これは WiFi の有無にかかわらず動作するはずです。唯一の問題は、CentOS がアップデートやインストールを行うためにインターネットに接続できないことです。これが問題である場合は、次の手順に従ってください。

  1. CentOS マシンの電源をオフにし、ネットワークの VirtualBox 設定に移動します。アダプタ 2 タブを選択し、有効にして、ブリッジ アダプタに設定します。

  2. CentOS マシンの電源を入れ、eth1 インターフェイスを構成します。これを構成して、IP アドレスを動的に取得するか、DHCP で取得します。使用していますsystem-config-network-tuiが、インストールする必要がありました。コピーできる可能性があります。/etc/sysconfig/network-scripts/ifcfg-eth0 to /etc/sysconfig/network-scripts/ifcfg-eth1ネットワークを再起動して、起動することを確認します。

元のネットワーク接続と同様に、WiFi に接続された場合にのみ機能する WiFi に接続されたネットワーク接続が必要ですが、CentOS はそれを使用してインターネットにアクセスできます。

関連情報