我有一个运行Fedora 15的主机系统,我有一个在VirtualBox中运行CentOS 5.5的客户系统。
我确实设置了一个virtualmin安装并添加了端口转发到虚拟机。当我将guest虚拟机上的端口80转发到主机上的端口8080时,我可以访问localhost:8080并且它为我提供页面。但是,如果我将guest虚拟机上的端口80转发到主机上的端口80,则无法访问它。
由于我想从Web访问VM上的站点,并且不希望在访问它们时添加端口号(通过指向我的ip的域或子域),我假设我需要在此处使用端口80。
我读到人们确实将端口80转发给主机,所以我认为这应该是可能的。
来自nmap for host(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
所以主机不接受端口80,这可能是一个好兆头,本地进程不干预或者是一个坏迹象,端口是否打开以便从来宾服务器数据中运行?
我正在使用正常工作的P-2601HN-F1路由器(设法通过本地apache服务器显示来自Web的输出)
在VM的网络选项卡中,它说:附加到:NAT。 对于端口转发,我已经定义了以下内容:
HOST PORT / GUEST PORT
80 / 80 tcp
2121 / 21 tcp
2222 / 22 tcp
11111 / 10000 tcp
当我将80/80 tcp更改为8080/80 tcp时,我可以从中访问它 http://localhost-8080.com/ 。
我做错了什么/如何实现这一点(在端口80上访问)?
通常,如果您从VM提供类似Web内容的内容,则可以使用桥接网络(它可以使您的设置更容易配置,因为您只需将路由器中的端口转发到来宾VM ip)。我看到你的虚拟机设置了NAT类型网络,你能确认一下吗?
—
David Chen
@Bearocalypse:它是用NAT型网络设置的。 NAT类型网络在我分配使用8080时工作,所以我认为它可以与端口80一起工作。我也怀疑桥接是否是一个好主意,因为我经常使用多个虚拟机,它可能会使事情变得复杂。
—
Roderik
我注意到问题是1024以下端口号的限制,这是不受支持的。我现在做了一个桥接设置。我认为虚拟机现在可以动态分配一个本地IP地址;我如何确保它保持不变(因为否则我需要在每次更改时更改路由器中的转发)。 @Bearocalypse
—
Roderik