![如何在 Ubuntu 10.04 上打开端口 25、80、443、3306](https://linux22.com/image/1122436/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%2010.04%20%E4%B8%8A%E6%89%93%E5%BC%80%E7%AB%AF%E5%8F%A3%2025%E3%80%8180%E3%80%81443%E3%80%813306.png)
在 Rackspace 下一代(性能)服务器上全新安装 Ubuntu Server LTS 10.04 需要打开以下端口:25/tcp、80/tcp、443/tcp、3306/tcp。
我使用 nmap 检查开放的端口,以下是开放的端口列表:
PORT STATE SERVICE
22/tcp open ssh
所以我使用 ufw 打开端口 (25/tcp、80/tcp、443/tcp、3306/tcp)
$sudo ufw allow 25/tcp
Rule updated
随后,ufw 列出相同的端口 (22/tcp) 处于打开状态:
PORT STATE SERVICE
22/tcp open ssh
我是不是漏掉了什么?端口是否打开了,但只是没有显示为打开?是不是因为 nmap 丢失了它们的状态,因为 Ubuntu 拒绝让其查看它们是否打开,因为没有任何东西在监听?
答案1
端口只是 TCP 地址的一部分数字。如果某个程序正在该端口上等待传入连接(“监听”),则该端口称为“打开”,否则称为“关闭”。
内核可能会过滤某个端口的流量,使其对部分或全部远程地址“关闭”。例如,您可以使用 ufw 配置此过滤器。
因此 ufw 不能打开端口,它只能告诉内核过滤或不过滤给定端口的流量。
您只告诉 ufw 不要过滤给定的端口(这是默认设置)。您仍然需要一些程序来监听这些端口,以使它们“打开”。