所以我想测试向公众开放一个端口。我知道如何在路由器中进行端口转发,并且我已经这样做了。我用gameranger测试了这个,它可以工作。我检查了我的全球 IP,说它是 121.111。*
. *
, 与网站之类的myglobalip.com
(有很多选择)。我也可以确认这也是 ssh 登录消息中的 IP。
现在我尝试telnet 121.111.*.* 8888
在我的 wifi 网络中进行操作,它说连接被拒绝,但至少这意味着我可以访问它。它适用于telnet 121.111.*.* 443
,因此我怀疑这是路由器的 IP 地址。
我不明白的问题是,如果我在 SSH 实例中尝试相同的命令,它将不起作用(telnet 121.111.*.* 8888
)。一切都会导致超时。我试图监控wireshark的登录,没有说我输入的8888端口。我确信实例中的向外流量不受限制,因为我可以远程登录到 8.8.8.8。当然,互联网必须有一种与路由器通信的方式,否则它应该无法连接到互联网。这是什么原因?
tonywang's questions
参考我之前的问题
Use pulseaudio for remote ssh connection。我终于在我的 Mac OS 和 Oracle 实例之间建立了隧道。我在 ssh 反向隧道中输入了错误的参数,这就是它之前不起作用的原因。我的音频转发工作正常,所以该实例可以播放任何声音文件,我会在我的 Mac 上听到它。
然而,反过来是行不通的。我无法在 Mac OS 上使用我的麦克风录音。我尝试启用这篇文章中提到的环回模块(https://stackoverflow.com/questions/36286864/pulseaudio-microphone-over-network)。它没有解决问题。我试图记录使用arecord --device=pulse test.wav
,arecord --device=default test.wav-
但两者都没有任何区别。我试过arecord -l
它说arecord: device_list:276: no soundcards found...
输出pacmd list-sources
:
1 source(s) available.
* index: 0
name: <Romote.monitor>
driver: <module-tunnel-sink-new.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: RUNNING
suspend cause: (none)
...
我需要额外的步骤吗?
我正在尝试通过云实例流式传输 pulseaudio 声音输出。在我之前的问题中,我无法让 paprefs 在 Mac OS 上工作,但事实证明这并不重要,因为我可以通过编辑来设置所有内容default.pa
。所以我设置了服务器和客户端,并通过连接到另一台 Ubuntu 机器在本地网络(相同的 wifi)上进行了测试。我用pulseaudio zeroconf discover
和pulseaudio zeroconf publish
为此。一切正常。我可以从我的客户端机器上发现并选择音频设备。
然后我为远程 Oracle 云实例尝试了相同的步骤。然而这一次,没有检测到任何东西,所以我不能选择任何东西。我认为我至少应该从客户端选择“虚拟扬声器”和“转储麦克风”,但没有检测到任何东西。我怀疑这是由于pulseaudio zeroconf
模块仅适用于本地网络?我不太确定这一点。我尝试通过选择服务器仍然无法工作来遵循这篇远程脉冲音频设置。我不太清楚“启用对全球声音设备的网络访问”是什么意思,所以我没有这样做。我需要在两台机器之间建立隧道吗?
Edit
我尝试通过添加load-module module-tunnel-sink-new server=192.168.0.1 sink_name=Remote channels=2 rate=44100
到 default.pa 文件来使用隧道。但它没有用。模块不加载。仔细检查后,模块加载了短暂的瞬间然后消失了。
我想将我的麦克风从我的 Mac OS 流式传输到使用 Ubuntu 20 的 Oracle 云实例。也许也向后(将容器声音流回本地计算机)。我使用 SSH 连接到云实例。我认为这是正确的方法(https://unix.stackexchange.com/questions/470961/how-to-set-up-pulseaudio-remote-properly-and-securely)
对我来说,问题是脉冲音频不是为 Mac OS 设计的。它设计用于 2 个 linux 系统(我可能是错的)。我可以使用在 Mac OS 上安装脉冲音频brew install pulseaudio
. 但是,我相信这只允许我启用或禁用脉冲音频模块。要实际将其流式传输到输出流,我需要另一个名为 paprefs 的软件。这在 brew 上找不到。无论如何,它可能与 Mac OS 不兼容。那么可以解决这个问题吗?