Не удается получить доступ к localhost с переадресацией портов - PullRequest
0 голосов
/ 31 марта 2020

Я не могу получить доступ к моим перенаправленным портам вне моей оболочки vagrant box.

Я создал vagrant box со следующими перенаправленными портами.

  config.vm.network :forwarded_port, guest: 80, host: 8080, auto_correct: true
  config.vm.network "forwarded_port", guest: 27017, host: 27017 #mongodb
  config.vm.network "forwarded_port", guest: 5000, host: 5000 #python flask port
  config.vm.network "forwarded_port", guest: 5050, host: 5050 # NODE Port

  config.vm.network "private_network", ip: "192.168.33.10"

Я установил оба python сервер и nodejs сервер. Если я sh войду в мою бродячую коробку и попытаюсь: curl http://localhost:5050, она вернет мой nodejs привет мир. Если я curl http://localhost:5000 это правильно, мой python3 привет мир.

Однако я не могу получить доступ к своему локальному хосту за пределами бродячей среды (с активными серверами в бродяге)

Что такое Я делаю не так?

Я настраиваю новую машину - так что, возможно, я не установил что-то существенное на свою локальную машину, но я установил зависимости для vagrant et c.

Pinging localhost или 127.0.0.1 работает, но только без порта. Я получаю следующие ошибки в терминале от моего хоста вне vagrant:

$ ping localhost:80
ping: cannot resolve localhost:80: Unknown host
$ ping localhost:8080
ping: cannot resolve localhost:8080: Unknown host

$ curl 'http://localhost:80'     
curl: (7) Failed to connect to localhost port 80: Connection refused
$ curl 'http://localhost:8080' 
curl: (56) Recv failure: Connection reset by peer
$ curl 'http://localhost:5000'
curl: (56) Recv failure: Connection reset by peer
$ curl 'http://localhost:5050'
curl: (56) Recv failure: Connection reset by peer
$ curl 'http://127.0.0.1:80'    
curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused
$ curl 'http://127.0.0.1:8080'
curl: (56) Recv failure: Connection reset by peer
$ curl 'http://127.0.0.1:5000'
curl: (56) Recv failure: Connection reset by peer
$ curl 'http://127.0.0.1:5050'
curl: (56) Recv failure: Connection reset by peer

и ниже от stati c ip, после небольшой задержки для каждого ...

$ curl 'http://192.168.33.10:80'
curl: (7) Failed to connect to 192.168.33.10 port 80: Connection refused
$ curl 'http://192.168.33.10:8080'
curl: (7) Failed to connect to 192.168.33.10 port 8080: Connection refused
$ curl 'http://192.168.33.10:5000'
curl: (7) Failed to connect to 192.168.33.10 port 5000: Connection refused
$ curl 'http://192.168.33.10:5050'
curl: (7) Failed to connect to 192.168.33.10 port 5050: Connection refused

Я использую Ма c ОС Каталина. Мой брандмауэр отключен и разрешает все подключения.

Вывод sudo netstat -ntlp в виртуальной машине.

tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      469/rpcbind         
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      510/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      865/sshd            
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      790/postgres        
tcp        0      0 192.168.33.10:5050      0.0.0.0:*               LISTEN      2730/node           
tcp        0      0 192.168.33.10:5000      0.0.0.0:*               LISTEN      4070/python         
tcp6       0      0 :::111                  :::*                    LISTEN      469/rpcbind         
tcp6       0      0 :::22                   :::*                    LISTEN      865/sshd            
tcp6       0      0 ::1:5432                :::*                    LISTEN      790/postgres

Кажется, что это похоже на проблему, но мой vagrantfile содержит правильные строки: Vagrant, nodejs и переадресация портов iptable

Я также дважды проверил все, что указано примерно в 10 вопросах, таких как: Переадресация vagrant port не работает: сброс соединения по пиру

...