SlideShare a Scribd company logo
1 of 66
Download to read offline
nftables: The Next Generation
Firewall in Linux
Tomofumi Hayashi
@s1061123
第11回 カーネル/VM探検隊
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの書き方
• 宣伝
• まとめ
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの書き方
• 宣伝
• まとめ
自己紹介
なまえ: はやしともふみ
twitter: @s1061123
カーネル/VM勉強会歴: 5年ぶり2度目の出場
とりあえず
Notice:
• この発表は個人の見解、また調査結果に基づくものであり、
所属する組織、nftables開発チームの公式見解ではありませ
ん
• 幾つかの技術的資料についてはその出展をなるべく明記し
ています
• nftablesを開発しているチームの方に感謝致します
http://s1061123.net/nft/
お詫び
?!
お詫び
• LinuxConとネタが被りましたww
– 気付いたのは発表申し込みした後です…
• タイトルは意図的にダブらせました
お詫び
• LinuxConとネタが被りましたww
– 気付いたのは発表申し込みした後です…
• タイトルは意図的にダブらせました
Fiirewall ?!
お詫び
• LinuxConとネタが被りましたww
– 気付いたのは発表申し込みした後です…
• タイトルは意図的にダブらせました
• LinuxCon怖いところ…っ!
– こわいのでLinuxConには参加していません
– 内容がLinuxConとダブっていたら申し訳ありません
– ↑の内容知ってる人いらっしゃいましたら後で教えて下さい
• 知らないなりにカーネル/VMらしい発表をする方向で
そんなふうに考えていた時期が…
俺にもありました…
?!
LinuxCon前日のタイムテーブル
?!
お詫び
• LinuxConとネタが被りましたwwせんでした
– 気付いたのは2日前です…
• タイトルは意図的にダブらせました
• LinuxCon怖いところ…っ!
– こわいのでLinuxConには参加していません
– 内容がLinuxConとダブっていたら申し訳ありません
– ↑の内容知ってる人いらっしゃいましたら後で教えて下さい
• 知らないなりにカーネル/VMらしい発表をする方向で
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの書き方
• 宣伝
• まとめ
nftablesってなに?
http://netfilter.org/projects/nftables/
• nftablesとは{ip,ip6,arp,eb}tables関係のtoolを新たに
置き換えるプロジェクト
• {ip,ip6,arp,eb}tables 同様にnetfilterを使っている
netfilter, iptables and nftables?
• netfilter
– Linux にあるパケット書き換えのフレームワーク
– NAT, NAPT, IP MASQUERADE等を実装
– conntrackもnetfilterの機能
• iptables, ip6tables, ebtables and arptables
– netfilterを使って実装したパケットフィルタリング コマンド
– ‘-m udp’のように必要な機能がコマンド・カーネルで拡張されている
– fedora‘s ’firewalld‘ も実際呼んでるのはこのコマンド
• nftables <- これ!
– パケットフィルタリングコマンド
– iptables等と同様にnetfilterを使用している
netfilter, iptables and nftables?
• netfilter
– Linux にあるパケット書き換えのフレームワーク
– NAT, NAPT, IP MASQUERADE等を実装
– conntrackもnetfilterの機能
• iptables, ip6tables, ebtables and arptables
– netfilterを使って実装したパケットフィルタリング コマンド
– ‘-m udp’のように必要な機能がコマンド・カーネルで拡張されている
– fedora‘s ’firewalld‘ も実際呼んでるのはこのコマンド
• nftables <- これ!
– パケットフィルタリングコマンド
– iptables等と同様にnetfilterを使用している
netfilter, iptables and nftables?
30秒で分かるnetfilter:
netfilterはLinux内でネットワークのパケットを書き換えることが
できます。以下のようにどこで呼ぶかを指定できるようにhookが
存在します
In include/uapi/linux/netfilter.h:
enum nf_inet_hooks {
NF_INET_PRE_ROUTING,
NF_INET_LOCAL_IN,
NF_INET_FORWARD,
NF_INET_LOCAL_OUT,
NF_INET_POST_ROUTING,
NF_INET_NUMHOOKS
};
netfilter, iptables and nftables?
なので、hookを指定して自分の関数を登録すれば以下のような
カーネルがパケットを処理するタイミングでその関数が呼ばれ
ることになります
net/ipv4/ip_forward.c:
int ip_forward(struct sk_buff *skb)
{
u32 mtu;
struct iphdr *iph; /* Our header */
struct rtable *rt; /* Route we use */
struct ip_options *opt = &(IPCB(skb)->opt);
(snip)
return NF_HOOK(NFPROTO_IPV4, NF_INET_FORWARD, skb, skb->dev,
rt->dst.dev, ip_forward_finish);
sr_failed:
(snip)
}
SKB!!
netfilter, iptables and nftables?
• netfilter
– Linux にあるパケット書き換えのフレームワーク
– NAT, NAPT, IP MASQUERADE等を実装
– conntrackもnetfilterの機能
• iptables, ip6tables, ebtables and arptables
– netfilterを使って実装したパケットフィルタリング コマンド
– ‘-m udp’のように必要な機能がコマンド・カーネルで拡張されている
– fedora‘s ’firewalld‘ も実際呼んでるのはこのコマンド
• nftables <- これ!
– パケットフィルタリングコマンド
– iptables等と同様にnetfilterを使用している
{ip,ip6,arp,eb}tables?
iptablesはLinuxでパケットをフィルタしたり、NATなどで
パケットを書き換えたりすることができるソフトです
Linuxでホームルータを作る際には(ほぼ)必須
iptablesは以下のもので構成されています
– iptablesコマンド
– カーネル側の(netfilterを呼ぶ)iptables用コード
{ip,ip6,arp,eb}tables?
各種通信プロトコル・ネットワーク機能毎に以下のコマ
ンドが存在します
• IPv4: iptables
• IPv6: ip6tables
• ARP: arptables
(ロードバランサ・LVS/Linux Virtual Server等で使用)
• Bridge: ebtables
(カーネルのBridge内で処理)
netfilter, iptables and nftables?
• netfilter
– Linux にあるパケット書き換えのフレームワーク
– NAT, NAPT, IP MASQUERADE等を実装
– conntrackもnetfilterの機能
• iptables, ip6tables, ebtables and arptables
– netfilterを使って実装したパケットフィルタリング コマンド
– ‘-m udp’のように必要な機能がコマンド・カーネルで拡張されている
– fedora‘s ’firewalld‘ も実際呼んでるのはこのコマンド
• nftables <- 今日はこれ!
– パケットフィルタリングコマンド
– iptables等と同様にnetfilterを使用している
nftables?
なんでnftables?
• 技術的負債の解消
• パフォーマンス向上
nftables?
iptablesが持つ技術的負債
• iptablesが産まれたのは1999年11月
– http://www.netfilter.org/about.html#history
– 16年経過!
• Extension Modulesの増加
– 現在70個以上のModuleが存在
– それぞれカーネル側・ユーザランド側に存在
• プロトコル毎に別コマンド
– 似たようなコードが各種コマンドに存在
• そもそもシンタックス・ルールが複雑化
nftables?
iptablesが持つパフォーマンス問題
• そもそもルールセット追加・削除がAtomic!
• ルールの更新の際はそのルールを全部ユーザランドにコピー
して処理
• ルールが増えればそれだけ処理が重くなる…
from http://www.slideshare.net/ennael/2013-kernel-recipesnftables
nftables!
技術的負債の解消やパフォーマンス向上を目的にして
開発
• 2008年にPatrick McHardy氏が開発
• 2010年に一回開発が止まったものの
• 2012年にPablo Neira Ayuso氏がiptables互換レイヤー
を開発
• 2014年1月にカーネルメインライン(3.13)にマージ済
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの書き方
• 宣伝
• まとめ
nftablesの使い方
• カーネルにNF_TABLES(と好きなOPTION)を付けてビルド
• ユーザ側のコマンドをビルド (Gentooならばnet-
firewall/nftables をemerge)
• iptablesを使っている場合はiptablesを止める
(モジュールのビルド・ロードだけならば大丈夫)
• `service nftables start`等でサービスを開始
• `nft`コマンドでルールの追加・削除が可能
– `nft –f <filename>`でファイルからの読み込み
– `nft –i`でインタラクティブモード
nft_test ~ $ nft -i
nft> list tables
table nat
table filter
nft>
nftablesのシンタックス
% sudo iptables -t filter -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-N ssh_whitelist
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags
FIN,SYN,RST,ACK SYN –j ssh_whitelist
// (略)
-A ssh_whitelist -s 192.168.0.0/16 -j ACCEPT
-A ssh_whitelist -s 10.0.0.0/8 -j ACCEPT
-A ssh_whitelist -j DROP
nftables:
# nft list table ip filter
table ip filter {
chain input {
type filter hook input priority 0;
}
chain forward {
type filter hook forward priority 0;
iif eth0 oif != eth0 jump miniupnpd
drop
}
chain output {
type filter hook output priority 0;
}
chain miniupnpd {
iif eth0 ip daddr 192.168.1.10 tcp dport ssh
accept
}
}
iptables:
nftablesのシンタックス
詳細はwebで!
nftablesのシンタックス
詳細はwebで!
nftablesのシンタックス
詳細はwebで!
nftablesのフロー
nftで入力されたコマンドは以下のパスを通って
カーネルに送られます
from https://www.netdev01.org/docs/nftables-rmll-2014.pdf
nftablesのフロー
libnftnl/examples/nft-rule-get でルールを見ると…
nftablesのフロー
libnftnl/examples/nft-rule-get でルールを見ると…
ip saddr 192.168.1.0/24 oif eth0 snat 10.0.0.1
=>
ip nat postrouting 7 6
[ payload load 4b @ network header + 12 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00ffffff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0001a8c0 ]
[ meta load oif => reg 1 ]
[ cmp eq reg 1 0x00000004 ]
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ]
nftablesのフロー
nftで入力されたコマンドは以下のパスを通って
カーネルに送られます
from https://www.netdev01.org/docs/nftables-rmll-2014.pdf
コンパイル?
nftablesのフロー
nftで入力されたコマンドは以下のパスを通って
カーネルに送られます
from https://www.netdev01.org/docs/nftables-rmll-2014.pdf
コンパイル?
nftables (internal)
カーネル内のnftablesのフィルタリング実装はpseudo-
state machineとして実装されています
• bpf (Berkeley Packet Filter) からインスパイア (*1原文ママ)
– 4 registers
– 1 verdict (e.g. 'accept', 'drop', 'jump' or so ...)
– A extensive instruction set
reject, meta, masq, bitwise, byteorder, cmp, counter, ct (conntrack),
exthdr, immediate, limit, log, lookup, nat, payload, queue
(順不同、適当に検索)
*1 http://www.slideshare.net/ennael/2013-kernel-recipesnftables
nftables (internal)
カーネル内のnftablesのフィルタリング実装はpseudo-
state machineとして実装されています
= カーネル内のVM → カーネル/VM!!
• bpf (Berkeley Packet Filter) からインスパイア (*1原文ママ)
– 4 registers
– 1 verdict (e.g. 'accept', 'drop', 'jump' or so ...)
– A extensive instruction set
reject, meta, masq, bitwise, byteorder, cmp, counter, ct (conntrack),
exthdr, immediate, limit, log, lookup, nat, payload, queue
(順不同、適当に検索)
*1 http://www.slideshare.net/ennael/2013-kernel-recipesnftables
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの書き方
• 宣伝
• まとめ
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの内部のVMコードの読み方
• nftablesの書き方
• 宣伝
• まとめ
nftablesの読み方
libnftnl/examples/nft-rule-get
ip saddr 192.168.1.0/24 oif eth0 snat 10.0.0.1
=>
ip nat postrouting 7 6
[ payload load 4b @ network header + 12 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00ffffff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0001a8c0 ]
[ meta load oif => reg 1 ]
[ cmp eq reg 1 0x00000004 ]
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ]
nftablesの読み方
libnftnl/examples/nft-rule-get
ip saddr 192.168.1.0/24 oif eth0 snat 10.0.0.1
=>
ip nat postrouting 7 6 // 7:handle, 6:position
[ payload load 4b @ network header + 12 => reg 1 ]
ネットワークヘッダの12byte (saddr)から4byteロードしてreg1に
[ bitwise reg 1 = (reg=1 & 0x00ffffff ) ^ 0x00000000 ]
reg1を0x00ffffffでマスクして0でxorをreg1に
[ cmp eq reg 1 0x0001a8c0 ]
reg1 が 0x0001a8c0と比較(0x0001a8c0 => 192.168.1.0)
もしマッチしないならばここでリターン
[ meta load oif => reg 1 ]
[ cmp eq reg 1 0x00000004 ]
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ]
ip saddr 192.168.1.0/24
nftablesの読み方
libnftnl/examples/nft-rule-get
ip saddr 192.168.1.0/24 oif eth0 snat 10.0.0.1
=>
ip nat postrouting 7 6
[ payload load 4b @ network header + 12 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00ffffff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0001a8c0 ]
[ meta load oif => reg 1 ]
oifのifindex値をreg1に
[ cmp eq reg 1 0x00000004 ]
reg1と0x4を比較
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ]
oif eth0
nftablesの読み方
libnftnl/examples/nft-rule-get
ip saddr 192.168.1.0/24 oif eth0 snat 10.0.0.1
=>
ip nat postrouting 7 6
[ payload load 4b @ network header + 12 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00ffffff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0001a8c0 ]
[ meta load oif => reg 1 ]
[ cmp eq reg 1 0x00000004 ]
[ immediate reg 1 0x100000a ]
reg1に0x100000aを代入 (0x100000a = 10.0.0.1)
[ nat snat ip addr_min reg 1 addr_max reg 1 ]
snatを行なう (sourceはreg1に入っている値)
snat 10.0.0.1
nftablesの読み方
libnftnl/examples/nft-rule-get
ip saddr 192.168.1.0/24 oif eth0 snat 10.0.0.1
=>
ip nat postrouting 7 6
[ payload load 4b @ network header + 12 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00ffffff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0001a8c0 ]
[ meta load oif => reg 1 ]
[ cmp eq reg 1 0x00000004 ]
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ]
nftablesの読み方
libnftnl/examples/nft-rule-get
ip saddr 192.168.1.0/24 oif eth0 snat 10.0.0.1
=>
ip nat postrouting 7 6
[ payload load 4b @ network header + 12 => reg 1 ]
[ bitwise reg 1 = (reg=1 & 0x00ffffff ) ^ 0x00000000 ]
[ cmp eq reg 1 0x0001a8c0 ]
[ meta load oif => reg 1 ]
[ cmp eq reg 1 0x00000004 ]
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ]
ね、簡単でしょ?
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの書き方
• 宣伝
• まとめ
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの内部のVMコードの書き方
• 宣伝
• まとめ
nftablesにルールを書きたい!
libnftnlを使うことでnftablesのルールを追加・削除することが可
能です
• libnftnl/examples/* と libnftnl/tests/* を参考にすれば、ほら
この通り!
e = nft_rule_expr_alloc("nat");
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_TYPE, NFT_NAT_SNAT);
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_FAMILY, AF_INET);
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_REG_ADDR_MIN, NFT_REG_1);
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_REG_ADDR_MAX, NFT_REG_1);
nft_rule_add_expr(r, e);
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ] =>
nftablesにルールを書きたい!
libnftnlを使うことでnftablesのルールを追加・削除することが可
能です
• libnftnl/examples/* と libnftnl/tests/* を参考にすれば、ほら
この通り!
e = nft_rule_expr_alloc("nat");
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_TYPE, NFT_NAT_SNAT);
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_FAMILY, AF_INET);
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_REG_ADDR_MIN, NFT_REG_1);
nft_rule_expr_set_u32(e, NFT_EXPR_NAT_REG_ADDR_MAX, NFT_REG_1);
nft_rule_add_expr(r, e);
[ immediate reg 1 0x100000a ]
[ nat snat ip addr_min reg 1 addr_max reg 1 ] =>
nftablesにルールを書きたい!
nl = mnl_socket_open(NETLINK_NETFILTER);
if (mnl_socket_bind(nl, 0, MNL_SOCKET_AUTOPID) < 0) {
perror("mnl_socket_bind");
return -1;
}
}
batch = mnl_nlmsg_batch_start(buf, sizeof(buf));
nft_mnl_batch_put(mnl_nlmsg_batch_current(batch),
NFNL_MSG_BATCH_BEGIN, seq++);
mnl_nlmsg_batch_next(batch);
nlh = nft_rule_nlmsg_build_hdr(mnl_nlmsg_batch_current(batch),
cmd,
nft_rule_attr_get_u32(rule, NFT_RULE_ATTR_FAMILY),
NLM_F_APPEND|NLM_F_CREATE|NLM_F_ACK,
seq++);
nft_rule_nlmsg_build_payload(nlh, rule);
nft_rule_free(rule);
mnl_nlmsg_batch_next(batch);
nft_mnl_batch_put(mnl_nlmsg_batch_current(batch), NFNL_MSG_BATCH_END,
seq++);
mnl_nlmsg_batch_next(batch);
ret = mnl_socket_sendto(nl, mnl_nlmsg_batch_head(batch),
mnl_nlmsg_batch_size(batch));
mnl_nlmsg_batch_stop(batch);
ret = mnl_socket_recvfrom(nl, buf, sizeof(buf));
ret = mnl_cb_run(buf, ret, 0, mnl_socket_get_portid(nl), NULL, NULL);
Netlink (libnml等)でカーネルに送信!!!
nftablesにルールを書きたい!
nl = mnl_socket_open(NETLINK_NETFILTER);
if (mnl_socket_bind(nl, 0, MNL_SOCKET_AUTOPID) < 0) {
perror("mnl_socket_bind");
return -1;
}
}
batch = mnl_nlmsg_batch_start(buf, sizeof(buf));
nft_mnl_batch_put(mnl_nlmsg_batch_current(batch),
NFNL_MSG_BATCH_BEGIN, seq++);
mnl_nlmsg_batch_next(batch);
nlh = nft_rule_nlmsg_build_hdr(mnl_nlmsg_batch_current(batch),
cmd,
nft_rule_attr_get_u32(rule, NFT_RULE_ATTR_FAMILY),
NLM_F_APPEND|NLM_F_CREATE|NLM_F_ACK,
seq++);
nft_rule_nlmsg_build_payload(nlh, rule);
nft_rule_free(rule);
mnl_nlmsg_batch_next(batch);
nft_mnl_batch_put(mnl_nlmsg_batch_current(batch), NFNL_MSG_BATCH_END,
seq++);
mnl_nlmsg_batch_next(batch);
ret = mnl_socket_sendto(nl, mnl_nlmsg_batch_head(batch),
mnl_nlmsg_batch_size(batch));
mnl_nlmsg_batch_stop(batch);
ret = mnl_socket_recvfrom(nl, buf, sizeof(buf));
ret = mnl_cb_run(buf, ret, 0, mnl_socket_get_portid(nl), NULL, NULL);
ほら、
簡単でしょ?
Netlink (libnml等)でカーネルに送信!!!
Agenda
• 自己紹介
• nftablesについて
• nftablesの使い方
• nftablesの読み方
• nftablesの書き方
• 宣伝
• まとめ
宣伝
MiniUPnPがnftablesをサポートすることになりました
– MiniUPnPはNATの内側からforwardingの穴を簡単に開け
ることができるNAT向けの機能IGDの実装です
– 先月からgithubのcurrentのコードに入っています
=> 「UPnPが無いから…」と思う人も安心!!
まとめ
さぁ、みんなもnftablesで人柱になろう!!
nftables: the Next Generation Firewall in Linux

More Related Content

What's hot

Cilium - BPF & XDP for containers
 Cilium - BPF & XDP for containers Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containersDocker, Inc.
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザインMasayuki Kobayashi
 
Introduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSIntroduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSJoel W. King
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングTomoya Hibi
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux NetworkingPLUMgrid
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking ExplainedThomas Graf
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌LINE Corporation
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
Open vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream KernelOpen vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream KernelNetronome
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向Yuya Rin
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
Implementation &amp; Comparison Of Rdma Over Ethernet
Implementation &amp; Comparison Of Rdma Over EthernetImplementation &amp; Comparison Of Rdma Over Ethernet
Implementation &amp; Comparison Of Rdma Over EthernetJames Wernicke
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介morihisa
 

What's hot (20)

Cilium - BPF & XDP for containers
 Cilium - BPF & XDP for containers Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containers
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
Introduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOSIntroduction to GraphQL using Nautobot and Arista cEOS
Introduction to GraphQL using Nautobot and Arista cEOS
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
EBPF and Linux Networking
EBPF and Linux NetworkingEBPF and Linux Networking
EBPF and Linux Networking
 
Linux Networking Explained
Linux Networking ExplainedLinux Networking Explained
Linux Networking Explained
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
SRv6 study
SRv6 studySRv6 study
SRv6 study
 
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
SR-IOV Networking in OpenStack - OpenStack最新情報セミナー 2016年3月
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
Open vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream KernelOpen vSwitch Offload: Conntrack and the Upstream Kernel
Open vSwitch Offload: Conntrack and the Upstream Kernel
 
TripleO Deep Dive
TripleO Deep DiveTripleO Deep Dive
TripleO Deep Dive
 
IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向IPv4/IPv6 移行・共存技術の動向
IPv4/IPv6 移行・共存技術の動向
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
Implementation &amp; Comparison Of Rdma Over Ethernet
Implementation &amp; Comparison Of Rdma Over EthernetImplementation &amp; Comparison Of Rdma Over Ethernet
Implementation &amp; Comparison Of Rdma Over Ethernet
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介Wireshark だけに頼らない! パケット解析ツールの紹介
Wireshark だけに頼らない! パケット解析ツールの紹介
 

Viewers also liked

nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux FirewallMarian Marinov
 
Lxd the proper way of runing containers
Lxd   the proper way of runing containersLxd   the proper way of runing containers
Lxd the proper way of runing containersMarian Marinov
 
Kernel Recipes 2013 - Nftables, what motivations and what solutions
Kernel Recipes 2013 - Nftables, what motivations and what solutionsKernel Recipes 2013 - Nftables, what motivations and what solutions
Kernel Recipes 2013 - Nftables, what motivations and what solutionsAnne Nicolas
 
Open contrailmeetup 20161207
Open contrailmeetup 20161207Open contrailmeetup 20161207
Open contrailmeetup 20161207Daisuke Nakajima
 
GoBGP : yet another OSS BGPd
GoBGP : yet another OSS BGPdGoBGP : yet another OSS BGPd
GoBGP : yet another OSS BGPdPavel Odintsov
 
Bird in show_net
Bird in show_netBird in show_net
Bird in show_netTomoya Hibi
 
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Tomoya Hibi
 
2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-
2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-
2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-Asuka Nakajima
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Tomoya Hibi
 
LXD Container Hypervisor
LXD Container HypervisorLXD Container Hypervisor
LXD Container HypervisorDanial Behzadi
 
IoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークIoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークTomoya Hibi
 
Trabajo de informatica educativa
Trabajo de informatica educativaTrabajo de informatica educativa
Trabajo de informatica educativaTeresa Atencio
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Tomoya Hibi
 
GPD WINが来た!
GPD WINが来た!GPD WINが来た!
GPD WINが来た!Masaru Oki
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話Masaru Oki
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話Masaru Oki
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)Masaru Oki
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかMasaru Oki
 

Viewers also liked (20)

Software forwarding path
Software forwarding pathSoftware forwarding path
Software forwarding path
 
nftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewallnftables - the evolution of Linux Firewall
nftables - the evolution of Linux Firewall
 
Lxd the proper way of runing containers
Lxd   the proper way of runing containersLxd   the proper way of runing containers
Lxd the proper way of runing containers
 
Kernel Recipes 2013 - Nftables, what motivations and what solutions
Kernel Recipes 2013 - Nftables, what motivations and what solutionsKernel Recipes 2013 - Nftables, what motivations and what solutions
Kernel Recipes 2013 - Nftables, what motivations and what solutions
 
Open contrailmeetup 20161207
Open contrailmeetup 20161207Open contrailmeetup 20161207
Open contrailmeetup 20161207
 
GoBGP : yet another OSS BGPd
GoBGP : yet another OSS BGPdGoBGP : yet another OSS BGPd
GoBGP : yet another OSS BGPd
 
03 estrategia-ddos
03 estrategia-ddos03 estrategia-ddos
03 estrategia-ddos
 
Bird in show_net
Bird in show_netBird in show_net
Bird in show_net
 
Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)Lagopus & NFV with Vhost (Tremaday#9)
Lagopus & NFV with Vhost (Tremaday#9)
 
2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-
2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-
2014年10月江戸前セキュリティ勉強会資料 -セキュリティ技術者になるには-
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
LXD Container Hypervisor
LXD Container HypervisorLXD Container Hypervisor
LXD Container Hypervisor
 
IoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトークIoTとOpenFlowのライトニングトーク
IoTとOpenFlowのライトニングトーク
 
Trabajo de informatica educativa
Trabajo de informatica educativaTrabajo de informatica educativa
Trabajo de informatica educativa
 
Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続Lagopus + DockerのDPDK接続
Lagopus + DockerのDPDK接続
 
GPD WINが来た!
GPD WINが来た!GPD WINが来た!
GPD WINが来た!
 
今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話今よりも少し(?)昔、 Windowsを作ろうとした話
今よりも少し(?)昔、 Windowsを作ろうとした話
 
Onieで遊んでみようとした話
Onieで遊んでみようとした話Onieで遊んでみようとした話
Onieで遊んでみようとした話
 
新生Lagopus2017(仮称)
新生Lagopus2017(仮称)新生Lagopus2017(仮称)
新生Lagopus2017(仮称)
 
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるかOpenFlowでいろんなプロトコルを 話そうとするとどうなるか
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
 

Similar to nftables: the Next Generation Firewall in Linux

Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewallM Hagiwara
 
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009Tsukasa Oi
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Takashi Takizawa
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!Takashi Sogabe
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch UsecasesSakiko Kawai
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料Yasutaka Hamada
 
Trema day 1
Trema day 1Trema day 1
Trema day 1ykuga
 
覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方Fuminobu Takeyama
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13Uptime Technologies LLC (JP)
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますinfinite_loop
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた山下 達也
 
"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11Kenji Aoyama
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6Kentaro Ebisawa
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews, Inc.
 
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたさくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたSAKURA Internet Inc.
 

Similar to nftables: the Next Generation Firewall in Linux (20)

Tremaで試すFirewall
Tremaで試すFirewallTremaで試すFirewall
Tremaで試すFirewall
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
 
InfiniBand on Debian
InfiniBand on DebianInfiniBand on Debian
InfiniBand on Debian
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
 
Lagopus Switch Usecases
Lagopus Switch UsecasesLagopus Switch Usecases
Lagopus Switch Usecases
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方
 
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#135ステップで始めるPostgreSQLレプリケーション@hbstudy#13
5ステップで始めるPostgreSQLレプリケーション@hbstudy#13
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
Terraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみたTerraformディレクトリ構成のベスプラを考えてみた
Terraformディレクトリ構成のベスプラを考えてみた
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11"yaft on LUNA" at NBUG Meeting 2014-11
"yaft on LUNA" at NBUG Meeting 2014-11
 
NanoA
NanoANanoA
NanoA
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
 
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテムSmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
 
Fabric Essentials
Fabric EssentialsFabric Essentials
Fabric Essentials
 
さくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみたさくらのクラウドでVyOS使ってみた
さくらのクラウドでVyOS使ってみた
 

More from Tomofumi Hayashi

CNIふぉーびぎなーず
CNIふぉーびぎなーずCNIふぉーびぎなーず
CNIふぉーびぎなーずTomofumi Hayashi
 
Opnfv primer how to get into opnfv
Opnfv primer  how to get into opnfv Opnfv primer  how to get into opnfv
Opnfv primer how to get into opnfv Tomofumi Hayashi
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてTomofumi Hayashi
 
OpenStack Summit Boston DMA Appendix
OpenStack Summit Boston DMA AppendixOpenStack Summit Boston DMA Appendix
OpenStack Summit Boston DMA AppendixTomofumi Hayashi
 
OPNFV Meetup Tokyo #1 / Projects Summary
OPNFV Meetup Tokyo #1 / Projects SummaryOPNFV Meetup Tokyo #1 / Projects Summary
OPNFV Meetup Tokyo #1 / Projects SummaryTomofumi Hayashi
 
Ocaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axshOcaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axshTomofumi Hayashi
 

More from Tomofumi Hayashi (8)

CNIふぉーびぎなーず
CNIふぉーびぎなーずCNIふぉーびぎなーず
CNIふぉーびぎなーず
 
4 rhtn tohayash-multus
4 rhtn tohayash-multus4 rhtn tohayash-multus
4 rhtn tohayash-multus
 
Opnfv primer how to get into opnfv
Opnfv primer  how to get into opnfv Opnfv primer  how to get into opnfv
Opnfv primer how to get into opnfv
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
 
Opnfv handson apex intro
Opnfv handson apex introOpnfv handson apex intro
Opnfv handson apex intro
 
OpenStack Summit Boston DMA Appendix
OpenStack Summit Boston DMA AppendixOpenStack Summit Boston DMA Appendix
OpenStack Summit Boston DMA Appendix
 
OPNFV Meetup Tokyo #1 / Projects Summary
OPNFV Meetup Tokyo #1 / Projects SummaryOPNFV Meetup Tokyo #1 / Projects Summary
OPNFV Meetup Tokyo #1 / Projects Summary
 
Ocaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axshOcaml lecture slides 01 at axsh
Ocaml lecture slides 01 at axsh
 

nftables: the Next Generation Firewall in Linux