在 ubuntu 17.10 中为 dosbox 打开一个端口

在 ubuntu 17.10 中为 dosbox 打开一个端口

我正在尝试在 Ubuntu 17.10 中打开一个端口,但首先了解一些背景知识。

在过去的 16 个小时里,我一直在努力在 dosbox 下设置 BBS 邮件程序。在我的 dosbox 配置中,我设置了“serial1=modem listenport:601”来监听端口 601。为了测试这一点,我打开了一个终端并执行“telnet localhost 601”,每次都可以连接。当我尝试在 iptables 和 ufw 中打开端口时(我从 stack exchange 中找到了方法),现在端口似乎已关闭,dosbox 报告“Serial1:调制解调器无法打开 TCP 端口 601”。

但这一切都持续了一整天,直到我打开端口。

以下是 iptables 和 ufw 的报告:

iptables -L | grep 601

接受 tcp -- 任何地方 任何地方 tcp dpt:601

接受 udp -- 任何地方 udp dpt:601

ufw status 状态: 活跃

至操作来自 -- ------ ---- 601 允许任何地方
601 (v6) 允许任何地方 (v6)

所以我的问题有两个:

1) 为什么在我打开端口之前它可以工作,但现在打开端口后却不工作了? 2) 我该如何让它工作?

我的最终目标是能够从我的网络外部访问 BBS 邮件程序,但现在我只需要在打开端口的情况下进行本地测试。(在此之后,我的下一步是获取动态 DNS,以便我可以从网络外部开始测试)

答案1

使用 UFW 后,您无需关心 iptables。UFW 将为您完成这项工作。

因此,对于可能发生的情况,有一个可能的解释:

  • 当使用 telnet 进行测试时,UFW 当时并未处于活动状态。
  • 然后您启动了 UFW,默认的 ufw 规则是denydrop传入流量。
  • 然后,您已为 udp/tcp 打开了端口 601,但意外地仅为 IPv6 打开了端口 601。
  • 现在 telnet 不再起作用,因为您通过 IPv4 连接,并且您的连接根据您的 ufw 设置被丢弃/拒绝。

但找出它之前为什么能工作并不重要。我想更重要的是让它再次工作。你可以通过添加正确的 UFW 规则来实现这一点:

sudo ufw allow proto tcp from any to any port 601

然后使用以下命令检查 ufw 设置:

 sudo ufw status verbose

此命令的输出应如下所示,例如:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
601/tcp                    ALLOW IN    Anywhere
601/tcp (v6)               ALLOW IN    Anywhere (v6)

然后它就可以再次工作了。

相关内容