自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

nftables 走到了 1.0 版本

系統(tǒng) Linux
Linux 內(nèi)核是一個(gè)快速發(fā)展的項(xiàng)目,但有時(shí)候一些改動(dòng)的進(jìn)展仍是出乎意料的緩慢。替換內(nèi)核數(shù)據(jù)包過(guò)濾子系統(tǒng)(packet-filtering subsystem)的 nftables 項(xiàng)目起源于 2008 年,但仍未被大多數(shù)(甚至可能更多)生產(chǎn)系統(tǒng)中的防火墻場(chǎng)景使用起來(lái)。不過(guò),正如 8 月 19 日發(fā)布的 nftables 1.0.0 所強(qiáng)調(diào)的那樣,這一變化可能已經(jīng)越來(lái)越近了。

Linux 內(nèi)核是一個(gè)快速發(fā)展的項(xiàng)目,但有時(shí)候一些改動(dòng)的進(jìn)展仍是出乎意料的緩慢。替換內(nèi)核數(shù)據(jù)包過(guò)濾子系統(tǒng)(packet-filtering subsystem)的 nftables 項(xiàng)目起源于 2008 年,但仍未被大多數(shù)(甚至可能更多)生產(chǎn)系統(tǒng)中的防火墻場(chǎng)景使用起來(lái)。不過(guò),正如 8 月 19 日發(fā)布的 nftables 1.0.0 所強(qiáng)調(diào)的那樣,這一變化可能已經(jīng)越來(lái)越近了。

[[423263]]

第一個(gè)公開(kāi)的 nftables 版本是由 Patrick McHardy 在 2009 年初發(fā)布的。當(dāng)時(shí),內(nèi)核有一個(gè)以 iptables 這個(gè)形式存在的具備類似功能的數(shù)據(jù)包過(guò)濾子系統(tǒng),當(dāng)然,它雖然一直被人們廣泛使用,但有一些問(wèn)題促使著人們提出了改動(dòng)。這些問(wèn)題包括:內(nèi)核存在著(并且現(xiàn)在仍然是這樣)好幾個(gè)包過(guò)濾機(jī)制:一個(gè)用于 IPv4,另一個(gè)用于 IPv6,還有一個(gè)用于 ARP,等等。這些子系統(tǒng)中的每一個(gè)基本上都是完全獨(dú)立的,有很多重復(fù)代碼。除此之外,iptables 還包含了太多的內(nèi)置協(xié)議相關(guān)的信息,并且 API 比較難用,所以很難在不替換整個(gè)規(guī)則集的情況下來(lái)更新其中的一個(gè)規(guī)則。

nftables 核心理念是要丟棄所有的協(xié)議感知(protocol-aware)那些機(jī)制,取而代之的是一個(gè)可以從用戶空間來(lái)開(kāi)發(fā)配置的簡(jiǎn)單的虛擬機(jī)。管理員仍然可以寫(xiě)出一些涉及到特定的數(shù)據(jù)包頭字段之類的規(guī)則,但用戶空間的工具會(huì)將這些規(guī)則轉(zhuǎn)化為更底層的獲取和比較操作,然后將生成的東西加載到內(nèi)核中去。這樣一來(lái)數(shù)據(jù)包過(guò)濾引擎就更加小巧靈活了,可能會(huì)表現(xiàn)更好??偟膩?lái)說(shuō),一旦能將大量用戶過(guò)渡過(guò)來(lái)的話,應(yīng)該是一件有好處的事情。

nftables 在推出時(shí)引起了一些轟動(dòng),但后來(lái)就陷入困境并從人們的視線中消失了,也許是因?yàn)?McHardy 花了更多精力去進(jìn)行更多的法律訴訟了。不過(guò)在 2013 年的時(shí)候 Pablo Neira Ayuso 重新啟動(dòng)了這個(gè)項(xiàng)目,他的想法是盡快將代碼并入主線,在這一點(diǎn)上他成功了,在 2014 年初的時(shí)候 nftables 進(jìn)入了 3.13 內(nèi)核。

此后的工作一直是在努力填補(bǔ)空缺功能,使 nftables 能具有足夠的吸引力讓用戶愿意遷移過(guò)來(lái)。編寫(xiě)過(guò)濾規(guī)則的語(yǔ)言已經(jīng)獲得了許多許多功能,包括有狀態(tài)跟蹤(stateful tracking)、創(chuàng)建地址映射、高效處理地址間隔(address intervals)和大規(guī)模的規(guī)則鏈,以及支持了眾多協(xié)議。當(dāng)然,還包括文檔。nftables 維基頁(yè)面就有很多信息介紹這一切是如何工作的。

當(dāng)然,要讓大家從 iptables 過(guò)渡過(guò)來(lái),還有一個(gè)很大的阻礙:大量早已部署的、使用 iptables 的防火墻。在許多情況下,重寫(xiě)防火墻規(guī)則可能是最好的行動(dòng)方案,因?yàn)樵S多復(fù)雜的過(guò)濾配置在新方案中可以更有效地表達(dá)出來(lái)。但是,對(duì)于那些只想讓他們之前辛辛苦苦開(kāi)發(fā)出來(lái)的防火墻能繼續(xù)工作的管理員來(lái)說(shuō),nftables 可能就沒(méi)有人們想象的那么吸引人了。nftables 的開(kāi)發(fā)者已經(jīng)開(kāi)發(fā)了一套腳本,將 iptables 防火墻翻譯成 nftables 的描述,這應(yīng)該會(huì)有所幫助,但遷移仍是一個(gè)很大的變化。

某些情況下,用戶可能實(shí)際上會(huì)在不知不覺(jué)中完成這個(gè)大轉(zhuǎn)變。Linux 發(fā)行版中已經(jīng)支持 nftables 一段時(shí)間了,而且正在努力將紅帽的 firewalld 等工具移植到 nftables。這樣以來(lái),用戶可能一開(kāi)始接觸到的就不是 iptables 規(guī)則,因此他足夠幸運(yùn)的話,就完全不會(huì)注意到底層機(jī)制已經(jīng)改變了。

這種變化何時(shí)會(huì)發(fā)生呢?還有點(diǎn)難說(shuō)。2018 年 Netfilter 研討會(huì)宣稱,iptables 是“一個(gè)過(guò)時(shí)的工具”,它的日子已經(jīng)不多了。2019 年的 Debian 10 “buster” 版本中默認(rèn)切換到了 nftables,而 Ubuntu 直到 21.04 版本才跟進(jìn)。雖然幾乎所有的發(fā)行版都搭載了 nftables,但很多還沒(méi)有默認(rèn)使用起來(lái)。

nftables 1.0.0 的發(fā)布可以被看作是一個(gè)信號(hào),即現(xiàn)在是那些落伍者需要更認(rèn)真地考慮進(jìn)行切換的時(shí)候了。雖然 iptables 的支持應(yīng)該不太可能會(huì)很快地被移除掉,但完全可以預(yù)料到維護(hù) iptables 的熱情會(huì)持續(xù)減弱。新的功能將會(huì)在 nftables 中出現(xiàn),而用戶最終則需要遷移過(guò)來(lái)才能利用好這些新功能。雖然 只 花了 13 年時(shí)間,但這個(gè)過(guò)渡似乎終于要進(jìn)入最后階段了。

不過(guò)還有一個(gè)有趣的問(wèn)題。2018 年 BPF 開(kāi)發(fā)者宣布了 bpfilter,一個(gè)運(yùn)行在 BPF 虛擬機(jī)上的數(shù)據(jù)包過(guò)濾機(jī)制,在當(dāng)時(shí)引起了一些關(guān)注。BPF 過(guò)去的發(fā)展勢(shì)頭非常好(而且現(xiàn)在也保持著),它做了很多工作來(lái)優(yōu)化虛擬機(jī)并使其可以安全地工作??梢哉f(shuō),合理的策略應(yīng)該是使用它,而不是維護(hù)另一個(gè)單單只用于包過(guò)濾工作的虛擬機(jī)。這樣就可以去掉一堆代碼,把維護(hù)工作集中在 BPF 上。

bpfilter 代碼在 4.18 內(nèi)核發(fā)布時(shí)被包含了進(jìn)去,并且?guī)?lái)了一個(gè)“用戶模式 blobs”機(jī)制,旨在促進(jìn)防火墻規(guī)則向新方案的轉(zhuǎn)變。然而,從那時(shí)起這段代碼的開(kāi)發(fā)就停止了。在 2021 年間,net/bpfilter 的代碼只有兩次(而且都是微不足道)的修改。2020 年 6 月討論了要不要?jiǎng)h除這段代碼,但當(dāng)時(shí)它幸存了下來(lái)。從那時(shí)起,塵封的蛛網(wǎng)只會(huì)越積越厚,似乎可以判斷說(shuō),bpfilter 目前并不是一個(gè)在活躍開(kāi)發(fā)的領(lǐng)域,而且它似乎也不太可能很快取代 nftables 了。

還很難說(shuō)這個(gè)判斷是否是“正確的”。也許 nftables 所使用的專門(mén)用途的虛擬機(jī)比起通用用途的 BPF 能更好地解決這個(gè)特有領(lǐng)域的問(wèn)題?;蛘哒f(shuō),nftables 之所以能夠勝出,僅僅是因?yàn)樗澈蟮拈_(kāi)發(fā)者持續(xù)活躍著并推動(dòng)著項(xiàng)目的發(fā)展。內(nèi)核開(kāi)發(fā)成功的關(guān)鍵之一很簡(jiǎn)單,就是要有持續(xù)性。對(duì)于像數(shù)據(jù)包過(guò)濾這樣關(guān)鍵的子系統(tǒng)來(lái)說(shuō),這一點(diǎn)更是如此,知道開(kāi)發(fā)人員是長(zhǎng)期投入?yún)⑴c進(jìn)來(lái)的,是會(huì)讓人們非常安心的。

責(zé)任編輯:未麗燕 來(lái)源: Linux中國(guó)
相關(guān)推薦

2023-09-04 15:42:19

人工智能

2019-10-29 10:52:40

nftables防火墻開(kāi)源

2016-11-25 22:27:57

阿里云計(jì)算

2012-09-13 11:35:50

2013-10-21 17:21:38

Linux內(nèi)核Nftablesiptables

2023-05-26 01:08:36

GA開(kāi)發(fā)人員容器

2021-08-11 08:32:24

Firefox英特爾LLVM

2011-07-04 09:26:04

Ubuntu

2016-04-26 09:52:20

Apache Stor流處理大數(shù)據(jù)

2009-04-24 09:06:10

打包軟件打包器Cargo

2011-04-28 19:51:03

2022-03-01 07:31:50

MIME網(wǎng)絡(luò)郵件

2023-06-09 09:10:06

nftablesiptables

2011-11-16 10:10:47

Go

2010-03-03 13:51:19

Android SDK

2011-08-30 14:03:01

KeryxUbuntu

2022-11-29 15:05:16

大數(shù)據(jù)數(shù)據(jù)網(wǎng)格

2022-01-25 15:32:11

AI芯片開(kāi)發(fā)

2013-06-18 10:48:41

OpenSUSEOpenSUSE 12

2014-06-23 09:04:56

Docker
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)