用 nftwatch 監控你的 Linux 防火牆
Netfilter 表(nftables)是現代 Linux 發行版中的默認防火牆。它在 Fedora 和 RHEL 8、最新的 Debian 和許多其他版本上都有。它取代了早期發行版中捆綁的舊版 iptables。它是一個強大的、值得的 iptables 替代品,作為一個廣泛使用它的人,我欣賞它的能力和功能。
nftables 的一個特點是能夠為許多元素添加計數器,例如規則。這些都是按需啟用的。你需要使用 counter
參數,在每一行明確地要求它。我為我的防火牆中的特定規則啟用了這些計數器,這使我能夠看到這些規則。
這讓我開始思考。我怎樣才能實時查看這些計數器?一開始我嘗試了 watch
,它允許諸如刷新率之類的東西,但我不喜歡默認格式,而且它不能滾動。我發現使用 head
和 tail
以及 awk
也不理想,並不存在一個用戶友好的解決方案。所以我自己寫了一個,我想與開源社區分享。
Linux 上的 nftwatch 介紹
我的解決方案,我稱之為 nftwatch
,做了幾件事:
- 它對 nftables 的輸出進行重新排序和改寫,使其更具有可讀性。
- 它允許向上或向下滾動輸出。
- 可以由用戶定義的刷新率(可以實時改變)。
- 它可以暫停顯示。
你得到的不是一個表格的轉儲,而是顯示每個規則活動的輸出。
你可以從它的 Git 倉庫下載它。
它是 100% 的 Python 代碼,100% 的開源,100% 的免費。它滿足了所有免費的高質量程序的要求。
在 Linux 上安裝 nftwatch
以下是手動安裝說明:
- 克隆或從 git 倉庫下載該項目。
- 將
nftwatch.yml
複製到/etc/nftwatch.yml
。 - 將
nftwatch
複製到/usr/local/bin/nftwatch
並使用chmod a+x
授予其可執行許可權。 - 使用
nftwatch
,不帶任何參數來運行它。 - 參見
nftwatch -m
的手冊。
你也可以在沒有 YAML 配置文件的情況下運行 nftwatch,在這種情況下它使用內置的默認值。
使用
nftwatch
命令顯示 nftables 規則。大多數控制都是為此目的而設計的。
箭頭鍵和等效的 Vim 的按鍵控制滾動。使用 F
或 S
鍵來改變刷新速度。使用 P
鍵來暫停顯示。
運行 nftwatch -m
以獲得完整的說明,以及互動式按鍵控制的列表。
防火牆的新觀點
即使你花費了時間去配置防火牆,它也會顯得晦澀難懂和模糊不清。除了從日誌條目中推斷指標外,很難判斷你的防火牆實際看到的活動類型。 使用 nftwatch
,你可以看到你的防火牆在工作,並且可以更好地了解你的網路每天需要處理的流量類型。
(文內圖片來自 Kenneth Aaron,CC BY-SA 4.0)
via: https://opensource.com/article/22/7/nftwatch-linux-firewall
作者:Kenneth Aaron 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive