uruchom serwer WWW z maszyny wirtualnej, jak korzystać z portu 80

2

Mam system hosta z uruchomioną Fedorą 15 i mam system gościa z systemem CentOS 5.5 w VirtualBox.

Skonfigurowałem instalację wirtualnej maszyny i dodałem przekierowanie portów do maszyny wirtualnej. Kiedy przekierowuję port 80 gościa do portu 8080 na hoście, mogę uzyskać dostęp do lokalnego hosta: 8080 i obsługuje on tę stronę. Jeśli jednak przekazuję port 80 na gościu do portu 80 na hoście, nie mogę uzyskać do niego dostępu.

Ponieważ chcę uzyskać dostęp do witryn w maszynie wirtualnej z Internetu i nie chcę dodawać numeru portu podczas uzyskiwania dostępu do tych witryn (przez domenę lub poddomenę wskazującą na mój IP), zakładam, że muszę tutaj użyć portu 80.

Czytałem, że ludzie przesyłają port 80 do hosta, więc zakładam, że to powinno być możliwe.

Wyjście z nmap dla hosta (Fedora):

Nmap scan report for localhost (127.0.0.1)
Host is up (0.000078s latency).
Not shown: 992 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
25/tcp    open  smtp
111/tcp   open  rpcbind
631/tcp   open  ipp
2121/tcp  open  ccproxy-ftp
2222/tcp  open  EtherNet/IP-1
11111/tcp open  vce
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.19 - 2.6.36

Tak więc port 80 nie jest pobierany przez hosta, co może być dobrym znakiem, lokalne procesy nie interweniują, czy też jest to zły znak, czy port powinien być otwarty, aby mógł działać na dane serwera od gościa?

Używam routera P-2601HN-F1, który działa poprawnie (udało się pokazać wyjście z sieci za pomocą lokalnego serwera apache)

W zakładce sieci maszyny wirtualnej jest napisane: Attached to: NAT. A dla przekierowania portów zdefiniowałem przekazy, z których:

HOST PORT / GUEST PORT
80 / 80 tcp
2121 / 21 tcp
2222 / 22 tcp
11111 / 10000 tcp

Nie, że gdy zmieniam 80/80 tcp na 8080/80 tcp, mogę uzyskać do niego dostęp http://localhost-8080.com/ .

Co robię źle / jak to osiągnąć (dostęp na porcie 80)?

Roderik
źródło
Zasadniczo, jeśli obsługujesz coś w rodzaju treści internetowych z maszyny wirtualnej, użyłbyś Bridged Networking (dzięki temu konfiguracja byłaby łatwiejsza do skonfigurowania, ponieważ możesz po prostu przenieść port w routerze do gościa VM ip). Widzę, że twoja maszyna wirtualna jest skonfigurowana z obsługą sieci NAT, czy możesz to potwierdzić?
David Chen
@Bearocalypse: Jest skonfigurowany z obsługą sieci NAT. Sieci typu NAT działały, gdy przypisałem 8080 do użycia, więc przypuszczam, że może działać z portem 80. Wątpiłem też, czy mostkowanie było dobrym pomysłem, ponieważ często używam wielu maszyn wirtualnych, to prawdopodobnie skomplikuje sprawy.
Roderik
1
Zauważyłem, że problemem jest ograniczenie numerów portów poniżej 1024, które nie są obsługiwane. Teraz ustawiłem go jako zmostkowany. Myślę, że maszyna wirtualna otrzymuje dynamicznie przydzielony lokalny adres IP; jak mogę się upewnić, że to samo pozostanie niezmienione (bo inaczej muszę zmienić przekazywanie w routerze przy każdej zmianie). @Bearocalypse
Roderik