狠狠撸

狠狠撸Share a Scribd company logo
単位時間あたりの 
新規NAT session 数の 
最大値を測ってみた 
~パケット送信方法~ 
2014/11/02 
#vyosjp 
@otsuka752 (@twovs)
Measurement of 
Maximum new NAT-sessions 
per second 
(How to send packets) 
2014/11/02 
#vyosjp 
@otsuka752 (@twovs)
about me 
? @otsuka752 (@twovs) 
? ネコ2人+奥さん+可愛い娘 
?? 無線LLAANN装置の開発((11999999~~22000044)) 
? オンラインゲームのシステム管理者(2004~) 
? ただし,ゲームには全く興味無し 
? ZFS 最高!!! beadm 便利!!!
はじめに/Intro 
? VyOS は10万セッションのNAT も動くらしい 
VyOS can store 100K sessions and works well 
http://research.ssaakkuurraa..aadd..jjpp// 
2012/07/24/janog30-network2/ 
? 単位時間あたりの新規session 数は? 
How many new sessions/sec does VyOS handle?
構成/System 
? server(Guest) 
? tcpdump 
Internal 
network 
? Host(*3) 
? VirtualBox 
? VyOS-1.1.0(*1) 
? NAT(masquerade) 
? client(Physical) 
? send packets 
packets(*2) 
1GbE
構成/System 
(*1) Guest properties (VyOS) 
CPU x1 
Memory 2GB 
((**22)) IICCMMPP((たくさんのSSrrcc//DDsstt IIPPAAddddrr の組合せ)) 
ICMP(Many kinds of Src/Dst IPAddr pairs) 
(*3) Host properties 
CPU AMD Athlon 64 X2 Dual Core Processor 6400+ 
Memory 8GB 
OS Solaris 11.1 
VirtualBox 4.3.14
設定/Configuration 
? IPAddr と下記以外はデフォルト値 
Use Default Configuration 
except for IPAddr and below 
set protocols static route 0.0.0.0/0 next-hop ‘(server)' 
set nat source rule 10 outbound-interface 'eth1' 
set nat source rule 10 source address '0.0.0.0/0' 
set nat source rule 10 translation address 'masquerade' 
set system conntrack expect-table-size '2048' 
set system conntrack hash-size '16384' 
set system conntrack table-size '1048576'
試験手順/Testing procedure 
(1) VyOS のNAT セッションやカウンタをリセット 
Reset conntrack and clear NAT counters of VyOS 
vvyyooss@@vvyyooss::~~$$ rreesseett ccoonnnnttrraacckk 
This will clear all currently tracked and expected 
connections. Continue? (Y/N) [N]: y 
vyos@vyos:~$ clear nat source counters
試験手順/Testing procedure 
(2) クライアントからP[pps] でN 種類のパケットを送信 
Send N different kinds of packets to VyOS at P[pps] 
from client 
[client]$ scapy 
Welcome to Scapy (2.2.0-1) 
>>> 
Scapy も良いけど… 
Scapy is good.
試験手順/Testing procedure 
(2) クライアントからP[pps] でN 種類のパケットを送信 
Send N different kinds of packets to VyOS at P[pps] 
from client 
[client]$ sudo tcpreplay --unique-ip ? 
-l ${N} --pps=${P} -K -i eth0 file.pcap 
Tcpreplay もイイネ 
I love Tcpreplay too.
試験手順/Testing procedure 
(3) サーバに届いたパケット数を数える 
Count the number of packets from client 
[[sseerrvveerr]]$$ ssuuddoo ttccppdduummpp --nn --ii eetthh00
試験手順/Testing procedure 
(4) VyOS でNAT table の数を見る 
Show NAT statistics on VyOS 
vyos@vyos:~$ show nat source statistics 
rule pkts bytes interface 
---- ---- ----- --------- 
10 100K 2800K eth1
結果/Results 
N:セッション数/sessions handled by VyOS
結果/Results 
N:セッション数/sessions handled by VyOS
結果/Results 
? 新規セッション20K[pps] で処理できそう 
(合計20万セッションでも) 
VyOS will bbee aabbllee ttoo hhaannddllee 
20K new-session per sec 
(with 200K unique sessions condition)
備考/Notes 
? >30K[pps] のパケロス発生時でも 
[サーバに届いたパケット数] と 
[VyOS で作られたNAT session 数] は概ね同数 
>30K[pps] condition, i.e. PER != 0 
[number of packets received by server] 
is also nearly equal to 
[number of NAT-sessions on VyOS]
tcpreplay が気になるでしょ!? 
You will be interested in tcpreplay.
Measurement of Maximum new NAT-sessionsper second / How to send packets
続きはウェブで! 
Find more on the web!
お知らせ 
日本語サイト始めてみました! 
I translate the web site into Japanese. 
http://tcpreplay.jp/
お知らせ 
? 日本語サイト始めてみました! 
? http://tcpreplay.jp/ 
? https://github.com/otsuka752/ 
? Web site in English 
? http://tcpreplay.appneta.com/ 
? https://github.com/appneta/tcpreplay/
END
Ad

Recommended

一歩进んだ齿别苍仮想化环境构筑
一歩进んだ齿别苍仮想化环境构筑
VirtualTech Japan Inc.
?
What are the relevant differences between Asynchronous (ATS) and Credit Based...
What are the relevant differences between Asynchronous (ATS) and Credit Based...
RealTime-at-Work (RTaW)
?
SRv6 study
SRv6 study
Hiro Mura
?
闭域网接続の技术入门
闭域网接続の技术入门
Masayuki Kobayashi
?
狈贵痴について
狈贵痴について
Naoto Umemori
?
贵笔骋础のトレンドをまとめてみた
贵笔骋础のトレンドをまとめてみた
Takefumi MIYOSHI
?
3GPP TS 38.300-100まとめ
3GPP TS 38.300-100まとめ
Tetsuya Hasegawa
?
大规模顿颁のネットワークデザイン
大规模顿颁のネットワークデザイン
Masayuki Kobayashi
?
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
wata2ki
?
Apache Arrow
Apache Arrow
Kouhei Sutou
?
3GPP F1インターフェース(TS38.470-f50)の概要
3GPP F1インターフェース(TS38.470-f50)の概要
Tetsuya Hasegawa
?
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
?
贬罢罢笔を理解する
贬罢罢笔を理解する
IIJ
?
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
Shinya Takamaeda-Y
?
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
?
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
?
无料で仮想闯耻苍辞蝉环境を手元に作ろう
无料で仮想闯耻苍辞蝉环境を手元に作ろう
akira6592
?
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
Kohei Tokunaga
?
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
?
いまさらユースケース
いまさらユースケース
Masaru Kimura
?
わかった気になる惭测厂蚕尝
わかった気になる惭测厂蚕尝
yoku0825
?
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
?
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
Hadoop / Spark Conference Japan
?
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
?
笔贬笔とシグナル、その里侧
笔贬笔とシグナル、その里侧
do_aki
?
贰迟丑别谤苍别迟の受信処理
贰迟丑别谤苍别迟の受信処理
Takuya ASADA
?
FD.io VPP事始め
FD.io VPP事始め
tetsusat
?
VPC by Default時代のアクセス制御
VPC by Default時代のアクセス制御
真吾 吉田
?
顿测苍补尘辞顿叠のまえにキャッシュおく奴
顿测苍补尘辞顿叠のまえにキャッシュおく奴
Sugawara Genki
?

More Related Content

What's hot (20)

ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
wata2ki
?
Apache Arrow
Apache Arrow
Kouhei Sutou
?
3GPP F1インターフェース(TS38.470-f50)の概要
3GPP F1インターフェース(TS38.470-f50)の概要
Tetsuya Hasegawa
?
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
?
贬罢罢笔を理解する
贬罢罢笔を理解する
IIJ
?
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
Shinya Takamaeda-Y
?
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
?
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
?
无料で仮想闯耻苍辞蝉环境を手元に作ろう
无料で仮想闯耻苍辞蝉环境を手元に作ろう
akira6592
?
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
Kohei Tokunaga
?
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
?
いまさらユースケース
いまさらユースケース
Masaru Kimura
?
わかった気になる惭测厂蚕尝
わかった気になる惭测厂蚕尝
yoku0825
?
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
?
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
Hadoop / Spark Conference Japan
?
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
?
笔贬笔とシグナル、その里侧
笔贬笔とシグナル、その里侧
do_aki
?
贰迟丑别谤苍别迟の受信処理
贰迟丑别谤苍别迟の受信処理
Takuya ASADA
?
FD.io VPP事始め
FD.io VPP事始め
tetsusat
?
ARM LinuxのMMUはわかりにくい
ARM LinuxのMMUはわかりにくい
wata2ki
?
3GPP F1インターフェース(TS38.470-f50)の概要
3GPP F1インターフェース(TS38.470-f50)の概要
Tetsuya Hasegawa
?
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
?
贬罢罢笔を理解する
贬罢罢笔を理解する
IIJ
?
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
Shinya Takamaeda-Y
?
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
akira6592
?
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
?
无料で仮想闯耻苍辞蝉环境を手元に作ろう
无料で仮想闯耻苍辞蝉环境を手元に作ろう
akira6592
?
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
Kohei Tokunaga
?
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
?
いまさらユースケース
いまさらユースケース
Masaru Kimura
?
わかった気になる惭测厂蚕尝
わかった気になる惭测厂蚕尝
yoku0825
?
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
?
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
A Deeper Understanding of Spark Internals (Hadoop Conference Japan 2014)
Hadoop / Spark Conference Japan
?
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
?
笔贬笔とシグナル、その里侧
笔贬笔とシグナル、その里侧
do_aki
?
贰迟丑别谤苍别迟の受信処理
贰迟丑别谤苍别迟の受信処理
Takuya ASADA
?
FD.io VPP事始め
FD.io VPP事始め
tetsusat
?

Viewers also liked (6)

VPC by Default時代のアクセス制御
VPC by Default時代のアクセス制御
真吾 吉田
?
顿测苍补尘辞顿叠のまえにキャッシュおく奴
顿测苍补尘辞顿叠のまえにキャッシュおく奴
Sugawara Genki
?
VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話
upaa
?
What makes AWS invincible? from JAWS Days 2014
What makes AWS invincible? from JAWS Days 2014
Emma Haruka Iwao
?
2014 jaws days-最強のawsに_rtc宮崎
2014 jaws days-最強のawsに_rtc宮崎
SachieMiyazaki
?
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例
Kazuhito Ohkawa
?
VPC by Default時代のアクセス制御
VPC by Default時代のアクセス制御
真吾 吉田
?
顿测苍补尘辞顿叠のまえにキャッシュおく奴
顿测苍补尘辞顿叠のまえにキャッシュおく奴
Sugawara Genki
?
VyOS Users Meeting #2, VyOSのVXLANの話
VyOS Users Meeting #2, VyOSのVXLANの話
upaa
?
What makes AWS invincible? from JAWS Days 2014
What makes AWS invincible? from JAWS Days 2014
Emma Haruka Iwao
?
2014 jaws days-最強のawsに_rtc宮崎
2014 jaws days-最強のawsに_rtc宮崎
SachieMiyazaki
?
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例
Kazuhito Ohkawa
?
Ad

More from @ otsuka752 (20)

NS & NSID of Amazon Route 53
NS & NSID of Amazon Route 53
@ otsuka752
?
OLD_LT_DNS_OLD
OLD_LT_DNS_OLD
@ otsuka752
?
OLD_Lt traffic analyse_OLD
OLD_Lt traffic analyse_OLD
@ otsuka752
?
Hijack the domain name
Hijack the domain name
@ otsuka752
?
Route53 で親子同居
Route53 で親子同居
@ otsuka752
?
reusable delegation set のススメ (Route53)
reusable delegation set のススメ (Route53)
@ otsuka752
?
DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)
@ otsuka752
?
raspi + soracom #pakeana33
raspi + soracom #pakeana33
@ otsuka752
?
192.0.0.4 on android
192.0.0.4 on android
@ otsuka752
?
a little more about CaptureFilter
@ otsuka752
?
iptables BPF module 効果測定
iptables BPF module 効果測定
@ otsuka752
?
how to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorture
@ otsuka752
?
how to decrypt SSL/TLS without PrivateKey of servers
how to decrypt SSL/TLS without PrivateKey of servers
@ otsuka752
?
WireEdit のススメ
WireEdit のススメ
@ otsuka752
?
about tcpreplay-edit
about tcpreplay-edit
@ otsuka752
?
超簡単!? Punycode 変換 ~国際化?日本語ドメイン~
超簡単!? Punycode 変換 ~国際化?日本語ドメイン~
@ otsuka752
?
毎日 dig ったら分かったこと ~新 gTLD~
毎日 dig ったら分かったこと ~新 gTLD~
@ otsuka752
?
萌え萌えドメイン名一覧(.尘辞别)
萌え萌えドメイン名一覧(.尘辞别)
@ otsuka752
?
about Tcpreplay
about Tcpreplay
@ otsuka752
?
パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由
@ otsuka752
?
NS & NSID of Amazon Route 53
NS & NSID of Amazon Route 53
@ otsuka752
?
OLD_Lt traffic analyse_OLD
OLD_Lt traffic analyse_OLD
@ otsuka752
?
Hijack the domain name
Hijack the domain name
@ otsuka752
?
Route53 で親子同居
Route53 で親子同居
@ otsuka752
?
reusable delegation set のススメ (Route53)
reusable delegation set のススメ (Route53)
@ otsuka752
?
DNS64 (El capitan and unbound-1.5.1)
DNS64 (El capitan and unbound-1.5.1)
@ otsuka752
?
raspi + soracom #pakeana33
raspi + soracom #pakeana33
@ otsuka752
?
192.0.0.4 on android
192.0.0.4 on android
@ otsuka752
?
a little more about CaptureFilter
@ otsuka752
?
iptables BPF module 効果測定
iptables BPF module 効果測定
@ otsuka752
?
how to defend DNS authoritative server against DNS WaterTorture
how to defend DNS authoritative server against DNS WaterTorture
@ otsuka752
?
how to decrypt SSL/TLS without PrivateKey of servers
how to decrypt SSL/TLS without PrivateKey of servers
@ otsuka752
?
WireEdit のススメ
WireEdit のススメ
@ otsuka752
?
about tcpreplay-edit
about tcpreplay-edit
@ otsuka752
?
超簡単!? Punycode 変換 ~国際化?日本語ドメイン~
超簡単!? Punycode 変換 ~国際化?日本語ドメイン~
@ otsuka752
?
毎日 dig ったら分かったこと ~新 gTLD~
毎日 dig ったら分かったこと ~新 gTLD~
@ otsuka752
?
萌え萌えドメイン名一覧(.尘辞别)
萌え萌えドメイン名一覧(.尘辞别)
@ otsuka752
?
パケットが教えてくれた ルートサーバが 13個の理由
パケットが教えてくれた ルートサーバが 13個の理由
@ otsuka752
?
Ad

Recently uploaded (8)

Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
OWASP ASVS5.0 overview 20240607_owaspnagoya
OWASP ASVS5.0 overview 20240607_owaspnagoya
OWASP Nagoya
?
色について.pptx .
色について.pptx .
iPride Co., Ltd.
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?
Protect Your IoT Data with UbiBot's Private Platform.pptx
Protect Your IoT Data with UbiBot's Private Platform.pptx
ユビボット 株式会社
?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
Vibe Codingを始めよう ?Cursorを例に、ノーコードでのプログラミング体験?
iPride Co., Ltd.
?
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
勉強会_ターミナルコマント?入力迅速化_20250620. pptx. .
iPride Co., Ltd.
?
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
础滨技术共有会2025-06-05冲顿别别辫搁别蝉别补谤肠丑の理解と実践.辫诲蹿
Takuma Oda
?
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
NTT DATA Technology & Innovation
?
OWASP ASVS5.0 overview 20240607_owaspnagoya
OWASP ASVS5.0 overview 20240607_owaspnagoya
OWASP Nagoya
?
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
Forguncy 10 製品概要資料 - ノーコードWebアプリ開発プラットフォーム
フォーガンシー
?

Measurement of Maximum new NAT-sessions per second / How to send packets

  • 1. 単位時間あたりの 新規NAT session 数の 最大値を測ってみた ~パケット送信方法~ 2014/11/02 #vyosjp @otsuka752 (@twovs)
  • 2. Measurement of Maximum new NAT-sessions per second (How to send packets) 2014/11/02 #vyosjp @otsuka752 (@twovs)
  • 3. about me ? @otsuka752 (@twovs) ? ネコ2人+奥さん+可愛い娘 ?? 無線LLAANN装置の開発((11999999~~22000044)) ? オンラインゲームのシステム管理者(2004~) ? ただし,ゲームには全く興味無し ? ZFS 最高!!! beadm 便利!!!
  • 4. はじめに/Intro ? VyOS は10万セッションのNAT も動くらしい VyOS can store 100K sessions and works well http://research.ssaakkuurraa..aadd..jjpp// 2012/07/24/janog30-network2/ ? 単位時間あたりの新規session 数は? How many new sessions/sec does VyOS handle?
  • 5. 構成/System ? server(Guest) ? tcpdump Internal network ? Host(*3) ? VirtualBox ? VyOS-1.1.0(*1) ? NAT(masquerade) ? client(Physical) ? send packets packets(*2) 1GbE
  • 6. 構成/System (*1) Guest properties (VyOS) CPU x1 Memory 2GB ((**22)) IICCMMPP((たくさんのSSrrcc//DDsstt IIPPAAddddrr の組合せ)) ICMP(Many kinds of Src/Dst IPAddr pairs) (*3) Host properties CPU AMD Athlon 64 X2 Dual Core Processor 6400+ Memory 8GB OS Solaris 11.1 VirtualBox 4.3.14
  • 7. 設定/Configuration ? IPAddr と下記以外はデフォルト値 Use Default Configuration except for IPAddr and below set protocols static route 0.0.0.0/0 next-hop ‘(server)' set nat source rule 10 outbound-interface 'eth1' set nat source rule 10 source address '0.0.0.0/0' set nat source rule 10 translation address 'masquerade' set system conntrack expect-table-size '2048' set system conntrack hash-size '16384' set system conntrack table-size '1048576'
  • 8. 試験手順/Testing procedure (1) VyOS のNAT セッションやカウンタをリセット Reset conntrack and clear NAT counters of VyOS vvyyooss@@vvyyooss::~~$$ rreesseett ccoonnnnttrraacckk This will clear all currently tracked and expected connections. Continue? (Y/N) [N]: y vyos@vyos:~$ clear nat source counters
  • 9. 試験手順/Testing procedure (2) クライアントからP[pps] でN 種類のパケットを送信 Send N different kinds of packets to VyOS at P[pps] from client [client]$ scapy Welcome to Scapy (2.2.0-1) >>> Scapy も良いけど… Scapy is good.
  • 10. 試験手順/Testing procedure (2) クライアントからP[pps] でN 種類のパケットを送信 Send N different kinds of packets to VyOS at P[pps] from client [client]$ sudo tcpreplay --unique-ip ? -l ${N} --pps=${P} -K -i eth0 file.pcap Tcpreplay もイイネ I love Tcpreplay too.
  • 11. 試験手順/Testing procedure (3) サーバに届いたパケット数を数える Count the number of packets from client [[sseerrvveerr]]$$ ssuuddoo ttccppdduummpp --nn --ii eetthh00
  • 12. 試験手順/Testing procedure (4) VyOS でNAT table の数を見る Show NAT statistics on VyOS vyos@vyos:~$ show nat source statistics rule pkts bytes interface ---- ---- ----- --------- 10 100K 2800K eth1
  • 15. 結果/Results ? 新規セッション20K[pps] で処理できそう (合計20万セッションでも) VyOS will bbee aabbllee ttoo hhaannddllee 20K new-session per sec (with 200K unique sessions condition)
  • 16. 備考/Notes ? >30K[pps] のパケロス発生時でも [サーバに届いたパケット数] と [VyOS で作られたNAT session 数] は概ね同数 >30K[pps] condition, i.e. PER != 0 [number of packets received by server] is also nearly equal to [number of NAT-sessions on VyOS]
  • 17. tcpreplay が気になるでしょ!? You will be interested in tcpreplay.
  • 20. お知らせ 日本語サイト始めてみました! I translate the web site into Japanese. http://tcpreplay.jp/
  • 21. お知らせ ? 日本語サイト始めてみました! ? http://tcpreplay.jp/ ? https://github.com/otsuka752/ ? Web site in English ? http://tcpreplay.appneta.com/ ? https://github.com/appneta/tcpreplay/
  • 22. END