手册上说:“无法转发小于 1024 的主机端口:在基于 Unix 的主机(例如 Linux、Solaris、Mac OS X)上,无法将非 root 运行的应用程序绑定到小于 1024 的端口”。
是否可以禁用此限制?我以 VBoxHeadless 机器的形式运行主要的互联网服务(例如邮件服务器(SMTP、IMAP、LDAP、HTTP、HTTPS),并通过 VBoxManage modifyvm --natpf1 捕获主机的端口)。我现在能看到的唯一解决方案是捕获更高的端口并通过 iptables 或 redir 重定向用于较低端口的流量。但也许有更自然的解决方案?
答案1
澄清如下在 VirtualBox 文档中,这是 NAT 模式的一个众所周知的限制。您可以做两件不同的事情。
通过 NAT 转发端口
VBoxManage modifiedvm "虚拟机名称" --natpf1 "guestssh,tcp,,80000,,80"
切换到“桥接网络”模式
从文档中读取:
这适用于更高级的网络需求,例如网络模拟和在客户机中运行服务器。启用后,VirtualBox 会连接到您安装的网卡之一并直接交换网络数据包,从而绕过主机操作系统的网络堆栈。