Linux编程之Linux 初次引进 nftables,你大概会喜好 nftables 的来由仓酷云
学习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系统: 请问谁有Linux的学习心得的吗?简单的说说? 期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。? Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问。 安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。 清楚了解网络的基础知识,特别是在Linux下应用知识,如接入internet等等。 Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。? 任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统. 熟悉系统的基本操作,Linux的图形界面直观,操作简便,多加上机练习就可熟悉操作,在Linux下学习办公软件等常用软件。 就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
页:
[1]