Kubernetes CNI plugin and network load balancer in Rust

こんにちは。

葬送のフリーレンのアニメが終了して途方に暮れています。 いいアニメでした。 続編に期待しています。

今回はしばらく趣味で開発している Kubernetes 用の CNI plugin とネットワークロードバランサ sart を紹介します。

リポジトリはこちらになります。 すべて Rust で実装しています。(e2e テストだけ Go 言語の Ginkgo を使っています。)

荒削りなソフトウェアですが、動かしてみたりスターをもらえると喜びます。(バグがたくさんありそう)

また、開発中のプロジェクトなので API の仕様が変更になる可能性は大いにあります。

[Read More]

RustのCNI Pluginライブラリを作った

こんにちは。 葬送のフリーレンが2クール連続で歓喜しています。

今回はRust用のCNI Pluginライブラリを作って公開したので紹介します。

リポジトリとCrates.io

rscniという名前でGithub及びCrates.ioに公開しています。 ご興味のある方は使ってみてください。 バグ報告お待ちしています。

[Read More]
network  cni  rust  oss 

XDP入門

こんにちは.閃光のハサウェイが配信開始されたので早速視聴しました.メッサーがいいですね.

前回もXDP関連の話題でしたが,今回はXDPに入門します. XDPを学習する際のロードマップやつまりどころの解消になればと思います.

2023-12-30 加筆

本記事を公開して約 2 年が経過しました. この加筆で古くなってしまった情報を修正しています. 差分は このブログの Github の PR を見てください.

この 2 年間で eBPF 及び XDP への注目はさらに高まったように感じます. 取得できる情報も充実してきました. 特に O’reilly より発売された 入門 eBPF(原書: Learning eBPF) は非常に充実した内容になっています. 日本語でこれらの情報に触れられるようになったことは大変ありがたいです.

2023 年は個人的にも XDP に関して新たに発展的なコンテンツを作成しました.

そちらも触っていただければと思います.

[Read More]

Goのcilium/ebpfでXdpcapを使う

こんにちは.学生生活も後少しとなってしまいました.悲しいです. 今回はxdpcapというツールについてです.xdpcapの使用に関する資料が日本語では非常に少なかったので使い方を紹介します.

[Read More]

KLab Expert Camp TCP/IPプロトコルスタック自作開発キャンプに参加してきました.

こんにちは.趣味の将棋がなかなか強くならなくて困ってます.勉強せずにすぐ対局してしまうのがダメなのはわかってますがつい対局してしまいます. 今回はKLab Expert Campに参加してTCP/IPプロトコルスタック自作に挑戦しました.

[Read More]

NTTコミュニケーションズの職場体験型インターンシップに参加しました

こんにちは.最近は呪術廻戦をアニメで見て漫画を全巻揃えてしまいました.いつになってもバトル漫画は良いものです.今回はNTTコミュニケーションズさんにより開催されたインターンシップに参加して二週間ネットワークをゴニョゴニョしてきました.

[Read More]
intern  ntt  network  srv6  xdp 

Linux Network Namespaceを使用したネットワークシミュレータの紹介

こんにちは.12月に入り非常に寒い日々が続いています.個人的には10月から続いていたセキュリティキャンプが一段落して少し余裕が出てきました. また,この記事はSecHack365 Advent Calendar 2020の記事として書いています. 今回は趣味で開発しているツールを紹介します.

[Read More]

GMOペパボの研究開発コースインターンシップに参加しました

参加の経緯

確か最初にインターンの開催を知ったのはtwitterだったと記憶しています.エンジニアインターンはWeb系の募集がほとんどで低レイヤを扱うインターンを探していたので即応募しました.

内容

僕が参加したのは研究開発/SREコースでeBPFを使用したトレーシングツールの作成を行いました.eBPFとはextended Berkeley Packet Filterの略でユーザー空間からプログラムを挿入してカーネル空間のデータを取得することができる技術です. 今回のインターンではUchio KondoさんとP山さんにメンターとしてついていただきeBPFのチュートリアルから初めて最終的に参加者それぞれが一つのツールにまとめて成果として最終日に発表しました.お二方には期間中とても手厚くサポートしていただきました.ありがとうございました.

[Read More]

SoftEther VPN Server APIのGo版を作った

こんにちは.最近は学校の課題や事務手続きやらインターンどうしようかやらで非常に忙しいです.それに加えてSecHack365に参加することとなりこれはうれしい悲鳴ですがさらに忙しいです.(嬉しい) さて今回はSoftEtherについてです.学生などにはあまり馴染みがなさげなソフトですが,僕は研究でこのソフトに非常にお世話になっております.このソフトウェアはとてもすごいんですが,マネージャーソフトがwindows用しかなくてCUIベースの操作が大変なのでWebベースのマネージャーを作ろうと思い立ちました.そこでまずGo言語でAPIのラッパーを作成しました.

[Read More]

ネットワークを作って理解しようとする(ARP編)

こんにちは. 新型コロナの影響で外出を控えているのですが,ずっと自宅にいるのも結構しんどいですね. この前見始めた鬼滅の刃ももう見終わってしまいました.続きが気になります. さて,今回もネットワークシリーズです.

ネットワークを作って理解する

ネットワークの仕組みを理解するためには作ってみるのが一番ということでプロトコルスタックを自作してみます. 前回はEthernetを実装してみました.前回のポストはこちら 今回はデータリンク層のアドレスとネットワーク層のアドレスを解決するARPを実装してみたいと思います.使用言語はgolangです.

[Read More]