![如何在我的 Ubuntu 14.04 虚拟服务器上打开一个端口到运行它的 Mac?](https://linux22.com/image/941525/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%88%91%E7%9A%84%20Ubuntu%2014.04%20%E8%99%9A%E6%8B%9F%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%93%E5%BC%80%E4%B8%80%E4%B8%AA%E7%AB%AF%E5%8F%A3%E5%88%B0%E8%BF%90%E8%A1%8C%E5%AE%83%E7%9A%84%20Mac%EF%BC%9F.png)
我在 Mac Big Sur 机器上使用 Vagrant 运行虚拟 Ubuntu (14.04) 盒。我想将虚拟机上的端口 1234 开放到我的 Mac。从虚拟机中,我可以看到这些端口正在监听
$ sudo lsof -i -P -n | grep LISTEN
[sudo] password for myuser:
mysqld 1425 mysql 19u IPv4 21538 0t0 TCP *:3306 (LISTEN)
sshd 1447 root 3u IPv4 24616 0t0 TCP *:22 (LISTEN)
sshd 1447 root 4u IPv6 24618 0t0 TCP *:22 (LISTEN)
redis-ser 1449 redis 5u IPv4 14782 0t0 TCP *:6379 (LISTEN)
master 1828 root 12u IPv4 18076 0t0 TCP 127.0.0.1:25 (LISTEN)
master 1828 root 13u IPv6 18077 0t0 TCP [::1]:25 (LISTEN)
ruby 7514 myuser 7u IPv4 51854 0t0 TCP 127.0.0.1:1234 (LISTEN)
node 7562 myuser 19u IPv4 50542 0t0 TCP *:3500 (LISTEN)
但是,我注意到在 Mac 上运行 nmap 时,我无法连接到端口 1234
nmap -sT -p- 10.0.18.25
Starting Nmap 7.92 ( https://nmap.org ) at 2021-10-13 11:16 CDT
Nmap scan report for iad-3456273abcef.mlp.nq.smb.rcn.net (10.0.18.25)
Host is up (0.10s latency).
Not shown: 65531 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp open ssh
3306/tcp open mysql
3500/tcp open rtmp-port
6379/tcp open redis
Nmap done: 1 IP address (1 host up) scanned in 1374.16 seconds
当我尝试在我的机器上运行防火墙规则更新时
$ sudo ufw allow 1234
WARN: uid is 0 but '/usr' is owned by 501
Skipping adding existing rule
Skipping adding existing rule (v6)
我仍然无法从本地计算机访问虚拟服务器的 1234 端口。我还需要做什么才能打开虚拟服务器的 1234 端口?
答案1
那一个例子红宝石正在收听端口 1234用于连接仅限 127.0.0.1。因此,除非您让它接受来自主机的连接,否则端口转发不会发生太大变化。