SlideShare a Scribd company logo
1 of 15
Download to read offline
Copyright © NIFTY Corporation All Rights Reserved.
VyOSでMPLS
ニフティ株式会社
日下部 雄也
Copyright © NIFTY Corporation All Rights Reserved. 2
自己紹介
 Twitter/GitHub: higebu
 ニフティクラウド
 仮想ネットワーク
 DRサービス with VMware vCloud® Air™
Technology
 その他
 VyOS
 コミット権持ってる
 vyos-users.jp
Copyright © NIFTY Corporation All Rights Reserved. 3
ニフティクラウドとVyOS
 VPNゲートウェイとルーターという機能で
使っている
 数百台動いている
 ちょっと改造してる
 L2フィルタ
 Managed L2TPv3
 その他バグ修正
後輩の蓮沼くん
最近は彼が直している
Copyright © NIFTY Corporation All Rights Reserved. 4
ニフティクラウドとMPLS
 物理ネットワークの人に聞いたところ、
ちょっと使ってるらしい
 MPLSが盛り上がったのは数年前なので今
さら話してもという感じらしい
Copyright © NIFTY Corporation All Rights Reserved. 5
新しいVyOS
 Debian Jessieベース
 Systemd…
 Linux Kernel 4.4系
 MPLS使える
 詳しくはWebで
 http://vyos.net/wiki/Beryllium
 https://www.higebu.com/blog/2016/02/
26/2016-02-26-vyos-beryllium/
Copyright © NIFTY Corporation All Rights Reserved. 6
新しいVyOSを動かす
 ISOからインストールするのが面倒なので、とり
あえずインストール済みのVMイメージを使う
 https://github.com/higebu/vyos-
build/releases/tag/1.2.0-higebu5
 1.2.0正式リリース時にはVMイメージもリリー
スされるはず
Copyright © NIFTY Corporation All Rights Reserved. 7
iproute2をv4.4.0にする
 vyos/vyatta-iprouteというリポジトリがあるの
で、それを使う
 4.4.0にしてビルドしたパッケージはこちら
 https://github.com/higebu/vyatta-
iproute/releases/tag/debian%2F4.4.0-1vyos2
 4.4.0にした方がよくない?と言ったら昨晩本体
も4.4.0になったけどちょっとおかしいので後で
直したい
 未だに”iproute”パッケージしかビルドしてない
 DebianのパッケージがISOに入ってしまってるよう
に見える
 さっき見たら修正したISOできてた
– UnicronNLさん仕事早すぎる
Copyright © NIFTY Corporation All Rights Reserved. 8
iproute2をv4.4.0にする
dpkg -l | grep iproute
ii iproute 1:3.16.0-2 all transitional dummy package for iproute2
ii iproute2 3.16.0-2 amd64 networking and traffic control tools
dpkg -i iproute_4.4.0-1vyos2_all.deb iproute2_4.4.0-
1vyos2_amd64.deb
dpkg -l | grep iproute
ii iproute 1:4.4.0-1vyos2 all transitional dummy package for iproute2
ii iproute2 1:4.4.0-1vyos2 amd64 networking and traffic control tools
※最新のISOを使う場合、この手順はいらないです
Copyright © NIFTY Corporation All Rights Reserved. 9
MPLSを試してみる
 Linux kernel 4.3.0から使えるようになった
 4.4でMultipath routingがサポートされた
 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g
it/commit/?id=f8efb73c97e2fa0abbe2e07c5c5df07800312
643
 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g
it/commit/?id=1c78efa8319cad2f10f421afa627745fb4d9b
29f
 BrocadeやCumulusの方だ…
 VyOSのカーネルが4.4になって使えそうなので
試してみる
 内容は MPLS testbed on Ubuntu Linux with
kernel 4.3 と同じです
Copyright © NIFTY Corporation All Rights Reserved. 10
MPLSを試してみる
 動くかどうか見たいだけなのでとりあえず1ノー
ドでNetwork Namespace作って試す
netns host1
veth1
netns host2
veth3
veth0 veth2
lo lo
10.3.3.1/24 10.4.4.1/24
10.10.10.1/3210.3.3.2/24 10.4.4.2/2410.10.10.2/32
Label: 111
Label: 112
VyOS
Copyright © NIFTY Corporation All Rights Reserved. 11
MPLSを試してみる
modprobe mpls_router
modprobe mpls_iptunnel
modprobe mpls_gso
sysctl -w net.mpls.platform_labels=1000
モジュールをロードして、ラベルの最大値を設定する
Copyright © NIFTY Corporation All Rights Reserved. 12
MPLSを試してみる
ip link add veth0 type veth peer name veth1
ip link add veth2 type veth peer name veth3
sysctl -w net.mpls.conf.veth0.input=1
sysctl -w net.mpls.conf.veth2.input=1
ifconfig veth0 10.3.3.1/24 up
ifconfig veth2 10.4.4.1/24 up
ip netns add host1
ip netns add host2
ip link set veth1 netns host1
ip link set veth3 netns host2
ip netns exec host1 ifconfig lo 10.10.10.1/32 up
ip netns exec host1 ifconfig veth1 10.3.3.2/24 up
ip netns exec host2 ifconfig lo 10.10.10.2/32 up
ip netns exec host2 ifconfig veth3 10.4.4.2/24 up
ip netns exec host1 ip route add 10.10.10.2/32 encap mpls 112 via inet 10.3.3.1
ip netns exec host2 ip route add 10.10.10.1/32 encap mpls 111 via inet 10.4.4.1
ip -f mpls route add 111 via inet 10.3.3.2
ip -f mpls route add 112 via inet 10.4.4.2
veth作ってnetns作ってmplsの設定をする
Copyright © NIFTY Corporation All Rights Reserved. 13
MPLSを試してみる
ip netns exec host1 ip route
10.3.3.0/24 dev veth1 proto kernel scope link src 10.3.3.2
10.10.10.2 encap mpls 112 via 10.3.3.1 dev veth1
ip netns exec host2 ip route
10.4.4.0/24 dev veth3 proto kernel scope link src 10.4.4.2
10.10.10.1 encap mpls 111 via 10.4.4.1 dev veth3
ip -M route
111 via inet 10.3.3.2 dev veth0
112 via inet 10.4.4.2 dev veth2
ルートが入っているか確認
Copyright © NIFTY Corporation All Rights Reserved. 14
MPLSを試してみる
ip netns exec host2 ping 10.10.10.1 -I 10.10.10.2
PING 10.10.10.1 (10.10.10.1) from 10.10.10.2 : 56(84) bytes of data.
64 bytes from 10.10.10.1: icmp_seq=1 ttl=63 time=0.131 ms
64 bytes from 10.10.10.1: icmp_seq=2 ttl=63 time=0.085 ms
64 bytes from 10.10.10.1: icmp_seq=3 ttl=63 time=0.119 ms
tcpdump -envi veth0
tcpdump: listening on veth0, link-type EN10MB (Ethernet), capture size 262144 bytes
12:31:55.328221 0e:5c:af:ae:ad:68 > 76:3c:bd:ec:13:ac, ethertype IPv4 (0x0800), length
98: (tos 0x0, ttl 63, id 10742, offset 0, flags [DF], proto ICMP (1), length 84)
10.10.10.2 > 10.10.10.1: ICMP echo request, id 2865, seq 27, length 64
12:31:55.328246 76:3c:bd:ec:13:ac > 0e:5c:af:ae:ad:68, ethertype MPLS unicast
(0x8847), length 102: MPLS (label 112, exp 0, [S], ttl 64)
(tos 0x0, ttl 64, id 62371, offset 0, flags [none], proto ICMP (1), length 84)
10.10.10.1 > 10.10.10.2: ICMP echo reply, id 2865, seq 27, length 64
host2のloからhost1のloにping通るか試す(Label: 112)
MPLSのラベルが付いているか確認する
Copyright © NIFTY Corporation All Rights Reserved. 15
今後の予定
 MPLSのコマンド作る?
 早く1.2.0正式版リリースしないと…
 ニフティクラウドのネットワーク周りの機
能アップデートにもご期待ください

More Related Content

What's hot

Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo!デベロッパーネットワーク
 

What's hot (20)

大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
BGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみたBGP Unnumbered で遊んでみた
BGP Unnumbered で遊んでみた
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
 
NFVについて
NFVについてNFVについて
NFVについて
 
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
 
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
 
TripleO Deep Dive
TripleO Deep DiveTripleO Deep Dive
TripleO Deep Dive
 
YJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組みYJTC18 A-1 データセンタネットワークの取り組み
YJTC18 A-1 データセンタネットワークの取り組み
 
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
FC SAN Fabric環境におけるパフォーマンストラブルの対処法FC SAN Fabric環境におけるパフォーマンストラブルの対処法
FC SAN Fabric環境におけるパフォーマンストラブルの対処法
 
ONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN publicONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN public
 
【Interop Tokyo 2023】ShowNetにおけるジュニパーネットワークスの取り組み
【Interop Tokyo 2023】ShowNetにおけるジュニパーネットワークスの取り組み【Interop Tokyo 2023】ShowNetにおけるジュニパーネットワークスの取り組み
【Interop Tokyo 2023】ShowNetにおけるジュニパーネットワークスの取り組み
 
eBPFは何が嬉しいのか
eBPFは何が嬉しいのかeBPFは何が嬉しいのか
eBPFは何が嬉しいのか
 
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)セッション④
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
 
インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造インターネットの仕組みとISPの構造
インターネットの仕組みとISPの構造
 

Similar to VyOSでMPLS

「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例
SAKURA Internet Inc.
 
Nsegソフトウェアルータvyatta
NsegソフトウェアルータvyattaNsegソフトウェアルータvyatta
Nsegソフトウェアルータvyatta
jem 3
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
irix_jp
 
Vyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing EnviromentVyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing Enviroment
Naoto MATSUMOTO
 

Similar to VyOSでMPLS (20)

CONBU LL Diver/YAPC::Asia 2014 Network
CONBU LL Diver/YAPC::Asia 2014 NetworkCONBU LL Diver/YAPC::Asia 2014 Network
CONBU LL Diver/YAPC::Asia 2014 Network
 
「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例「さくらのクラウド」におけるVyattaの活用事例
「さくらのクラウド」におけるVyattaの活用事例
 
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~LinAction Theme LPICの問題を解いてみる~ネットワーク編~
LinAction Theme LPICの問題を解いてみる~ネットワーク編~
 
DPDKを拡張してみた話し
DPDKを拡張してみた話しDPDKを拡張してみた話し
DPDKを拡張してみた話し
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR第20回 OpenStack勉強会 Neutron Deep Dive - DVR
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
 
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
【第11回 クラウドごった煮(コンテナ勉強会)】Docker networking tools
 
Nsegソフトウェアルータvyatta
NsegソフトウェアルータvyattaNsegソフトウェアルータvyatta
Nsegソフトウェアルータvyatta
 
RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門RHEL7/CentOS7 NetworkManager徹底入門
RHEL7/CentOS7 NetworkManager徹底入門
 
JOSUG 9th Study
JOSUG 9th StudyJOSUG 9th Study
JOSUG 9th Study
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
Lagopus Router v19.07.1
Lagopus Router v19.07.1Lagopus Router v19.07.1
Lagopus Router v19.07.1
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
 
lilo.linux.or.jp の話
lilo.linux.or.jp の話lilo.linux.or.jp の話
lilo.linux.or.jp の話
 
Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727Lpicl304セミナー資料20140727
Lpicl304セミナー資料20140727
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
 
コンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用についてコンテナのネットワークインターフェース その実装手法とその応用について
コンテナのネットワークインターフェース その実装手法とその応用について
 
Vyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing EnviromentVyatta: The Virtual Router for Cloud Computing Enviroment
Vyatta: The Virtual Router for Cloud Computing Enviroment
 

More from 雄也 日下部

More from 雄也 日下部 (12)

GoでEPC作って本番運用している話
GoでEPC作って本番運用している話GoでEPC作って本番運用している話
GoでEPC作って本番運用している話
 
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
VyOS Users Meeting Japan #4 VyOS 1.2.0の開発の様子と自動テストの話
 
20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe20141121 zabbix conference_japan_2014_nifty_kusakabe
20141121 zabbix conference_japan_2014_nifty_kusakabe
 
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjpCoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
 
Building and Customizing CoreOS
Building and Customizing CoreOSBuilding and Customizing CoreOS
Building and Customizing CoreOS
 
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features20141102 VyOS 1.1.0 and NIFTY Cloud New Features
20141102 VyOS 1.1.0 and NIFTY Cloud New Features
 
JANOG 34 LT VyOS
JANOG 34 LT VyOSJANOG 34 LT VyOS
JANOG 34 LT VyOS
 
VYATTA USERS MEETING Spring 2014 VyOS
VYATTA USERS MEETING Spring 2014 VyOSVYATTA USERS MEETING Spring 2014 VyOS
VYATTA USERS MEETING Spring 2014 VyOS
 
VYATTA USERS MEETING Spring 2014 NIFTY Cloud
VYATTA USERS MEETING Spring 2014 NIFTY CloudVYATTA USERS MEETING Spring 2014 NIFTY Cloud
VYATTA USERS MEETING Spring 2014 NIFTY Cloud
 
Zabbix Conference Japan 2013 VMware monitoring
Zabbix Conference Japan 2013 VMware monitoringZabbix Conference Japan 2013 VMware monitoring
Zabbix Conference Japan 2013 VMware monitoring
 
jvum2013a niftycloud
jvum2013a niftycloudjvum2013a niftycloud
jvum2013a niftycloud
 
Jvum2013s niftycloud
Jvum2013s niftycloudJvum2013s niftycloud
Jvum2013s niftycloud
 

VyOSでMPLS

  • 1. Copyright © NIFTY Corporation All Rights Reserved. VyOSでMPLS ニフティ株式会社 日下部 雄也
  • 2. Copyright © NIFTY Corporation All Rights Reserved. 2 自己紹介  Twitter/GitHub: higebu  ニフティクラウド  仮想ネットワーク  DRサービス with VMware vCloud® Air™ Technology  その他  VyOS  コミット権持ってる  vyos-users.jp
  • 3. Copyright © NIFTY Corporation All Rights Reserved. 3 ニフティクラウドとVyOS  VPNゲートウェイとルーターという機能で 使っている  数百台動いている  ちょっと改造してる  L2フィルタ  Managed L2TPv3  その他バグ修正 後輩の蓮沼くん 最近は彼が直している
  • 4. Copyright © NIFTY Corporation All Rights Reserved. 4 ニフティクラウドとMPLS  物理ネットワークの人に聞いたところ、 ちょっと使ってるらしい  MPLSが盛り上がったのは数年前なので今 さら話してもという感じらしい
  • 5. Copyright © NIFTY Corporation All Rights Reserved. 5 新しいVyOS  Debian Jessieベース  Systemd…  Linux Kernel 4.4系  MPLS使える  詳しくはWebで  http://vyos.net/wiki/Beryllium  https://www.higebu.com/blog/2016/02/ 26/2016-02-26-vyos-beryllium/
  • 6. Copyright © NIFTY Corporation All Rights Reserved. 6 新しいVyOSを動かす  ISOからインストールするのが面倒なので、とり あえずインストール済みのVMイメージを使う  https://github.com/higebu/vyos- build/releases/tag/1.2.0-higebu5  1.2.0正式リリース時にはVMイメージもリリー スされるはず
  • 7. Copyright © NIFTY Corporation All Rights Reserved. 7 iproute2をv4.4.0にする  vyos/vyatta-iprouteというリポジトリがあるの で、それを使う  4.4.0にしてビルドしたパッケージはこちら  https://github.com/higebu/vyatta- iproute/releases/tag/debian%2F4.4.0-1vyos2  4.4.0にした方がよくない?と言ったら昨晩本体 も4.4.0になったけどちょっとおかしいので後で 直したい  未だに”iproute”パッケージしかビルドしてない  DebianのパッケージがISOに入ってしまってるよう に見える  さっき見たら修正したISOできてた – UnicronNLさん仕事早すぎる
  • 8. Copyright © NIFTY Corporation All Rights Reserved. 8 iproute2をv4.4.0にする dpkg -l | grep iproute ii iproute 1:3.16.0-2 all transitional dummy package for iproute2 ii iproute2 3.16.0-2 amd64 networking and traffic control tools dpkg -i iproute_4.4.0-1vyos2_all.deb iproute2_4.4.0- 1vyos2_amd64.deb dpkg -l | grep iproute ii iproute 1:4.4.0-1vyos2 all transitional dummy package for iproute2 ii iproute2 1:4.4.0-1vyos2 amd64 networking and traffic control tools ※最新のISOを使う場合、この手順はいらないです
  • 9. Copyright © NIFTY Corporation All Rights Reserved. 9 MPLSを試してみる  Linux kernel 4.3.0から使えるようになった  4.4でMultipath routingがサポートされた  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g it/commit/?id=f8efb73c97e2fa0abbe2e07c5c5df07800312 643  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g it/commit/?id=1c78efa8319cad2f10f421afa627745fb4d9b 29f  BrocadeやCumulusの方だ…  VyOSのカーネルが4.4になって使えそうなので 試してみる  内容は MPLS testbed on Ubuntu Linux with kernel 4.3 と同じです
  • 10. Copyright © NIFTY Corporation All Rights Reserved. 10 MPLSを試してみる  動くかどうか見たいだけなのでとりあえず1ノー ドでNetwork Namespace作って試す netns host1 veth1 netns host2 veth3 veth0 veth2 lo lo 10.3.3.1/24 10.4.4.1/24 10.10.10.1/3210.3.3.2/24 10.4.4.2/2410.10.10.2/32 Label: 111 Label: 112 VyOS
  • 11. Copyright © NIFTY Corporation All Rights Reserved. 11 MPLSを試してみる modprobe mpls_router modprobe mpls_iptunnel modprobe mpls_gso sysctl -w net.mpls.platform_labels=1000 モジュールをロードして、ラベルの最大値を設定する
  • 12. Copyright © NIFTY Corporation All Rights Reserved. 12 MPLSを試してみる ip link add veth0 type veth peer name veth1 ip link add veth2 type veth peer name veth3 sysctl -w net.mpls.conf.veth0.input=1 sysctl -w net.mpls.conf.veth2.input=1 ifconfig veth0 10.3.3.1/24 up ifconfig veth2 10.4.4.1/24 up ip netns add host1 ip netns add host2 ip link set veth1 netns host1 ip link set veth3 netns host2 ip netns exec host1 ifconfig lo 10.10.10.1/32 up ip netns exec host1 ifconfig veth1 10.3.3.2/24 up ip netns exec host2 ifconfig lo 10.10.10.2/32 up ip netns exec host2 ifconfig veth3 10.4.4.2/24 up ip netns exec host1 ip route add 10.10.10.2/32 encap mpls 112 via inet 10.3.3.1 ip netns exec host2 ip route add 10.10.10.1/32 encap mpls 111 via inet 10.4.4.1 ip -f mpls route add 111 via inet 10.3.3.2 ip -f mpls route add 112 via inet 10.4.4.2 veth作ってnetns作ってmplsの設定をする
  • 13. Copyright © NIFTY Corporation All Rights Reserved. 13 MPLSを試してみる ip netns exec host1 ip route 10.3.3.0/24 dev veth1 proto kernel scope link src 10.3.3.2 10.10.10.2 encap mpls 112 via 10.3.3.1 dev veth1 ip netns exec host2 ip route 10.4.4.0/24 dev veth3 proto kernel scope link src 10.4.4.2 10.10.10.1 encap mpls 111 via 10.4.4.1 dev veth3 ip -M route 111 via inet 10.3.3.2 dev veth0 112 via inet 10.4.4.2 dev veth2 ルートが入っているか確認
  • 14. Copyright © NIFTY Corporation All Rights Reserved. 14 MPLSを試してみる ip netns exec host2 ping 10.10.10.1 -I 10.10.10.2 PING 10.10.10.1 (10.10.10.1) from 10.10.10.2 : 56(84) bytes of data. 64 bytes from 10.10.10.1: icmp_seq=1 ttl=63 time=0.131 ms 64 bytes from 10.10.10.1: icmp_seq=2 ttl=63 time=0.085 ms 64 bytes from 10.10.10.1: icmp_seq=3 ttl=63 time=0.119 ms tcpdump -envi veth0 tcpdump: listening on veth0, link-type EN10MB (Ethernet), capture size 262144 bytes 12:31:55.328221 0e:5c:af:ae:ad:68 > 76:3c:bd:ec:13:ac, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 63, id 10742, offset 0, flags [DF], proto ICMP (1), length 84) 10.10.10.2 > 10.10.10.1: ICMP echo request, id 2865, seq 27, length 64 12:31:55.328246 76:3c:bd:ec:13:ac > 0e:5c:af:ae:ad:68, ethertype MPLS unicast (0x8847), length 102: MPLS (label 112, exp 0, [S], ttl 64) (tos 0x0, ttl 64, id 62371, offset 0, flags [none], proto ICMP (1), length 84) 10.10.10.1 > 10.10.10.2: ICMP echo reply, id 2865, seq 27, length 64 host2のloからhost1のloにping通るか試す(Label: 112) MPLSのラベルが付いているか確認する
  • 15. Copyright © NIFTY Corporation All Rights Reserved. 15 今後の予定  MPLSのコマンド作る?  早く1.2.0正式版リリースしないと…  ニフティクラウドのネットワーク周りの機 能アップデートにもご期待ください