Nie można połączyć się z siecią prywatną Vagrant z hosta
Mam wirtualną skrzynkę Włóczęgów. Do tej pory nie udało mi się połączyć z serwerem WWW. oto początek:
[jesse@Athens VVV-1.1]$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.2.0
default: VirtualBox Version: 4.3
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
default: /vagrant => /home/jesse/vagrant/vvvStable/VVV-1.1
default: /srv/www => /home/jesse/vagrant/vvvStable/VVV-1.1/www
default: /srv/config => /home/jesse/vagrant/vvvStable/VVV-1.1/config
default: /srv/database => /home/jesse/vagrant/vvvStable/VVV-1.1/database
default: /var/lib/mysql => /home/jesse/vagrant/vvvStable/VVV-1.1/database/data
==> default: VM already provisioned. Run `vagrant provision` or use `--provision` to force it
==> default: Checking for host entries
Na mojej konsoli hosta, IP addr pokazuje:
4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
5: vboxnet1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff
Na gościa daje:
vagrant@vvv:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:12:96:98 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
inet6 fe80::a00:27ff:fe12:9698/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:2c:d4:3e brd ff:ff:ff:ff:ff:ff
inet 192.168.50.4/24 brd 192.168.50.255 scope global eth1
Na razie chcę tylko uzyskać dostęp do serwera na maszynie wirtualnej, niezależnie od tego, jak to działa. Próbowałem różnych rzeczy, po prostu strzelając w ciemności. Chętnie podam wszelkie konkretne informacje. Wszelka pomoc lub sugestie będą wielce doceniane 9 answers
Na podstawie dostarczonego wyjścia, Skrzynka ma 2 interfejsy sieciowe, 1 jest domyślnym NAT, a drugi prywatny-pytaj, o którym mówiłeś.
Powód, dla którego nie możesz uzyskać dostępu do witryny internetowej hostowanej w maszynie wirtualnej przez prywatny interfejs: może być tak, że adres IP hosta eth0
lub wlan0
nie jest w tej samej sieci co prywatny interfejs -> 192.168.50.4/24
i nie ma trasy.
Aby uzyskać dostęp do witryny hostowanej przez serwer WWW w ramach gościa, masz następujące opcje:
1. Przekazywanie portów NAT
Przenieś port sieci web, np. 80 do 8080 hosta (nie możesz użyć 80, ponieważ jest to uprzywilejowany port na *NIX). Dodaj następujący
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080,
auto_correct: true
end
Uwaga: auto_correct rozwiąże konflikty portów, jeśli port na hoście jest już używany.
Zrób vagrant reload
, a będziesz mógł uzyskać dostęp do strony za pośrednictwem http://localhost:8080/
2. Sieć publiczna (VirtualBox Bridged networking)
Dodaj publiczny interfejs sieciowy
Vagrant.configure("2") do |config|
config.vm.network "public_network"
end
Get adres IP maszyny wirtualnej po jej uruchomieniu przekierowanie portów nie ma zastosowania do sieci pomostowych. Więc będziesz uzyskiwać dostęp do witryny za pomocą http://IP_ADDR
, jeśli w maszynie wirtualnej wiąże się ona z 80, w przeciwnym razie podaj port.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-07 04:18:07
Jeszcze jedna możliwość.
Zwykle podczas tworzenia maszyn wirtualnych przy użyciu sieci prywatnej, Vagrant (Virtualbox? not sure) tworzy odpowiednie wpisy w tablicy routingu hosta. Możesz je zobaczyć używając
netstat -rn
W jakiś sposób mój host dostał się do stanu, w którym tworzenie maszyn wirtualnych nie skutkowało pojawieniem się nowych tras w tabeli routingu, z odpowiednią niemożnością połączenia. Ponownie możesz zobaczyć trasy nie pojawiające się za pomocą polecenia powyżej.
Ręczne utworzenie trasy pozwoliło mi dotrzeć do maszyn wirtualnych. Na przykład:
sudo route -nv add -net 10.0.4 -interface vboxnet
(Zastąp odpowiednią sieć i interfejs.), Ale nie chciałem tego robić.
Na podstawie tego pytania , próbowałem ponownie uruchomić mój host i Vagrant zaczął automatycznie tworzyć wpisy tabeli routingu ponownie.
Nie wiem dokładnie o co chodzi, ale mam nadzieję, że to komuś pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-13 12:13:38
Twój interfejs nie działa
Miałem ten sam problem. To był mój interfejs vboxnet0, który był wyłączony. W liścieip addr
masz <BROADCAST,MULTICAST>
dla swojego interfejsu, ale powinien to być <BROADCAST,MULTICAST,UP,LOWER_UP>
.
To znaczy, że interfejs jest wyłączony.
Możesz potwierdzić za pomocą sudo ifconfig
. Interfejs nie zostanie wyświetlony, ale jeśli dodasz -a
zobaczysz go: sudo ifconfig -a
.
Jak to poruszyć
Więc aby to poruszyć, możesz zrobić:
sudo ifconfig vbox
Lub
sudo ip link set vboxnet0 up
Obie działa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-27 13:35:44
Udało mi się również uruchomić prywatną sieć, usuwając ją w wirtualnym oknie. Kiedy odtworzyłem go ponownie z Vagrant up, konfiguracja ip stała się:
vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
inet 192.168.50.1/24 brd 192.168.50.255 scope global vboxnet0
valid_lft forever preferred_lft forever
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-08 19:55:48
Alternatywnie możesz użyć ręcznego przekierowania portów przez SSH (tunelowanie SSH):
ssh -L 80:127.0.0.1:80 [email protected] -p 2222
Łączy port hosta 80 Z portem maszyny wirtualnej 80 poprzez sesję SSH z maszyną wirtualną.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-09 12:16:10
Miałem podobny problem na moim Macu. VirtualBox używa hosta tylko dla sieci prywatnych. Aby używać jako sieci wewnętrznej musiałem dodać to do konfiguracji sieci prywatnej:
"virtualbox__intnet: true"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-09 22:10:47
To może nie dotyczyć dokładnie, ale" sieć prywatna " w tytule przyniósł mnie tutaj i inni mogą skorzystać, które próbują uruchomić wiele skrzynek gości na Mac OS X:
Używam "private_network" i nie robię żadnego przekierowania portów. tzn. uzyskuję dostęp do moich maszyn wirtualnych przez hosty typu " project1.lokalne", " projekt2.lokalne".
Więc byłem zaskoczony, gdy próbowałem uruchomić drugi box (scotch/box ubuntu dla LAMP) i odmówił uruchomienia z błędem (fragment):
"...The forwarded port to 2222 is already in use on the host machine..."
The proponowane rozwiązanie Komunikatu o błędzie nie działa. Czyli dodaj to do swojego Vagrantfile:
config.vm.network :forwarded_port, guest: 22, host: 1234
#Where 1234 would be a different port.
Nie jestem pewien, dlaczego tak się dzieje, ponieważ wcześniej uruchamiałem wielokrotności(ale nie scotch / box). Problem polega na tym, że nawet jeśli używasz private_network, Vagrant używa przekierowania portów dla SSH.
Rozwiązaniem jest ustawienie portów specjalnie dla SSH poprzez dodanie tego do plików Vagrant:
# Specify SSH config explicitly with unique host port for each box
config.vm.network :forwarded_port,
guest: 22,
host: 1234,
id: "ssh",
auto_correct: true
Uwaga: auto_correct może sprawić, że nie-unikalny port #s będzie działał, ale tego nie testowałem.
Teraz możesz uruchamiaj wiele maszyn wirtualnych jednocześnie przy użyciu sieci prywatnej.(dzięki Aaronowi Aaronowi i jego wpisowi tutaj: https://groups.google.com/forum/#! topic / vagrant-up / HwqFegoCXOc )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-17 15:27:47
Miał ten sam problem z Arch (2017-01-01). Musiał zainstalować net-tools
: sudo pacman -S net-tools
Virtual Box 5.1.12r112440, Vagrant 1.9.1.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-17 07:52:46
Ustawiłeś prywatną sieć dla swojej maszyny vagrant
Jeśli ten ip nie jest widoczny to ssh na twoją maszynę vagrant i odpal to polecenie
sudo /etc/init.d/networking restart
Sprawdź, aby zatrzymać również firewall i iptables
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-25 19:46:20