# ubuntu14.04用iptables添加屏蔽IP规则

在 Ubuntu 14.04 上屏蔽特定 IP（如 `192.168.95.80`）的所有访问，最常用且有效的方法是使用 **`iptables`**（Ubuntu 14.04 默认防火墙工具）或 **`ufw`**（Uncomplicated Firewall，如果已安装）。

以下是具体操作步骤：

### 方法一：使用 `iptables`（推荐，适用于所有 Ubuntu 14.04 系统）

`iptables` 是底层防火墙工具，Ubuntu 14.04 默认自带。

#### 1. 添加屏蔽规则

打开终端，运行以下命令将来自 `192.168.95.80` 的所有流量直接丢弃（DROP）：

```bash
sudo iptables -A INPUT -s 192.168.95.80 -j DROP

```

- `-A INPUT`: 追加规则到输入链（处理进入本机的流量）。
- `-s 192.168.95.80`: 指定源地址（Source）。
- `-j DROP`: 动作是丢弃数据包，不返回任何信息（对方会感觉超时）。

> **注意**：如果你希望对方收到“连接被拒绝”的提示而不是超时，可以将 `DROP` 改为 `REJECT`： `sudo iptables -A INPUT -s 192.168.95.80 -j REJECT` 通常为了安全隐蔽，建议使用 `DROP`。

#### 2. 验证规则是否生效

运行以下命令查看当前的防火墙规则列表：

```bash
sudo iptables -L -n --line-numbers

```

你应该能在 `INPUT` 链中看到类似这样的一行： `DROP       all  --  192.168.95.80      0.0.0.0/0`

#### 3. 【重要】永久保存规则

**Ubuntu 14.04 的 iptables 规则重启后会失效**，除非你手动保存。

**步骤 A：安装保存工具（如果尚未安装）**

```bash
sudo apt-get update
sudo apt-get install iptables-persistent

```

在安装过程中，它会询问是否保存当前的 IPv4 和 IPv6 规则，选择 `<Yes>`。

**步骤 B：如果已安装工具，手动保存** 如果你之前已经安装了 `iptables-persistent`，或者想手动更新保存：

```bash
sudo sh -c "iptables-save > /etc/iptables/rules.v4"

```

*(如果是 IPv6，则保存到 `/etc/iptables/rules.v6`)*

---

### 方法二：使用 `ufw`（仅限已启用 UFW 的系统）

如果你的系统已经启用了 `ufw`（可以通过 `sudo ufw status` 检查），可以使用更简单的命令。

#### 1. 添加拒绝规则

```bash
sudo ufw deny from 192.168.95.80

```

#### 2. 重载防火墙使规则生效

```bash
sudo ufw reload

```

#### 3. 验证

```bash
sudo ufw status numbered

```

你会看到一条 `Deny 192.168.95.80` 的规则。UFW 默认会自动持久化规则，重启后依然有效。

---

### 如何取消屏蔽？

如果你以后需要恢复该 IP 的访问：

**如果是用 `iptables` 添加的：**

1. 查看规则编号：`sudo iptables -L INPUT --line-numbers -n`
2. 找到对应 `192.168.95.80` 的编号（假设是 5）： ```bash
    sudo iptables -D INPUT 5
    
    ```
3. 记得重新保存：`sudo sh -c "iptables-save > /etc/iptables/rules.v4"`

**如果是用 `ufw` 添加的：**

```bash
sudo ufw delete deny from 192.168.95.80

```

### ⚠️ 特别提示

- **不要屏蔽自己**：如果你是通过 `192.168.95.80` 这台机器 SSH 连接到当前服务器的，执行上述命令后，**你的连接会立即断开且无法再连上**。请确保你在另一台机器上操作，或者通过控制台（Console/VNC）操作。
- **Ubuntu 14.04 已停止支持**：请注意 Ubuntu 14.04 (Trusty Tahr) 已于 2019 年结束标准支持，甚至扩展安全维护（ESM）也可能即将或已经结束。建议尽快规划升级到更新的 LTS 版本（如 20.04 或 22.04），以获得最新的安全补丁。