gpt4 book ai didi

linux - 如何使用 VirtualBox 正确进行端口转发?

转载 作者:太空狗 更新时间:2023-10-29 11:20:22 24 4
gpt4 key购买 nike

我无法连接到 VirtualBox 中的 guest 操作系统。我的环境如下:

  • 主持人:MacOSX(狮子)
  • 访客:CentOS (5.7, 2.6.18-274.3.1.el5)
  • VirtualBox:4.1.4 r74291-- 网络适配器类型:NAT

在 guest 操作系统中,我可以看到 httpd 正常运行,如下所示:

$ ps aux | grep httpd
root 2571 0.0 3.5 258440 8824 ? Ss 08:20 0:00 /usr/sbin/httpd
apache 2573 0.0 2.2 258440 5780 ? S 08:20 0:00 /usr/sbin/httpd
apache 2574 0.0 2.0 258440 5184 ? S 08:20 0:00 /usr/sbin/httpd
apache 2575 0.0 2.0 258440 5180 ? S 08:20 0:00 /usr/sbin/httpd
apache 2576 0.0 2.0 258440 5180 ? S 08:20 0:00 /usr/sbin/httpd
apache 2577 0.0 2.0 258440 5180 ? S 08:20 0:00 /usr/sbin/httpd
apache 2578 0.0 2.0 258440 5180 ? S 08:20 0:00 /usr/sbin/httpd
apache 2579 0.0 2.0 258440 5180 ? S 08:20 0:00 /usr/sbin/httpd
apache 2580 0.0 2.0 258440 5180 ? S 08:20 0:00 /usr/sbin/httpd
$ curl localhost
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
...

在主机操作系统中,我做了如下配置以进行端口转发:

$ VBoxManage showvminfo CentOS_3 | grep "NIC 1"
NIC 1: MAC: 080027B1FA87, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: Am79C973, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny
NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 1 Rule(0): name = http, protocol = tcp, host ip = , host port = 8003, guest ip = , guest port = 80
NIC 1 Rule(1): name = ssh, protocol = tcp, host ip = , host port = 2203, guest ip = , guest port = 22

根据这些信息,我正在尝试进行从 8003 到 80 以及从 2203 到 22 的端口转发。事实上,我可以使用“ssh -p 2203 localhost”与 guest 操作系统建立 ssh 连接。但是,当我尝试查看 http://localhost:8003 时,浏览器说“无法加载网页,因为服务器未发送数据。”

当我在主机操作系统中尝试“telnet localhost 8003”时似乎端口正在监听,但那里在guest OS的访问日志中出现no log。

我应该怎么做才能解决这个问题?提前致谢!

(新增:10月14日15:55)

$ netstat -nl | grep tcp | grep 127.0.0.1 # Host OS
tcp4 0 0 127.0.0.1.8003 127.0.0.1.64698 ESTABLISHED
tcp4 0 0 127.0.0.1.64698 127.0.0.1.8003 ESTABLISHED
tcp4 0 0 127.0.0.1.26164 127.0.0.1.53917 ESTABLISHED
tcp4 0 0 127.0.0.1.53917 127.0.0.1.26164 ESTABLISHED
tcp4 0 0 127.0.0.1.2203 127.0.0.1.53183 ESTABLISHED
tcp4 0 0 127.0.0.1.53183 127.0.0.1.2203 ESTABLISHED

$ netstat -nl | grep tcp # Guest OS
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:952 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::443 :::* LISTEN

最佳答案

看起来就像mkj 写的那样,你安装了防火墙。

尝试运行(作为 root):yum 安装系统-配置-防火墙-tui

运行 system-config-firewall-tui,选择自定义并确保选中“WWW (HTTP)”。

关于linux - 如何使用 VirtualBox 正确进行端口转发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com