VirtualBoxにArchLinuxボックスをセットアップしました。ここで、どこからでもリクエストを受け入れるようにNGINXサービスをインストールして構成しました。
listen 80;
server_name _;
また、UFWを更新して(また無効にしてみて)、WWW(80)のどこからでも許可し、ホスト専用ネットワークブリッジをセットアップして、Windowsホストから静的IPでボックスにアクセスできるようにしました。
Status: active
To Action From
-- ------ ----
WWW ALLOW Anywhere
WWW (v6) ALLOW Anywhere (v6)
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.33.16 netmask 255.255.255.0 broadcast 192.168.33.255
inet6 fe80::a00:27ff:fead:14c2 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:ad:14:c2 txqueuelen 1000 (Ethernet)
RX packets 495 bytes 82862 (80.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45 bytes 5446 (5.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
指定されたIPアドレス(他のゲストマシンおよびホストマシンから)でボックスにpingを実行できます。また、IPをcURLすることもできます(同じネットワーク上にいる場合)が、ブラウザーからアクセスしようとすると、Windowsホストでは、次のことはできません:"このサイトにアクセスできません"
PING:ホストWindowsマシンから
Pinging 192.168.33.16 with 32 bytes of data:
Reply from 192.168.33.16: bytes=32 time<1ms TTL=128
Reply from 192.168.33.16: bytes=32 time<1ms TTL=128
Reply from 192.168.33.16: bytes=32 time<1ms TTL=128
Reply from 192.168.33.16: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.33.16:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
CURL:同じネットワーク内の他のGUESTマシンから
curl -I 192.168.33.16:80
HTTP/1.1 200 OK
Server: nginx/1.10.1
Date: Mon, 10 Oct 2016 11:02:03 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 31 May 2016 18:11:32 GMT
Connection: keep-alive
ETag: "574dd3d4-264"
Accept-Ranges: bytes
CURL:ホストWindowsマシンから
curl: (7) Failed to connect to 192.168.33.16 port 80: Connection refused
それを修正する理由と方法はありますか?
ありがとう
試行錯誤の末、ネットワークアダプタを変更し、そのアダプタで定義されているIP範囲を変更することでうまくいったようです。それがどのように機能するのかはわかりませんが、機能しました。主な違いは、すべての仮想ボックスが同じIP範囲にあるわけではないということです。
誰かがより良い回避策または実際の解決策を入手した場合(同じアダプターを使用し、すべてのボックスを同じネットワーク上に維持できるようにするため)、私(および私たちの他のメンバー)と共有してください。
ありがとう!