РЕДАКТИРОВАТЬ: Я решил проблему. Это последнее, о чем я мог подумать ...Брандмауэр Windows !!!
Я размещаю виртуальную машину Windows 2008 Server на сервере Ubuntu 12.04 LTS, используя виртуальную коробку 4.1.18. Гостевой адаптер Windows подключен к сетевому адаптеру Ubuntu eth0 и может быть проверен с хоста (сервера Ubuntu) и других компьютеров в той же сети. Также гость (сервер Windows 2008) может пропинговать хост и другие машины в сети.
Но ни хост, ни другие машины не могут получить доступ к веб-приложению, размещенному на гостевой системе (http, порт 80). Используя браузер IE гостя, я могу получить доступ к приложению, чтобы оно уже функционировало.
Я попытался установить беспорядочный режим для NIC гостя:
VBoxManage modifyvm "Win2008Server_x64" --nicpromisc1 allow-all
, но это не сработало.
Мои правила iptables
указывают, что весь трафик разрешен «так, как должно быть в Ubuntu»:
root@mysql:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@mysql:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
Что касается переадресации портов, мне не нужно этого делать, потому что я соединяю NIC гостя с NIC хоста, правильно?
На виртуальной машине у меня был запущен tomcat7 через порт 8080. Поэтому я изменил порт веб-сервера с 80 на 8080, но это тоже не сработало, так что я думаю, это не имеет ничего общего с Ubuntu. Это что-то в конфигурации виртуальной машины, но я не могу понять это!