防火墙规则

ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。

参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,192.168.61.3表示要封停的IP,DROP表示放弃连接。

查看所有IP规则表

iptables --list

要封停一个IP,使用下面这条命令:

iptables -I INPUT -s 192.168.61.3 -j DROP

要解封一个IP,使用下面这条命令:

iptables -D INPUT -s 192.168.61.3 -j DROP

暂时删除所有防火墙规则

iptables --flush

要添加IP段到封停列表中,使用下面的命令:

iptables -I INPUT -s 121.0.0.0/8 -j DROP

ufw(Uncomplicated Firewall)是一个为 Linux 系统提供简单易用的命令行界面的防火墙管理工具。它是基于 iptables的,但提供了更简洁的语法和更直观的操作方式,使得配置防火墙变得更加简单,特别适合那些希望快速设置基本防火墙的用户,同时也支持更高级的配置需求。

显示 ufw 的当前状态:


sudo ufw status

启用 ufw:


sudo ufw enable

禁用 ufw:


sudo ufw disable

允许所有传入流量:


sudo ufw default allow incoming

拒绝所有传入流量:


sudo ufw default deny incoming

允许所有传出流量:


sudo ufw default allow outgoing

拒绝所有传出流量:


sudo ufw default deny outgoing

允许来自特定 IP 地址的流量:


sudo ufw allow from 192.168.1.100

拒绝来自特定 IP 地址的流量:


sudo ufw deny from 192.168.1.200

允许特定端口的流量(例如,TCP 端口 80):


sudo ufw allow 80/tcp

拒绝特定端口的流量(例如,UDP 端口 53):


sudo ufw deny 53/udp

允许特定服务的流量(例如,SSH):


sudo ufw allow ssh

拒绝特定服务的流量(例如,MySQL):


sudo ufw deny mysql

限制特定端口的连接尝试(例如,每分钟不超过 20 次):


sudo ufw limit 22/tcp

删除特定规则的编号(例如,删除编号为 3 的规则):


sudo ufw delete 3

在特定位置插入规则(例如,在编号 5 的位置插入规则):


sudo ufw insert 5 allow 2222/tcp

重新加载 ufw 的规则:


sudo ufw reload

重置 ufw 的规则到默认状态:


sudo ufw reset

显示 ufw 的当前状态,包括规则编号:


sudo ufw status numbered

显示 ufw 的详细状态:


sudo ufw status verbose