当前位置: 首页 > news >正文

启迪网站建设招聘旅游景区宣传软文

启迪网站建设招聘,旅游景区宣传软文,桂林旅游几月份去最好,apcache wordpressnftables 基础学习笔记 1. 什么是 nftables nftables 是 Linux 防火墙子系统的框架(从 Linux 3.13 开始引入),它用于替代旧的 iptables/ip6tables/arptables/ebtables 等工具,提供更统一、更灵活、更高效的防火墙规则管理方式。…

nftables 基础学习笔记

1. 什么是 nftables

nftables 是 Linux 防火墙子系统的框架(从 Linux 3.13 开始引入),它用于替代旧的 iptables/ip6tables/arptables/ebtables 等工具,提供更统一、更灵活、更高效的防火墙规则管理方式。

相比于传统的 iptables:

  • 规则更简洁:nftables 用一条规则可以处理多个协议字段,而 iptables 往往需要多条规则。
  • 可读性更好:nftables 使用类似编程语言的写法,支持批量编辑。
  • 性能更佳:规则的执行更高效,占用更少的系统资源。

2. 安装与启用

2.1 安装

不同发行版安装方式略有差异,常见的:

  • Debian / Ubuntu 系列:
    sudo apt-get update
    sudo apt-get install nftables
    
  • CentOS / RHEL 系列:
    sudo yum install nftables
    
  • Fedora
    sudo dnf install nftables
    

2.2 启动与开机自启

安装完成后,可以启用服务并设置开机启动:

# 启动服务
sudo systemctl start nftables# 查看 nftables 状态
sudo systemctl status nftables# 设置开机启动
sudo systemctl enable nftables

3. 基础概念

要想理解 nftables,需要了解三个核心概念:表(table)链(chain)规则(rule)

  1. Table(表)

    • 用于逻辑分组规则。类似 iptables 中的 filter、nat 表。
    • nftables 中可以自己命名表,比如 inet filterip nat 等。
  2. Chain(链)

    • 每个表里可以包含多个链。链中定义了处理数据包的流程(例如 input, forward, output 等)。
    • 也可以自定义用户链,用来按需编排复杂逻辑。
  3. Rule(规则)

    • 具体的防火墙匹配逻辑和处理动作都写在规则中,挂载在某个表的某条链里。
    • 动作可以是:accept, drop, reject, log, redirect, masquerade 等。

4. nftables 的基本操作示例

下面是一些常见的 nftables 命令操作示例,帮助快速上手。

4.1 查看当前配置

sudo nft list ruleset
  • 该命令会列出当前系统已生效的所有 nftables 规则集,包括表、链、规则等内容。

4.2 新建表与链

4.2.1 新建表
sudo nft add table inet mytable
  • 这里示例了在 “inet” 协议簇中新建一个名为 mytable 的表。
  • “inet” 协议簇表示同时支持 IPv4 和 IPv6,你也可以使用 ip, ip6, arp, bridge 等协议簇。
4.2.2 新建链
sudo nft add chain inet mytable mychain { type filter hook input priority 0\; }
  • 该命令含义:
    • type filter:表明这是一个过滤链。
    • hook input:该链挂载在 “input” 钩子上,处理进来(进入本机)数据包。
    • priority 0:优先级,数值越小,越先处理。

常见的 hook:

  • input:处理发往本机的数据包。
  • forward:处理转发数据包(主机作为路由器或转发流量时)。
  • output:处理本机发送的数据包。
  • prerouting / postrouting:常用于 NAT 场景。

4.3 添加规则

在链中添加规则,语法一般类似:

sudo nft add rule <协议簇> <表名> <链名> <匹配条件> <动作>
示例:允许 SSH 连接
sudo nft add rule inet mytable mychain tcp dport ssh accept
  • 允许 TCP 端口为 22(ssh) 的连接通过。
示例:丢弃某个 IP 地址的访问
sudo nft add rule inet mytable mychain ip saddr 192.168.1.100 drop
  • 匹配源 IP 为 192.168.1.100 的数据包,直接丢弃(drop)。

4.4 修改 / 删除 规则

  • 修改规则 一般先删除再添加。nftables 也支持一些原子操作,比如直接替换,但对小白而言,删除+添加更简单。
  1. 列出规则行号

    sudo nft list chain inet mytable mychain -a
    
    • -a 参数用于显示规则的句柄(handle),帮助我们精确定位规则。
  2. 删除规则

    # 通过句柄删除
    sudo nft delete rule inet mytable mychain handle <句柄号>
    
    • 先通过列出规则的句柄,然后再用该句柄删除想要的规则。

4.5 持久化

编辑完规则后,如果你想让它们在系统重启后仍然生效,需要持久化配置。

  1. 有些发行版会在启动时自动加载 /etc/nftables.conf 中的内容。可以将规则直接写进这个文件。
  2. 也可通过命令行导出当前规则到 nftables.conf
    sudo nft list ruleset > /etc/nftables.conf
    
  3. 重启后,系统会自动读取并应用其中的规则。

5. nft 命令行实例小结

下面汇总一下常见的命令及含义:

命令作用
sudo nft list ruleset列出当前 nftables 的全部配置
sudo nft add table inet mytable创建名为 mytable 的表 (协议簇 inet)
sudo nft add chain inet mytable mychain {...}在 mytable 中创建一条链 (指定 hook & priority)
sudo nft add rule inet mytable mychain ...在 mychain 中添加规则
sudo nft delete rule inet mytable mychain handle X删除句柄为 X 的规则
sudo nft flush chain inet mytable mychain清空 mychain 链中所有规则
sudo nft flush table inet mytable清空 mytable 表中所有规则
sudo nft delete chain inet mytable mychain删除 mychain 链
sudo nft delete table inet mytable删除 mytable 表

6. 更多示例与技巧

6.1 NAT 示例

sudo nft add table ip nat
sudo nft add chain ip nat prerouting { type nat hook prerouting priority 0\; }
sudo nft add chain ip nat postrouting { type nat hook postrouting priority 100\; }# 例如:将所有发往 192.168.0.100:80 的流量重定向到 8080
sudo nft add rule ip nat prerouting tcp dport 80 redirect to 8080# 例如:源地址伪装
sudo nft add rule ip nat postrouting ip saddr 192.168.0.0/24 oif "eth0" masquerade

6.2 记录日志(log)

有时需要排查防火墙是否匹配到某条规则,可使用 log 动作:

sudo nft add rule inet mytable mychain tcp dport 80 log prefix "HTTP_PORT80: " drop## 7. 简要工作流程图```mermaid
flowchart LRA[网络数据包] --> B[内核 netfilter]B --> C[匹配 nftables hook]C --> D[查找对应表 &]D --> E[规则匹配 / 执行动作]E --> F[accept, drop, log等结果]
  • 当数据包到达内核后,会根据不同阶段(hook)进入相应的 nftables 链匹配规则,并执行对应的动作。

8. 常见问题

  1. iptables 与 nftables 冲突吗?

    • 大多数发行版已经将 iptables 的后端替换成了 nftables,但仍保留 iptables-nft 兼容包。如果你使用了传统的 iptables 命令,实际上也在调用 nftables 后端。
    • 建议统一使用 nftables 命令管理,以免混淆。
  2. 如何调试规则?

    • 建议先使用 sudo nft list ruleset 查看规则是否如预期;
    • 再检查系统日志、dmesg、或者使用 log 动作排查是否匹配到规则。
  3. 为什么规则不生效或重启后丢失?

    • 需要确认服务是否开启并在开机启动,以及是否将规则持久化保存到 /etc/nftables.conf 等对应文件里。

9. 结语

nftables 提供了强大的防火墙管理能力,同时简化了配置。对于初学者,掌握常用的 “增删改查” 命令、表链规则逻辑和持久化操作基本就能满足日常需求。在实际生产环境中,你可以根据需求编写更复杂的规则脚本来实现流量控制、NAT 转发、端口映射等功能。

建议进一步学习:

  1. 官方文档 (英文)
  2. [各发行版的 nftables 手册]
  3. 关于 nft 语言的高级用法,包含映射(maps)、链式多重条件、计数器(counter)等。
http://www.dtcms.com/a/538243.html

相关文章:

  • 网页设计与网站建设课程总结怎样用盒子做汽车视频网站
  • 做论坛网站的元素网站建设管理分工
  • 石家庄新钥匙网站建设杭州网站建设公司排名
  • openwrt 网站开发外贸邮箱用哪个比较好
  • 郑州餐饮 网站建设知名企业vi设计
  • 有没有做任务拿佣金的网站营销活动方案模板
  • 沈阳网站icp备案网络营销产品的概念举例
  • 无锡军自考网站建设上海人才网站建设
  • Qt5 中解决 setWindowTitle 中文乱码问题详解
  • 江门cms建站开发app需要多少钱?
  • 做笑话网站赚钱农村电商
  • 网站建设的费用计入网站型营销
  • 大兴做网站公司东莞有哪几家网络开发公司
  • 广东省 网站制作网站数据迁移教程
  • 网站建设基本流程 dnsasp网站如何实现伪静态
  • 【ROS2】使用 supervisor 实现自启动 launch
  • 上海易站网站建设郑州计算机培训机构哪个最好
  • 一般做网站销售提成wordpress 插件 推荐
  • 网站建站网站我待生活如初恋建网站投放广告赚钱
  • 初识多线程
  • 甘肃电子商务网站建设南京百度网站建设
  • 自动驾驶中的传感器技术72——Navigation(9)
  • 津南网站建设展位设计
  • 运城网站建设北京网站设计研究与开发公司
  • 专做polo衫的网站wordpress中文个人博客主题
  • 自己做网赌网站dedecms做网站视频
  • FFmpeg 基本数据结构 URLContext分析
  • cpanel 子网站网站开发属于哪一类
  • 档案网站建设经验成都网站建设索q479185700
  • 安陆网站建设杭州关键词优化外包