---
title: "Ubuntu 开放指定端口"
url: "https://yjyj.net/learn/6209.html"
author: "小 虾 (生猛大蝦编辑部)"
published_at: "2021-05-27T17:04:28+08:00"
updated_at: "2025-01-19T23:04:21+08:00"
categories: "招数学习"
tags: "CentOS教程, Debian系统, iptables, Linux运维, ubuntu"
summary: "本文讲清 Ubuntu 如何开放指定 TCP 端口：先用 iptables 临时放行指定端口，再通过 iptables-persistent 与 netfilter-persistent 保存规则，避免重启后失效，适合快速处理服务器端口访问问题。"
source: "生猛大蝦 (https://yjyj.net)"
---

# Ubuntu 开放指定端口

> 来源：[生猛大蝦 (yjyj.net)](https://yjyj.net/learn/6209.html) · 作者：小 虾 · 发布时间：2021-05-27

## 30 秒核心看点 (TL;DR)

- 用 iptables -I INPUT 按端口放行 TCP 流量，操作直接有效。
- iptables-save 只能临时保存，重启后规则仍可能丢失。
- 配合 iptables-persistent 和 netfilter-persistent，才能把开放端口真正固化。

一般情况下，ubuntu安装好的时候，iptables会被安装上，如果没有的话先安装
`sudo apt-get install iptables`
添加开放端口

```
# sudo iptables -I INPUT -p tcp --dport [端口号] -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# 临时保存配置，重启后失效
sudo iptables-save
```

安装 iptables-persistent工具，持久化开放端口配置
`sudo apt-get install iptables-persistent`

```
sudo netfilter-persistent save
sudo netfilter-persistent reload
```

## 生猛大蝦编辑部 · 背景与实操延伸

这篇内容虽然短，但核心是“先放行、再固化”。在 Ubuntu 上改防火墙规则时，最容易踩坑的是只做了临时放行，却忘了持久化，导致服务一重启就访问失败。实操时建议先确认端口确实被业务程序监听，再添加规则；如果机器上还有其他防火墙策略，也要一起排查，避免只开了端口却仍然连不上。

## 延伸问答与排错指南 (FAQ)

### Ubuntu 开放端口后为什么重启就没了？
因为只执行了临时规则写入，没有把 iptables 规则持久化。重启后内核防火墙规则会恢复，需安装 iptables-persistent，并用 netfilter-persistent save 保存，再 reload 验证。

### 开放 80 端口的命令怎么写？
可直接执行 sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT。若要开放其他端口，把 80 替换成目标端口号即可。执行后建议再检查现有规则是否已插入成功。

### iptables 和持久化工具分别负责什么？
iptables 负责即时添加防火墙放行规则，适合立刻生效；iptables-persistent 与 netfilter-persistent 负责把规则保存到系统配置中，让重启后仍然保留。两者通常要配合使用。

---
更多 Linux 运维、WordPress 性能优化、前端工程化、Shopify 独立站与极客折腾指南：[生猛大蝦全站文章归档 (https://yjyj.net/archive)](https://yjyj.net/archive)
