nftables 嘗鮮中 - Linux

William avatar
By William
at 2014-05-21T19:48

Table of Contents

昨天稍微嘗試一下 nftables ,基本概念跟 iptables 一樣,因為中
文資料不太多,所以我上來寫一些資料當參考,下面是我這台機器跟
參考資料來源。

發行版:Slackware64 14.1(已更新到 Current)
參考資料: Arch 跟 Gentoo 的 wiki 、netfilter 的 wiki。
安裝套件: nftables 跟 libnftnl

------------------------------------------------------------
我是神煩對齊線 ㄟ (o__ oㄟ) 吃我螳螂拳
------------------------------------------------------------
1.
nftables 最明顯的改變之一就是語法,過去指定參數時要用「 -參
數 資料」,現在簡化成「參數 資料」的格式,不需要多加負號。

2.
過去要打好幾行指令才能完成的動作,現在可以簡化成一行,例如下
面這兩行 iptables 的指令。

> iptables -A input -j LOG
> iptablse -A input -j ACCEPT

在 nftables 簡化成一條。

> nft add rule ip filter input log accept

3.
預設狀態下沒有 table 跟 chain,要自己設定,要類似 iptables
的 table 跟 chain 可以引入 /etc/nftables/ipv4-filter 這份
設定檔,除了跟過去一樣透過 bash 新增規則,也可用 ipv4-filter
的方式新增規則,這設定檔看起來有點像 Lisp ,我喜歡。^_^

4.
新增 family 的概念,一般常用的應該是 ip 跟 ip6 這兩個,前者
指 ipv4,後者指 ipv6 ,而操作 ip 此 family 就相當於直接使用
iptables 新增規則,ipv6 則相當於 ip6tables,以此類推,如果
操作時沒加上 family 則預設為 ip ,因為個別新增有點麻煩,之後
似乎會新增一個 inet family,操作 inet 等於同時操作 ip 跟 ip6
,下面兩個例子分別在 ipv4 跟 ipv6 中新增叫 filter 的 table。

> nft add table filter
> nft add table ip6 filter

5.
某些常用的 port 可以替換成文字,例如 80 可以直接寫 http 而不
是數字。

6.
修改規則有兩種命令,分別是 flush 跟 delete ,想用 delete 刪
除某個 table 或 chain,必須先使用 flush 清空整個 chain 或
table 才能刪除。

------------------------------------------------------------
沒梗富奸中的分隔線
------------------------------------------------------------

其實還有蠻多東西可以寫的,但幾乎都是 nft 實際使用時的命令之
類的,也許之後有機會再寫了,我認為要知道的幾件事寫出來後,就
開始想富奸化,總之先寫到這邊了,之後有想補充會繼續寫在這篇。

--
Tags: Linux

All Comments

Iris avatar
By Iris
at 2014-05-22T11:45
release 了喔 @@a
William avatar
By William
at 2014-05-23T08:20
release了,目前0.2版,不過我猜要在各個發行版穩定的使用
,應該還有一段時間。
Skylar Davis avatar
By Skylar Davis
at 2014-05-28T07:58
Gentoo套件庫有0.099版本的,不過我Kernel不夠新XD
Lucy avatar
By Lucy
at 2014-05-29T07:36
我拿 Fedora rawhide 的 SRPM rebuild 給 Fedora 20 用
Olga avatar
By Olga
at 2014-05-31T07:49
http://tinyurl.com/o3kyoz8
Emily avatar
By Emily
at 2014-06-03T08:55
push

Additional Add-On Services是什麼意思?

John avatar
By John
at 2014-05-21T04:18
(VPS) Virtual Private Server Includes: Unlimited Domain andamp; DNS hosting SSH Root Access, DNS Hosting, Optional Webmin Control Panel, and Backups/Resto ...

Linux mint無法更改開機選單

Wallis avatar
By Wallis
at 2014-05-20T10:06
http://i.imgur.com/v0qHmtr.png 如圖 輸入指令後顯示 command not found 感謝各位大大^^and#34; - ...

Mint 安裝好 lxc 找不到 template

Tom avatar
By Tom
at 2014-05-20T02:51
我的環境是: 3.11.0-12-generic #19-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux 我用 apt-get install lxc 安裝完成後 直接打 lxc-create -t ubuntu -n test-lxc 卻一直出現這樣的訊息: ...

HackingThursday 固定聚會 (2014-05-22)

Kelly avatar
By Kelly
at 2014-05-19T12:06
通告網址: [http://www.hackingthursday.org/][1] * * * * 時間: 每週四晚上 19:30 至 22:00 ( 熱食供應至 20:00 ) * 地點: 伯朗咖啡 ( 建國店 ) * 地址: 台北市大安區建國南路一段 166 號 2 樓 * 鄰 ...

kernel module 鍵盤控制螢幕

Iris avatar
By Iris
at 2014-05-17T23:42
想請問透過kernel module 希望能用鍵盤控制螢幕 可以在按不同按鍵時 控制出現不同畫面 目前是想說 1.可能是X window 然後撰寫個module去控制 2.透過alt+tab的切換動作 去找尋類似資料(但也幾乎找不到資料 因為我是初學中的初學 雖然說想到這幾個想法 但其實連module也不太 ...