2017-08-06 13 views
0

私は迷惑メールでnginx設定をテストしていますが、静的IPのホストからnginxに接続しようとすると接続のタイムアウトが発生するため、マイベイグラントファイル:Vagrant - プライベートネットワークでのポートフォワーディング動作

# -*- mode: ruby -*- 
    # vi: set ft=ruby : 
    $script = <<-SCRIPT 
    sudo apt-get -y update 
    sudo apt-get install -y nginx 
    SCRIPT 

    ################################### 
    Vagrant.configure("2") do |config| 
    # webserver server 
    config.vm.define "webserver" do |webserver| 
     webserver.vm.box = "bento/ubuntu-16.04" 
     webserver.ssh.insert_key = false 
     webserver.vm.network "private_network", ip: "192.168.10.101" 
     webserver.vm.network "forwarded_port", guest: 80 , host: 4000, host_ip: "127.0.0.1" 
     webserver.vm.hostname = "webserver" 
     webserver.vm.provision "shell", inline: "sed 's/127\.0\.0\.1.*webserver.*/192\.168\.10\.101 webserver/' -i /etc/hosts" 
     webserver.vm.provider "virtualbox" do |vb| 
     # Customize VM 
     vb.name = "webserver" 
     vb.memory = "1024" 
     vb.cpus = "2" 
     end 
    end 
end 

私はnginxのviのローカルホストに到達することができる午前:4000が、私はhttp://192.168.10.101:4000をすれば、接続がタイムアウト。私はまた、以下のようにファイアウォールを止めようとしました:

助けになりません。これについてのガイダンスはどうですか?

EDIT - 1

私はhttps://www.vagrantup.com/docs/virtualbox/networking.htmlでドキュメントを読んだ後、VirtualBoxのプライベートネットワークを削除しました。しかし、問題はちょっと混乱しています。なぜなら今、私はnginxのテストページにアクセスすることができます: http://192.168.10.101しかし、http://192.168.10.101:4000ではありません。私はhttp://localhost:4000にアクセスできますが。私は何かを逃しているかもしれません。

EDIT - 2

は、VM内のpython simplehttpserver蘭とポートを転送:

python -m SimpleHTTPServer 8000 

Vagrantfile

dbserver.vm.network "forwarded_port", guest: 8000 , host: 5000, host_ip: "127.0.0.1" 

をしかし、私は私のテスト・ページにアクセスすることができます

http://192.168.10.102:8000/

なく

http://192.168.10.102:5000/

ように、これは私が私がプライベートネットワーク上の実際のポート転送せずに私のVirtualBoxのポートにアクセスすることを可能にするいくつかのルールがあると思います。

$> netstat -nr 
    Routing tables 

    Internet: 
    Destination  Gateway   Flags  Refs  Use Netif Expire 
    default   192.168.0.1  UGSc   40  0  en0 
    127    127.0.0.1   UCS    0  0  lo0 
    127.0.0.1   127.0.0.1   UH    4 57934  lo0 
    169.254   link#4    UCS    0  0  en0 
    192.168.0   link#4    UCS    0  0  en0 
    192.168.0.1/32  link#4    UCS    1  0  en0 
    192.168.0.1  c0:a0:bb:c6:f5:58 UHLWIir  48  6051  en0 1188 
    192.168.0.101/32 link#4    UCS    0  0  en0 
    192.168.10   link#17   UC    2  0 vboxnet 
    192.168.10.102  8:0:27:1b:d5:98 UHLWI   0  73 vboxnet 586 
    224.0.0/4   link#4    UmCS   2  0  en0 
    224.0.0.251  1:0:5e:0:0:fb  UHmLWI   0  0  en0 
    239.255.255.250 1:0:5e:7f:ff:fa UHmLWI   0  1067  en0 
    255.255.255.255/32 link#4    UCS    0  0  en0 
+0

は 'forwarded_port'行をコメントしようとすると、'放浪up'を行います。あなたがアクセスできるかどうかを確認しますか? – Haranadh

+0

私はしていましたが、今はポート22だけを転送します。 ==> Webサーバー:フォワーディングポート... ウェブサーバー:22(ゲスト)=> 2222(ホスト)(アダプター1)。私はまだポート80のnginxテストページにアクセスすることができます。あなたが修正することができれば、転送メカニズム –

+0

のいくつかの点を見逃しているようですが、それは素晴らしいことです。それでも問題がある場合は私に知らせてください。しかし、私は自分のローカルシステムでその設定を行い、試してみる必要があります。 :)あなたがまだ問題を抱えているなら、私はそれを行い、あなたを更新しようとします。 – Haranadh

答えて

1

vagrant site.で分析しようとしました。

Defining a Forwarded Portを指定したにもかかわらず、彼らは次の内容として免責事項を述べました。

ほとんどのプロバイダでは、転送されるポートはデフォルトですべてのインターフェイスにバインドされます。これは、ネットワーク上の他のデバイスが転送されたポートにアクセスできることを意味します。アクセスを制限する場合は、下記のguest_ipとhost_ipの設定をご覧ください。

このケースでは、バーチャルボックスプロバイダがトリックを行っているようです。ゲストマシンのポートはデフォルトで設定されています。 私はこのforwarded_portネットワーク設定のオプションがうまく動作していないと感じました。


上記の迷惑メールファイルを使用して同じ設定を試しました。

マイ観測:あなたの放浪ファイルの

  • スクリプトの部分は、私の地元vagrantnginxをインストールしていません。
  • ローカルvagrantに手動でnginxをインストールして実行しようとしました。
  • host-machineのブラウザからゲストマシンのホームページnginxを見ることができました。
  • guest-machine nginxでは、デフォルトの80ポートで動作します。ホストマシンでは80ポートからアクセスできます。リンクから

結論は次のとおりです。

ほとんどのプロバイダでは、すべてのインターフェイスへのデフォルトのバインドによって転送されたポート。


編集: がさえguest-machineで実行されているサンプルのpythonサーバで試してみました、そしてテストし、浮浪者設定で任意のfwdingポートなしのpython-Webサーバにアクセスすることができました。放浪中のpythonサーバから出力された後

(envflask) [email protected]:~/test$ ls 
flasktest.py 
(envflask) [email protected]:~/test$ python flasktest.py 
Starting RestServer at port 9595 
* Running on http://0.0.0.0:9595/ (Press CTRL+C to quit) 
127.0.0.1 - - [08/Aug/2017 13:35:01] "GET/HTTP/1.1" 200 - 
127.0.0.1 - - [08/Aug/2017 13:35:16] "GET/HTTP/1.1" 200 - 
+0

@ f-z-n:私の答えがあなたの質問を明確にし、私の答えが好きな人は、受け入れてください。 – Haranadh

+0

@haranadhに感謝します。意味あり。受け入れられた答え –

関連する問題