iptables 和它的周边们

为什么 netfilter-persistent 不生效?

因为只安装 netfilter-persistent 没用,必须要另外安装 iptables-persistent
而安装 iptables-persistent 时会自动安装 netfilter-persistent

所以如果你想用 netfilter-persistent 命令,则运行以下命令安装即可:

sudo apt install iptables-persitent

怎么保存 iptables 规则?

方案 1: netfilter-persistent

sudo apt install iptables-persitent
sudo netfilter-persitent save

此时规则会被保存到 /etc/iptables/rules.v4 中,重启后会自动加载。

方案 2: iptables-save

# 保存 iptables 规则
sudo iptables-save > /etc/iptables/rules
# 读取规则并写入 iptables
sudo iptables-restore < /etc/iptables/rule

手动操作比较麻烦,这里可以利用 /etc/network/interfaces 配置文件,实现网卡加载后自动载入 iptables 配置:编辑 /etc/network/interfaces,最最后添加一些内容:

pre-up iptables-restore < /etc/iptables/rules.v4

但是 ubuntu 20 利用 /etc/network/interfaces 的方法已经玩不转了,所以这个方法并不推荐使用。

方案 3: 自己实现一个 systemd 的 service

开个玩笑,哈哈哈,自己写一套脚本,其实最终就是 netfilter-persistent,直接用方案 1 吧。

### iptables Firewalld 的区别 iptables 是用于管理网络流量过滤地址转换 (NAT) 的工具,主要用于配置 Linux 内核中的 IP 数据包处理规则表[^2]。相比之下,Firewalld 提供了一个前端控制器来实现持久化的网络流量规则,并且提供了命令行图形界面两种方式来进行操作,在大多数 Linux 发行版的仓库中都可以找到它[^1]。 #### 主要差异 两个主要的不同之处在于: - **动态更新**:当通过 Firewalld 修改防火墙设置时,这些更改可以即时生效而不会破坏现有的会话连接;但是直接修改 iptables 则可能导致现有连接中断。 - **区域概念**:Firewalld 引入了“区域”的概念,允许用户定义不同级别的信任度并分配给各个接口或源IP地址范围。这使得管理应用复杂的网络安全策略变得更加直观简单[^3]。 #### 使用方法与配置 ##### Iptables 配置实例 对于 iptables 来说,通常需要手动编写规则并通过命令行添加到链中去执行相应的动作,如下所示是一个简单的例子用来阻止来自特定 IP 地址的数据流进入服务器: ```bash sudo iptables -A INPUT -s 192.0.2.1 -j DROP ``` ##### Firewalld 配置实例 而对于 Firewalld,则可以通过更高级别的抽象来简化这一过程。例如,如果想要达到同样的效果——拒绝某个 IP 访问本机资源,只需将其加入黑名单即可: ```bash sudo firewall-cmd --zone=block --add-source=192.0.2.1/32 ``` 此外还可以利用 `firewall-config` 工具提供 GUI 方式完成上述任务,这对于不熟悉命令行环境的新手来说非常友好。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值