背景 眾所周知 eBPF 是非常有前景的項目,甚至成立了專門的基金會(https://ebpf.io/)來推動其生態的發展和標準化。 關於 eBPF 的基礎知識有很多資料,在此不再贅述。 本文旨在探索 eBPF 和 kubernetes 結合時會有什麼化學反應,以及如何結合現有工具鏈解決實際問題。 涉及的相關開源項目主要如下: bcc bpftrace kubectl-trace kub
大家好,我是張晉濤。 Cilium 是一個基於 eBPF 技術,用於為容器工作負載間提供安全且具備可觀測性的網絡連接的開源軟件。 如果你對 Cilium 還不太瞭解,可以參考我之前的兩篇文章: K8S生態週報| Google 選擇 Cilium 作為 GKE 下一代數據面 Cilium 上手實踐 最近 Cilium v1.11.0 正式發佈了,增加 Open Telemetry 的支持以及
作者:鄭昱笙,陳茂林 Wasm 最初是以瀏覽器安全沙盒為目的開發的,發展到目前為止,WebAssembly 已經成為一個用於雲原生軟件組件的高性能、跨平台和多語言軟件沙箱環境,Wasm 輕量級容器也非常適合作為下一代無服務器平台運行時。另一個令人興奮的趨勢是 eBPF 的興起,它使雲原生開發人員能夠構建安全的網絡、服務網格和多種可觀測性組件,並且它也在逐步滲透和深入到內核的各個組件,提供更強大的內
作者:於桐,鄭昱笙 eBPF(extended Berkeley Packet Filter)是一種高性能的內核虛擬機,可以運行在內核空間中,用來收集系統和網絡信息。隨着計算機技術的不斷髮展,eBPF 的功能日益強大,進而被用來構建各種效率高效的在線診斷和跟蹤系統,以及安全的網絡和服務網格。 WebAssembly(Wasm)最初是以瀏覽器安全沙盒為目的開發的,發展到目前為止,WebAssembl
eBPF 是一個用於訪問 Linux 內核服務和硬件的新技術,由於其靈活性和高性能等特點,被迅速用於網絡、出錯、跟蹤以及防火牆等多場景。目前國內已有少數企業開始嘗試將 eBPF 引入生產實踐,又拍雲也是其中一個。專為技術開發者提供知識分享的 Open Talk 公開課邀請了又拍雲開發工程師周晨約直播分享 eBPF 的學習經驗與開發心得,並對其分享內容進行整理,下拉至文末點擊閲讀原文可回看原視頻。
作者:於桐,鄭昱笙 eBPF(extended Berkeley Packet Filter)是一種高性能的內核虛擬機,可以運行在內核空間中,以收集系統和網絡信息。隨着計算機技術的不斷髮展,eBPF 的功能日益強大,並且已經成為各種效率高效的在線診斷和跟蹤系統,以及構建安全的網絡、服務網格的重要組成部分。 WebAssembly(Wasm)最初是以瀏覽器安全沙盒為目的開發的,發展到目前為止,Web
bpf_cmd: BPF_MAP_CREATE: 創建一個新的BPF映射。 BPF_MAP_LOOKUP_ELEM: 在BPF映射中查找一個元素。 BPF_MAP_UPDATE_ELEM: 更新BPF映射中的一個元素。 BPF_MAP_DELETE_ELEM: 從BPF映射中刪除一個元素。 BPF_MAP_GET_NEXT_KEY: 獲取BPF映射中下一個鍵的迭代器。 BPF_PROG_LOAD
支持同時使用多個eBPF程序? 可以將多個 eBPF 程序加載到不同的鈎子點,或者在同一個鈎子點上串聯多個 eBPF 程序。例如,可以在 XDP 層同時加載 URL 過濾、IPv6 過濾和 Cookie 過濾程序。 場景01: #include linux/bpf.h #include bpf/bpf_helpers.h #include linux/if_ether.h #include
先講tc,再講ebpf tc 的底層原理 隊列管理器(qdisc) 隊列管理器是 tc 的核心組件,用於管理數據包的隊列。不同的 qdisc 實現了不同的流量控制策略,如 FIFO、TBF(Token Bucket Filter)、HTB(Hierarchical Token Bucket)等。 FIFO(First In, First Out):最簡單的隊列管理器,按照數
過濾和監控 socket 層的數據包 socket 類型的 eBPF 程序,返回值類型是 int,並且返回值用於決定如何處理捕獲的數據包。返回 0 表示丟棄數據包,返回非零值表示接受數據包。 #include linux/bpf.h #include bpf/bpf_helpers.h #include netinet/in.h #include linux/virtio_net.h SE
ebpf不僅可以用於網絡數據包過濾和性能監控,還可以應用於安全領域,特別是在與 LSM(Linux Security Modules)結合使用時。通過 eBPF 和 LSM 的結合,可以實現更靈活和高效的安全策略,包括訪問控制、安全審計和入侵檢測等。 安全審計: 使用 eBPF 程序記錄特定系統調用的審計日誌。 SEC("lsm/file_open") int BPF_PROG(audit