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):
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. 验证规则是否生效
运行以下命令查看当前的防火墙规则列表:
sudo iptables -L -n --line-numbers
你应该能在 INPUT 链中看到类似这样的一行: DROP all -- 192.168.95.80 0.0.0.0/0
3. 【重要】永久保存规则
Ubuntu 14.04 的 iptables 规则重启后会失效,除非你手动保存。
步骤 A:安装保存工具(如果尚未安装)
sudo apt-get update
sudo apt-get install iptables-persistent
在安装过程中,它会询问是否保存当前的 IPv4 和 IPv6 规则,选择 <Yes>。
步骤 B:如果已安装工具,手动保存 如果你之前已经安装了 iptables-persistent,或者想手动更新保存:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
(如果是 IPv6,则保存到 /etc/iptables/rules.v6)
方法二:使用 ufw(仅限已启用 UFW 的系统)
如果你的系统已经启用了 ufw(可以通过 sudo ufw status 检查),可以使用更简单的命令。
1. 添加拒绝规则
sudo ufw deny from 192.168.95.80
2. 重载防火墙使规则生效
sudo ufw reload
3. 验证
sudo ufw status numbered
你会看到一条 Deny 192.168.95.80 的规则。UFW 默认会自动持久化规则,重启后依然有效。
如何取消屏蔽?
如果你以后需要恢复该 IP 的访问:
如果是用 iptables 添加的:
- 查看规则编号:
sudo iptables -L INPUT --line-numbers -n - 找到对应
192.168.95.80的编号(假设是 5):sudo iptables -D INPUT 5 - 记得重新保存:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
如果是用 ufw 添加的:
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),以获得最新的安全补丁。
No Comments