- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nftables配置参考资料课案
nftables配置
一、概述
nftables包过滤框架历史小解:
HYPERLINK /dog250/article/details/dog250/article/details
nftables配置详解:
HYPERLINK /wiki-nftables/index.php/Main_Page/wiki-nftables/index.php/Main_Page
此文档的内容是根据上面的nftables配置详解的链接进行翻译整理的,有些地方可能有错误,对于有问题的地方,可以去上面的英文网站查询,同时对于一些不需要了解的内容,在文中只给出了链接。
nftables配置分为表、链、规则三个层次,示例如下:
table ip filter//表
{
chain input//链
{
type filter hook input priority 0;//规则
}
chain output//链
{
type filter hook output priority 0; //规则
ip daddr counter packets 0 bytes 0;//规则
}
}
二、基本操作
2.1、配置表
2.1.1、删除表
使用命令:
% nft delete table ip foo
功能说明:
删除整个表
其他备注:
上述命令适用于内核版本3.18及其之后的版本,但是,在此之前的版本,你需要先删除它的内容,否则你讲遇到类似下面这样的错误提示:
% nft delete table filter
cmdline:1:1-19: Error: Could not delete table: Device or resource busy
delete table filter
2.1.2、flush表
使用命令:
% nft flush table ip filter
功能说明:
删除属于ip filter表的所有规则
其他备注:
这将删除你注册在这个表中每条链所有的规则
2.2、配置链
在iptables中,你附加你的链。然而,与iptables模式操作相反,nftables基础结构没有预定义链,因此您需要首先注册您的基础链,然后才能添加任何规则。这允许非常灵活的配置。
2.2.1、添加基础链
添加基础链的语法如下:
% nft add chain [family] table-name chain-name { type type hook hook priority value \; }
基础链是注册到Netfilter钩子中的那些,即。这些链看到通过您的Linux TCP / IP堆栈的数据包。
以下示例显示如何通过以下命令向foo表添加新基础链:
% nft add chain ip foo input { type filter hook input priority 0 \; }
重要:如果从bash运行此命令,则必须转义分号。
此命令注册输入链,它附加到输入钩子,因此它将看到寻址到本地进程的数据包。
优先级很重要,因为它决定了链的顺序,因此,如果你在输入钩子有几个链,你可以决定哪一个在另一个之前看到的数据包。
如果你想使用nftables来过滤桌面Linux计算机的流量,即。一台不转发流量的计算机,也可以注册输出链:
% nft add chain ip foo output { type filter hook output priority 0 \; }
现在,您可以筛选传入(定向到本地进程)和传出(由本地进程生成)流量。
重要说明:如果不包括大括号中指定的规则配置,则创建的非基本规则将不会看到任何数据包(类似于iptables -N chain-name)。
对于nftables 0.5,您还可以像iptables中一样指定基本规则的默认策略:
% nft add chain ip foo output { type filter hook output priority 0 \; policy accept\; }
在iptables中,两个可能的默认策略是接受(accept)和删除(drop)。
在入口钩上添加规则时,必须指定规则将要连接的设备:
% nft add chain netdev foo dev0 filter { type filter hook ingress device eth0 priority 0 \; }
2.2.2、基本链类型
可能的规则类型是:
①filter:这显然是用来过滤数据包。 这是由arp,bridge,ip,ip6和inet表系列支持的。
文档评论(0)