|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
学习python,无论你是打算拿他当主要开发语言,还是当辅助开发语言,你都应该学习他,因为有些时间我们耗不起。
Linux3.13带来了良多特征。nftables也是第一次正式公布。nftables是一个努力于交换现有的{ip,ip6,arp,eb}tables框架(也就是人人熟知的iptables)的项目。但是,Linux3.13中的nftables版本仍是不完全的,还短少一些主要的特征。这些特征会在后续的Linux版本中公布。年夜多半场景下nftables已可使用,可是完全的撑持(即,nftables优先级高于iptables)应当在Linux3.15。
nftables引进了一个新的命令行工具nft。nft是iptables及其衍生指令(ip6tables,arptables)的超集。同时,nft具有完整分歧的语法。是的,假如你习气于iptables,这是个欠好的动静。可是有一个兼容层同意你利用iptables,而过滤是由内核中的nftables完成的。
到今朝为止,只要十分少的文档材料。你能够找到我的nftables疾速入手下手,其他的一些开端文档很快就会公然。
一些命令行例子
一行多个方针
到场你想用iptables纪录并抛弃一个包,你必需写两条划定规矩,一笔记录,一条抛弃:
1
2
iptables-AFORWARD-ptcp--dport22-jLOG
iptables-AFORWARD-ptcp--dport22-jDROP
利用nft,你能够把两个方针兼并到一同:
1
nftaddrulefilterforwardtcpdport22logdrop
便利创立汇合
假设你想针对分歧的端口同意包而且同意分歧的icmpv6范例。利用iptables,你必要利用相似以下的划定规矩:
1
2
3
4
5
ip6tables-AINPUT-ptcp-mmultiport--dports23,80,443-jACCEPT
ip6tables-AINPUT-picmpv6--icmpv6-typeneighbor-solicitation-jACCEPT
ip6tables-AINPUT-picmpv6--icmpv6-typeecho-request-jACCEPT
ip6tables-AINPUT-picmpv6--icmpv6-typerouter-advertisement-jACCEPT
ip6tables-AINPUT-picmpv6--icmpv6-typeneighbor-advertisement-jACCEPT
利用nft,汇合能够用在划定规矩中任一元素:
1
2
nftaddruleip6filterinputtcpdport{telnet,http,https}accept
nftaddruleip6filterinputicmpv6type{nd-neighbor-solicit,echo-request,nd-router-advert,nd-neighbor-advert}accept
如许更简单编写,并且关于过滤方加倍高效,由于对每种协定只必要增加一个划定规矩。
你也能够给汇合定名,以便在其他中央利用:
1
2
3
4
#nft-i#useinteractivemode
nft>addsetglobalipv4_ad{typeipv4_address;}
nft>addelementglobalipv4_ad{192.168.1.4,192.168.1.5}
nft>addruleipglobalfilteripsaddr@ipv4_addrop
以后,当检测到一个新的损坏者时:
1
2
#nft-i
nft>addelementglobalipv4_ad{192.168.3.4}
映照
nftables的一个初级特征就是映照。可使用分歧范例的数据并映照它们。比方,我们能够映照收集端口到公用的划定规矩汇合(之前创立的存储在一个链中)。在这个例子中,链的称号为low_sec和high_sec:
1
2
3
4
5
#nft-i
nft>addmapfilterjump_map{typeifindex:verdict;}
nft>addelementfilterjump_map{eth0:jumplow_sec;}
nft>addelementfilterjump_map{eth1:jumphigh_sec;}
nft>addrulefilterinputiifvmap@jump_map
如今,好比说你有一个新的静态端口ppp1,对它做过滤十分复杂,仅仅把它加到jump_map映照中就能够了。
1
nft>addelementfilterjump_map{ppp1:jumplow_sec;}
按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统: |
|