問題タブ [ebpf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux-kernel - 確立された TCP ソケットを BPF_MAP_TYPE_SOCKMAP マップに追加すると SSL が壊れるのはなぜですか?
次の BPF プログラムがあります。
確立された TCP ソケットを sock_ops sockmapに追加するだけです。次に、このプログラムをプログラムとしてロードBPF_PROG_TYPE_SOCK_OPS
し、v2 cgroup にアタッチして、その cgroup でシェルを実行します。
ただし、これはSSLを壊しているようです:
HTTP は期待どおりに動作します。
どうしてこれなの?
uname -a
: Linux ubuntu-bionic 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
linux - BPF_PROG_TYPE_CGROUP_SKB プログラムがコンテナーで機能しないのはなぜですか?
パケットをカウントするために、次の eBPF プログラムを作成しました。
また、プログラムを としてロードし、 attach type を使用BPF_PROG_TYPE_CGROUP_SKB
して v2 cgroup ( ) にアタッチし、独自の PID をその cgroup に追加して、ネットワーク トラフィックの作成を開始するユーザー空間コンポーネントもあります。/sys/fs/cgroup/unified/foo
BPF_CGROUP_INET_EGRESS
このユーザー空間コンポーネントをコンテナーの外で実行すると、期待どおりに動作し、実行によってプログラムが呼び出されていることがわかりますcat /sys/kernel/debug/tracing/trace_pipe
。
ただし、コンテナー内でプログラムを実行すると、出力が表示されません。
次のようにコンテナを実行しています。
ホスト ネットワークと PID 名前空間を使用して、それ以外の場合に発生する可能性のある問題を回避しています。
私のプログラムがコンテナー内から動作しないように見えるのはなぜですか?
uname -a
: Linux ubuntu-bionic 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux