![允许 Ubuntu Server 19.10 上的流量](https://linux22.com/image/1170321/%E5%85%81%E8%AE%B8%20Ubuntu%20Server%2019.10%20%E4%B8%8A%E7%9A%84%E6%B5%81%E9%87%8F.png)
我已经在 Raspberry Pi 3B 上安装了 Ubuntu Server 19.10,但是 Python 脚本出现了问题。
此脚本在特定端口上启动 http 服务器,我可以从外部网络启动命令。我之前已在 Windows PC 上安装过它,并且它可以正常工作。
我做了什么:
- 我的 Windows PC IP:192.168.0.10
- 我的 Ubuntu 服务器 IP:192.168.0.20
- 端口转发:外部端口 1010 - 到 192.168.0.10:1010
- 端口转发:外部端口 2020 - 到 192.168.0.20:2020
- 配置了无 IP 的动态 DNS:example.ddns.it
(这些是示例数据)
然后,我使用这个网站测试了该网址:https://reqbin.com/使用:
- example.ddns.it:1010/command - 它有效(Windows)
- example.ddns.it:2020/command - The request timed out.
(Ubuntu 服务器)
- example.ddns.it:3030/command - Connection error occurred.
(没什么,它是正确的,它只是一个测试)
我已经尝试过用sudo ufw disable
并启动 Python 脚本sudo python3 m_server.py
。没有用。
我认为这与 Ubuntu Server 有关,因为它在 Windows PC 上运行无问题或无需特定配置。
答案1
“该脚本在特定端口上启动一个 http 服务器,我可以从外部网络启动一个命令。”
这两件事有关联吗?
你能详细说明一下吗?
您共享的 IP 都是私有的。
这些流量将如何从外部世界到达您的服务器(如果这是您想要的)。
您可能会认为防火墙不仅仅是流量阻止器。
我使用 iptables 来控制 Linux 路由器上的流量方向。Squid
缓存了我的大部分静态流量,使我的连接看起来比实际更快,但 iptables 会监听特定网卡和端口上的流量并根据需要转发它。
禁用 ufw 是一个很好的测试,但您可能会看到 ufw 是否可以进行端口转发,这听起来就是您需要的。
在您的服务器上,运行相关的“ip”命令以查看是否有服务在端口 2020 上监听。
例如,“ip addr”将显示您的 ip 地址和 nic 信息。
还有另一个“ip”命令将显示正在监听的端口以及您的哪个 IP 地址正在进行监听。