SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
VM Meetup Tokyo #1
NSX の運用
DFWトラブルシューティング
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
自己紹介
2
樋口 茂幸
所属: 富士通クラウドテクノロジーズ株式会社
Model: 2012年度入社モデル エンジニア
Uptime: 社会人7年目
State: Connected
Twitter: @YOMOGItanpop(つぶやいていない)
興味分野:
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 3
ニフクラと NSX
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
◼ 2010年よりクラウド事業を開始
ニフティ株式会社時代のISP事業やWebサービス事業で培ったノウハウとインフラ資産を活用
◼ 2017年4月社名変更
ニフティ株式会社から富士通クラウドテクノロジーズに
◼ 2017年11月ブランド変更、ニフティクラウドからニフクラに
4
1980年~
パソコン通信/ISP通信/WEBサービス事業
2010年~
クラウド事業
ノウハウとインフラ資産の活用
2017年
VMware APJ最大規模!
ニフクラってなに?
ML/mBaaS/PaaS も
2006年から、ずっと VMware
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
どこで NSX を使っているのか?
5
バックアップ/DRサービス
for VMware vSphere®
デスクトップサービス
(専有型)
ニフクラ
IaaS
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
どこで NSX を使っているのか?
6
バックアップ/DRサービス
for VMware vSphere®
デスクトップサービス
(専有型)
ニフクラ
IaaS
※一部 を利用
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
NSX 利用で特に変わっているところは?
7
ニフクラ
IaaS
リモートアクセスVPNゲートウェイ
2019年4月リリース
new
活性移行
以前の製品
ファイアウォールマイグレーション
数10データセンターに展開、1データーセンター内でも世界最大規模の利用
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
運用のチーム体制はどうなっているのか?
8
vCenter/ESXi
担当者
物理機器
担当者
ニフクラ
アプリケーション担当者
顧客サポート
担当者
NSX 担当者
vib
企画
設計
運用開発
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
運用ツールはどうなっているのか
9
API監視
アプリケーション
(自作:nsxraml 利用)
ファイアウォール
ログパース
アプリケーション
(自作)
ESXiNSX Manager
ユーザー
構成管理
運用者
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
運用ツール開発はどうなっているのか
コミット
テスト
環境作成 テスト
リリース
NS
X
VM VM
nested
ESXi
nested
ESXi
nested
ESXi
vC VM VM
テスト環境 VMware vSphere®
nested の環境をクローン
NS
X
VM VM
nested
ESXi
nested
ESXi
nested
ESXi
vC VM VM
テスト環境 VMware vSphere®
ESXi ESXi
テスト
環境
テスト
環境
テスト
環境
new
VM 変更したコードを実行し
vSphere を含む全体の挙動をテスト
10
CI 利用
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 11
DFWのトラブルシューティング
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
大きく分けると2種類
IP Port Act
A 80 Allow
12
IP Port Act
A 80 Allow
A 443 Allow
設定が反映されていない ルールで許可しているがドロップ
SrcIP:A
80/tcp
IP Port Act
A 80 Allow
参考: vForum 2016 資料 「マイクロセグメンテーション運用のためのNSX for vSphere -Distributed Firewall トラブルシューティング」
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
大きく分けると2種類
IP Port Act
A 80 Allow
13
IP Port Act
A 80 Allow
A 443 Allow
設定が反映されていない ルールで許可しているがドロップ
SrcIP:A
80/tcp
IP Port Act
A 80 Allow
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
◼ 設定したファイアウォールルールの設定は左のような
流れになっている
14
NSX Manager
ESXi
dvfilter
vsip
vsfwd
全体像
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
◼ まずは意図したとおりのルールがNSXに入っているか確認
する
◼ UI や API で確認できる
15
NSX Manager
ESXi
dvfilter
vsip
vsfwd
全体像
% curl -s -k -u admin:$PASS -H 'Accept: application/json‘
https://$NSXIP/api/4.0/firewall/globalroot-0/config
| jq -r '.layer3Sections.layer3Sections[].rules[]‘
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
◼ ある時点のファイアウォールのルールは
generation number という番号とともに管理される
16
NSX Manager
ESXi
dvfilter
vsip
vsfwd
NSX Manager から各ホストに配信されているか?
% curl -s -k -u admin:$PASS -H 'Accept: application/json'
“https://$NSXIP/api/4.0/firewall/globalroot-0/status” | jq -r .
{
"startTime": 1557974013000,
"status": "published",
"generationNumber": "1557974013000",
"generationNumberObjects": "1558005383998",
"clusterList": [
{
"clusterId": "domain-c113",
"status": "published",
"generationNumber": "1557974013000",
"generationNumberObjects": "1558005383998",
"hostStatusList": [
{
"hostId": "host-24459",
"hostName": “xxxxx",
"status": "published",
"errorCode": 0,
"startTime": 1557974017329,
"endTime": 1558006428268,
"generationNumber": "1557974013000",
"clusterId": "domain-c113",
% curl -s -k -u admin:$PASS -H 'Accept: application/json'
“https://$NSXIP/api/4.0/firewall/globalroot-0/config” | jq -r .generationNumber
1557974013000
◼ API でどのホストにどの generation number のファ
イアウォールが配信されているか分かる
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
◼ vsm.log (NSX Manager のログ)
17
NSX Manager
ESXi
dvfilter
vsip
vsfwd
NSX Manager から各ホストに配信されているか?(ログ)
# クラスタへの配信開始
ConfigurationPublisher:89 - Updating Cluster domain-c136174 with Generation Number
1558017119337
# ホストへの配信開始
ConfigurationPublisher:248 - Updating host host-160805 status for firewall, generation
1558017119337 ; StatusCode - 0, Status Message –
# ホストへの配信完了
FirewallDao:1241 - Host Status update for host host-160805 with latest generation
number 1558017119337 , end time 1558017151737, errorCode null
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
◼ ルールセットが正しく vsip まで展開されているかは
以下のコマンドで確認できる
18
NSX Manager
ESXi
dvfilter
vsip
vsfwd
ESXi 上で正しく展開されているか?
[root@host:~] vsipioctl loadruleset | grep ^Generation
Generation : 1557974013000
2019-05-16T18:22:57Z vsfwd: [INFO] Applying firewall config to vnic list on host
host-24459
2019-05-16T18:22:57Z vsfwd: [INFO] Applied RuleSet 1557974013000 on vnic
50190c49-ffcf-4e6c-fd97-3b12a0849333.001
2019-05-16T18:22:57Z vsfwd: [INFO] Applied RuleSet 1557974013000 on vnic
50190c49-ffcf-4e6c-fd97-3b12a0849333.000
2019-05-16T18:22:57Z vsfwd: [INFO] Applied RuleSet 1557974013000 for all
vnics
2019-05-16T18:22:57Z vsfwd: [INFO] Sending vsa reply of domain-c113 host
host-24459: 0
◼ ログで確認する事もできる
(ESXi) vsfwd.log
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
◼ 各 dvfilter は ID 単位で操作できる
◼ 以下のコマンドが dvfilter を識別するコマンド
19
NSX Manager
ESXi
dvfilter
vsip
vsfwd
ESXi 上で正しく展開されているか?
[root@host:~] summarize-dvfilter
…
port 84136444 vm.eth0
vNic slot 2
name: nic-102377785-eth0-vmware-sfw.2
…
[root@host:~] vsipioctl getrules -f nic-102377785-eth0-vmware-sfw.2
ruleset domain-c113 {
# Filter rules
rule 1006 at 1 in protocol tcp from addrset ip-ipset-7 to any port 10050 accept;
rule 1005 at 2 in protocol tcp from addrset ip-ipset-8 to any port 10050 accept;
rule 1001 at 3 inout protocol any from any to any accept;
}
◼ vsipioctl getrules で各 dvfilter ごとに適用されてい
るルールを確認できる
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
◼ アドレスセットがどの様になっているかは
vsipioctl getaddrsets で確認できる
20
NSX Manager
ESXi
dvfilter
vsip
vsfwd
ESXi 上で正しく展開されているか?
[root@host:~] vsipioctl getaddrsets -f nic-102377785-eth0-
vmware-sfw.2
addrset ip-ipset-7 {
ip 10.20.0.32,
◼ Source や Destination に vCenter object や Security
Group を指定した場合
VMware tools が動作していないなどの理由により IP が
展開されないことがある
対策としては
VMware tools を起動するか
Snooping 有効にするか
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
設定が反映されていない場合の切り分け
切り分け方法
◼ 入れたルールがただしいか調べる
◼ 配信されているか調べる
考えられる問題
◼ 入れたルールが正しくない
◼ vsfwd と NSX Manager が通信できない
◼ VMware tools が停止している
21
NSX Manager
ESXi
dvfilter
vsip
vsfwd
まとめ
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
大きく分けると2種類
IP Port Act
A 80 Allow
22
IP Port Act
A 80 Allow
A 443 Allow
設定が反映されていない ルールで許可しているがドロップ
SrcIP:A
80/tcp
IP Port Act
A 80 Allow
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
ルールで許可しているがドロップするケース
◼ コネクショントラッカーテーブルとルールテーブルを持っている
◼ 既存コネクション
• コネクショントラッカーテーブルで評価され一致すれば通過
◼ 新規コネクション
• ルールテーブルに一致する場合通過、コネクショントラッカーテーブル
にエントリーを追加
23
sIP sPort dIP dPort State Seq IP Port Dir State
コネクション有
TCP正常
コネクション無 Allow
Reject/Drop
コネクション有
TCP異常
ruleconntrack
dfwpktlogs.log
DFW のメカニズム概要
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
ルールで許可しているがドロップするケース
◼ Dvfilter の統計情報から確認
24
sIP sPort dIP dPort State Seq IP Port Dir State
コネクション有
TCP正常
コネクション無 Allow
Reject/Drop
コネクション有
TCP異常
ruleconntrack
dfwpktlogs.log
ファイアウォールで拒否していることを切り分ける方法
[root@host:~] vsipioctl getfilterstat -f nic-16002942-eth1-vmware-sfw.2
PACKETS IN OUT
------- -- ---
v4 pass: 83 3
v4 drop: 608 0
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
ルールで許可しているがドロップするケース
◼ DFW 前後でパケットキャプチャから差分を確認
25
sIP sPort dIP dPort State Seq IP Port Dir State
コネクション有
TCP正常
コネクション無 Allow
Reject/Drop
コネクション有
TCP異常
ruleconntrack
dfwpktlogs.log
ファイアウォールで拒否していることを切り分ける方法
# ファイアウォール直前パケットキャプチャ
pktcap-uw --capture PreDvFilter --dvfilter $DVFILTER
# ファイアウォール直後パケットキャプチャ
pktcap-uw --capture PostDvFilter --dvfilter $DVFILTER
詳細はドキュメント「DVFilter レベルでのパケットのキャプチャ」
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
ルールで許可しているがドロップするケース
◼ dfwpktlogs.log
26
sIP sPort dIP dPort State Seq IP Port Dir State
コネクション有
TCP正常
コネクション無 Allow
Reject/Drop
コネクション有
TCP異常
ruleconntrack
dfwpktlogs.log
ルールテーブルでドロップしている場合の切り分け方
INET match DROP domain-c171871/11064 IN 40 TCP 192.168.0.31/50325->192.168.0.32/80 S
ルールにマッチしドロップ
ルールID 送信元/送信先
方向 TCP フラグ
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
ルールで許可しているがドロップするケース
◼ 拒否するケースに合致しないか調査する
• 拒否するケースが記載されているKB:
PF reason codes in NSX for vSphere 6.x (2149586)
◼ 具体的に知りたい場合:
パケットキャプチャと dfwpktlogs.log の差分を調べる
27
sIP sPort dIP dPort State Seq IP Port Dir State
コネクション有
TCP正常
コネクション無 Allow
Reject/Drop
コネクション有
TCP異常
ruleconntrack
dfwpktlogs.log
コネクショントラッカーテーブルで拒否しているパケットを切り分ける方法
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
Conntrack が理由でドロップするケース
◼ DFW はウィンドウの計算もしていて、ウインドウを超えた場合はドロップする
◼ 行き/戻り で 通信元/通信先 が一致しない場合計算できず、
約 65KB を超えるとドロップしてしまう。
28
非対称ルーティング
SEND
ACK
SEND
SEND
SEND
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
Conntrack が理由でドロップするケース
◼ クライアントが異常終了した場合など、サーバーが ESTABLISHED 状
態で有るにかかわらず SYN を送ってしまうケースがある
◼ NSX6.2.3 以降だと challenge ack を返すようになり改善されている
29
EST 状態で SYN を受け取った場合(6.2.3 で改善)
SYN
SYN/ACK
ACK
EST
SYN
HA 等の理由でクライアントの
コネクションがリセット
(ハーフオープン状態)
ESTABLISHED 状態で
SYN 受信は不正と判断しドロップ
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
Conntrack が理由でドロップするケース
◼ クライアントが異常終了した場合など、サーバーが ESTABLISHED 状
態で有るにかかわらず SYN を送ってしまうケースがある
◼ NSX6.2.3 以降だと challenge ack を返すようになり改善されている
30
EST 状態で SYN を受け取った場合(6.2.3 で改善)
SYN
SYN/ACK
ACK
EST
SYN
HA 等の理由でクライアントの
コネクションがリセット
(ハーフオープン状態)
ステートクリア
ACK
RST
SYN
SYN/ACK
ACK
DFW が代理応答で ACK
SYNSENT 状態で ACK を受け取り
RST を返却、DFWのステートが
クリアされる
NSX 6.2.3 以降
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
今日の内容
IP Port Act
A 80 Allow
31
IP Port Act
A 80 Allow
A 443 Allow
設定が反映されていない ルールで許可しているがドロップ
SrcIP:A
80/tcp
IP Port Act
A 80 Allow
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED
まとめ
今日の内容
◼ニフクラは大規模な環境運用のため基盤の紹介
◼NSX の DFW のトラブルシューティングの紹介
32
一緒にクラウドを作ってくれる方募集中です!
(NSX-T など検証中)
Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED

Contenu connexe

Tendances

AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)NTT DATA Technology & Innovation
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05都元ダイスケ Miyamoto
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門Yoshimura Soichiro
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
Java によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けてJava によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けてShigeru Tatsuta
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...NTT DATA Technology & Innovation
 
スマホマーケットの概要と、 マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、 マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)Tokoroten Nakayama
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティNGINX, Inc.
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみましたShuntaro Saiba
 
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム SakashoについてDeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム SakashoについてMakoto Haruyama
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Daisuke Miyamoto
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)NTT DATA Technology & Innovation
 
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす Akihiro Suda
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)NTT DATA Technology & Innovation
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Masahito Zembutsu
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...whywaita
 

Tendances (20)

AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
 
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
 
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Java によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けてJava によるクラウドネイティブ の実現に向けて
Java によるクラウドネイティブ の実現に向けて
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 
スマホマーケットの概要と、 マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)スマホマーケットの概要と、マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
スマホマーケットの概要と、 マーケティングの失敗例と改善 (アナリティクス アソシエーション 特別セミナー)
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティ
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム SakashoについてDeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
DeNAオリジナル ゲーム専用プラットフォーム Sakashoについて
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
 
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
0から始めるコンテナの学び方(Kubernetes Novice Tokyo #14 発表資料)
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版Dockerfileを改善するためのBest Practice 2019年版
Dockerfileを改善するためのBest Practice 2019年版
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 

Similaire à vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング

Hybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_finalHybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_finalKei Furusawa
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_finalKazumasa Ikuta
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppugMiya Kohno
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理Yuki Yamashita
 
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX, Inc.
 
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea 急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea Motonori Shindo
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成Takashi Kanai
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~Brocade
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」Takaaki Suzuki
 

Similaire à vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング (20)

Hybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_finalHybrid cloud fj-20190704_final
Hybrid cloud fj-20190704_final
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppug
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理
 
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
 
自宅k8s/vSphere入門
自宅k8s/vSphere入門自宅k8s/vSphere入門
自宅k8s/vSphere入門
 
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea 急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
 
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
OpenStackを利用したNFVの商用化 - OpenStack最新情報セミナー 2017年7月
 
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
KubernetesとFlannelでWindows上にPod間VXLAN Overlayネットワークを構成
 
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
 
自宅インフラの育て方 第2回
自宅インフラの育て方 第2回自宅インフラの育て方 第2回
自宅インフラの育て方 第2回
 
devsummit_nifcloud_vmware
devsummit_nifcloud_vmwaredevsummit_nifcloud_vmware
devsummit_nifcloud_vmware
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
 
ドリコムのインフラCI
ドリコムのインフラCIドリコムのインフラCI
ドリコムのインフラCI
 

Plus de 富士通クラウドテクノロジーズ株式会社

Plus de 富士通クラウドテクノロジーズ株式会社 (20)

IPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違いIPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違い
 
弊社サービスを使って ノーコード開発してみた.pdf
弊社サービスを使って ノーコード開発してみた.pdf弊社サービスを使って ノーコード開発してみた.pdf
弊社サービスを使って ノーコード開発してみた.pdf
 
今から始めるUbuntu入門_202307.pdf
今から始めるUbuntu入門_202307.pdf今から始めるUbuntu入門_202307.pdf
今から始めるUbuntu入門_202307.pdf
 
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
非エンジニアがクラウド上にMinecraftサーバーを構築するまでの記録
 
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
FJcloud-Vの無料トライアルで雑にWordPressを入れてみた(リベンジ)
 
今さら聞けないバックアップの基礎
今さら聞けないバックアップの基礎今さら聞けないバックアップの基礎
今さら聞けないバックアップの基礎
 
DevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOpsDevOps with GitLabで始める簡単DevOps
DevOps with GitLabで始める簡単DevOps
 
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
 
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
NGINX App Protect on Hatobaで実現するセキュリティサービス公開 構築手順書
 
これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門これから始めるエンジニアのためのクラウド超入門
これから始めるエンジニアのためのクラウド超入門
 
「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」「ネットワーク超入門 IPsec VPN編」
「ネットワーク超入門 IPsec VPN編」
 
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみようマネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
 
GitLabで始めるDevOps入門
GitLabで始めるDevOps入門GitLabで始めるDevOps入門
GitLabで始めるDevOps入門
 
GitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみたGitLabのAutoDevOpsを試してみた
GitLabのAutoDevOpsを試してみた
 
vSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについてvSphere 7 へのアップグレードについて
vSphere 7 へのアップグレードについて
 
VM 基盤運用チームの DevOps
VM 基盤運用チームの DevOpsVM 基盤運用チームの DevOps
VM 基盤運用チームの DevOps
 
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
 
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
入社2年目社員から見たVDI(DaaS)の運用とセキュリティ入社2年目社員から見たVDI(DaaS)の運用とセキュリティ
入社2年目社員から見た VDI(DaaS)の運用とセキュリティ
 
インフラチームのリモートワーク
インフラチームのリモートワークインフラチームのリモートワーク
インフラチームのリモートワーク
 
いつでも在宅勤務
いつでも在宅勤務いつでも在宅勤務
いつでも在宅勤務
 

vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング

  • 1. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED VM Meetup Tokyo #1 NSX の運用 DFWトラブルシューティング
  • 2. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 自己紹介 2 樋口 茂幸 所属: 富士通クラウドテクノロジーズ株式会社 Model: 2012年度入社モデル エンジニア Uptime: 社会人7年目 State: Connected Twitter: @YOMOGItanpop(つぶやいていない) 興味分野:
  • 3. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 3 ニフクラと NSX
  • 4. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED ◼ 2010年よりクラウド事業を開始 ニフティ株式会社時代のISP事業やWebサービス事業で培ったノウハウとインフラ資産を活用 ◼ 2017年4月社名変更 ニフティ株式会社から富士通クラウドテクノロジーズに ◼ 2017年11月ブランド変更、ニフティクラウドからニフクラに 4 1980年~ パソコン通信/ISP通信/WEBサービス事業 2010年~ クラウド事業 ノウハウとインフラ資産の活用 2017年 VMware APJ最大規模! ニフクラってなに? ML/mBaaS/PaaS も 2006年から、ずっと VMware
  • 5. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED どこで NSX を使っているのか? 5 バックアップ/DRサービス for VMware vSphere® デスクトップサービス (専有型) ニフクラ IaaS
  • 6. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED どこで NSX を使っているのか? 6 バックアップ/DRサービス for VMware vSphere® デスクトップサービス (専有型) ニフクラ IaaS ※一部 を利用
  • 7. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED NSX 利用で特に変わっているところは? 7 ニフクラ IaaS リモートアクセスVPNゲートウェイ 2019年4月リリース new 活性移行 以前の製品 ファイアウォールマイグレーション 数10データセンターに展開、1データーセンター内でも世界最大規模の利用
  • 8. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 運用のチーム体制はどうなっているのか? 8 vCenter/ESXi 担当者 物理機器 担当者 ニフクラ アプリケーション担当者 顧客サポート 担当者 NSX 担当者 vib 企画 設計 運用開発
  • 9. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 運用ツールはどうなっているのか 9 API監視 アプリケーション (自作:nsxraml 利用) ファイアウォール ログパース アプリケーション (自作) ESXiNSX Manager ユーザー 構成管理 運用者
  • 10. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 運用ツール開発はどうなっているのか コミット テスト 環境作成 テスト リリース NS X VM VM nested ESXi nested ESXi nested ESXi vC VM VM テスト環境 VMware vSphere® nested の環境をクローン NS X VM VM nested ESXi nested ESXi nested ESXi vC VM VM テスト環境 VMware vSphere® ESXi ESXi テスト 環境 テスト 環境 テスト 環境 new VM 変更したコードを実行し vSphere を含む全体の挙動をテスト 10 CI 利用
  • 11. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 11 DFWのトラブルシューティング
  • 12. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 大きく分けると2種類 IP Port Act A 80 Allow 12 IP Port Act A 80 Allow A 443 Allow 設定が反映されていない ルールで許可しているがドロップ SrcIP:A 80/tcp IP Port Act A 80 Allow 参考: vForum 2016 資料 「マイクロセグメンテーション運用のためのNSX for vSphere -Distributed Firewall トラブルシューティング」
  • 13. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 大きく分けると2種類 IP Port Act A 80 Allow 13 IP Port Act A 80 Allow A 443 Allow 設定が反映されていない ルールで許可しているがドロップ SrcIP:A 80/tcp IP Port Act A 80 Allow
  • 14. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け ◼ 設定したファイアウォールルールの設定は左のような 流れになっている 14 NSX Manager ESXi dvfilter vsip vsfwd 全体像
  • 15. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け ◼ まずは意図したとおりのルールがNSXに入っているか確認 する ◼ UI や API で確認できる 15 NSX Manager ESXi dvfilter vsip vsfwd 全体像 % curl -s -k -u admin:$PASS -H 'Accept: application/json‘ https://$NSXIP/api/4.0/firewall/globalroot-0/config | jq -r '.layer3Sections.layer3Sections[].rules[]‘
  • 16. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け ◼ ある時点のファイアウォールのルールは generation number という番号とともに管理される 16 NSX Manager ESXi dvfilter vsip vsfwd NSX Manager から各ホストに配信されているか? % curl -s -k -u admin:$PASS -H 'Accept: application/json' “https://$NSXIP/api/4.0/firewall/globalroot-0/status” | jq -r . { "startTime": 1557974013000, "status": "published", "generationNumber": "1557974013000", "generationNumberObjects": "1558005383998", "clusterList": [ { "clusterId": "domain-c113", "status": "published", "generationNumber": "1557974013000", "generationNumberObjects": "1558005383998", "hostStatusList": [ { "hostId": "host-24459", "hostName": “xxxxx", "status": "published", "errorCode": 0, "startTime": 1557974017329, "endTime": 1558006428268, "generationNumber": "1557974013000", "clusterId": "domain-c113", % curl -s -k -u admin:$PASS -H 'Accept: application/json' “https://$NSXIP/api/4.0/firewall/globalroot-0/config” | jq -r .generationNumber 1557974013000 ◼ API でどのホストにどの generation number のファ イアウォールが配信されているか分かる
  • 17. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け ◼ vsm.log (NSX Manager のログ) 17 NSX Manager ESXi dvfilter vsip vsfwd NSX Manager から各ホストに配信されているか?(ログ) # クラスタへの配信開始 ConfigurationPublisher:89 - Updating Cluster domain-c136174 with Generation Number 1558017119337 # ホストへの配信開始 ConfigurationPublisher:248 - Updating host host-160805 status for firewall, generation 1558017119337 ; StatusCode - 0, Status Message – # ホストへの配信完了 FirewallDao:1241 - Host Status update for host host-160805 with latest generation number 1558017119337 , end time 1558017151737, errorCode null
  • 18. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け ◼ ルールセットが正しく vsip まで展開されているかは 以下のコマンドで確認できる 18 NSX Manager ESXi dvfilter vsip vsfwd ESXi 上で正しく展開されているか? [root@host:~] vsipioctl loadruleset | grep ^Generation Generation : 1557974013000 2019-05-16T18:22:57Z vsfwd: [INFO] Applying firewall config to vnic list on host host-24459 2019-05-16T18:22:57Z vsfwd: [INFO] Applied RuleSet 1557974013000 on vnic 50190c49-ffcf-4e6c-fd97-3b12a0849333.001 2019-05-16T18:22:57Z vsfwd: [INFO] Applied RuleSet 1557974013000 on vnic 50190c49-ffcf-4e6c-fd97-3b12a0849333.000 2019-05-16T18:22:57Z vsfwd: [INFO] Applied RuleSet 1557974013000 for all vnics 2019-05-16T18:22:57Z vsfwd: [INFO] Sending vsa reply of domain-c113 host host-24459: 0 ◼ ログで確認する事もできる (ESXi) vsfwd.log
  • 19. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け ◼ 各 dvfilter は ID 単位で操作できる ◼ 以下のコマンドが dvfilter を識別するコマンド 19 NSX Manager ESXi dvfilter vsip vsfwd ESXi 上で正しく展開されているか? [root@host:~] summarize-dvfilter … port 84136444 vm.eth0 vNic slot 2 name: nic-102377785-eth0-vmware-sfw.2 … [root@host:~] vsipioctl getrules -f nic-102377785-eth0-vmware-sfw.2 ruleset domain-c113 { # Filter rules rule 1006 at 1 in protocol tcp from addrset ip-ipset-7 to any port 10050 accept; rule 1005 at 2 in protocol tcp from addrset ip-ipset-8 to any port 10050 accept; rule 1001 at 3 inout protocol any from any to any accept; } ◼ vsipioctl getrules で各 dvfilter ごとに適用されてい るルールを確認できる
  • 20. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け ◼ アドレスセットがどの様になっているかは vsipioctl getaddrsets で確認できる 20 NSX Manager ESXi dvfilter vsip vsfwd ESXi 上で正しく展開されているか? [root@host:~] vsipioctl getaddrsets -f nic-102377785-eth0- vmware-sfw.2 addrset ip-ipset-7 { ip 10.20.0.32, ◼ Source や Destination に vCenter object や Security Group を指定した場合 VMware tools が動作していないなどの理由により IP が 展開されないことがある 対策としては VMware tools を起動するか Snooping 有効にするか
  • 21. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 設定が反映されていない場合の切り分け 切り分け方法 ◼ 入れたルールがただしいか調べる ◼ 配信されているか調べる 考えられる問題 ◼ 入れたルールが正しくない ◼ vsfwd と NSX Manager が通信できない ◼ VMware tools が停止している 21 NSX Manager ESXi dvfilter vsip vsfwd まとめ
  • 22. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 大きく分けると2種類 IP Port Act A 80 Allow 22 IP Port Act A 80 Allow A 443 Allow 設定が反映されていない ルールで許可しているがドロップ SrcIP:A 80/tcp IP Port Act A 80 Allow
  • 23. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED ルールで許可しているがドロップするケース ◼ コネクショントラッカーテーブルとルールテーブルを持っている ◼ 既存コネクション • コネクショントラッカーテーブルで評価され一致すれば通過 ◼ 新規コネクション • ルールテーブルに一致する場合通過、コネクショントラッカーテーブル にエントリーを追加 23 sIP sPort dIP dPort State Seq IP Port Dir State コネクション有 TCP正常 コネクション無 Allow Reject/Drop コネクション有 TCP異常 ruleconntrack dfwpktlogs.log DFW のメカニズム概要
  • 24. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED ルールで許可しているがドロップするケース ◼ Dvfilter の統計情報から確認 24 sIP sPort dIP dPort State Seq IP Port Dir State コネクション有 TCP正常 コネクション無 Allow Reject/Drop コネクション有 TCP異常 ruleconntrack dfwpktlogs.log ファイアウォールで拒否していることを切り分ける方法 [root@host:~] vsipioctl getfilterstat -f nic-16002942-eth1-vmware-sfw.2 PACKETS IN OUT ------- -- --- v4 pass: 83 3 v4 drop: 608 0
  • 25. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED ルールで許可しているがドロップするケース ◼ DFW 前後でパケットキャプチャから差分を確認 25 sIP sPort dIP dPort State Seq IP Port Dir State コネクション有 TCP正常 コネクション無 Allow Reject/Drop コネクション有 TCP異常 ruleconntrack dfwpktlogs.log ファイアウォールで拒否していることを切り分ける方法 # ファイアウォール直前パケットキャプチャ pktcap-uw --capture PreDvFilter --dvfilter $DVFILTER # ファイアウォール直後パケットキャプチャ pktcap-uw --capture PostDvFilter --dvfilter $DVFILTER 詳細はドキュメント「DVFilter レベルでのパケットのキャプチャ」
  • 26. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED ルールで許可しているがドロップするケース ◼ dfwpktlogs.log 26 sIP sPort dIP dPort State Seq IP Port Dir State コネクション有 TCP正常 コネクション無 Allow Reject/Drop コネクション有 TCP異常 ruleconntrack dfwpktlogs.log ルールテーブルでドロップしている場合の切り分け方 INET match DROP domain-c171871/11064 IN 40 TCP 192.168.0.31/50325->192.168.0.32/80 S ルールにマッチしドロップ ルールID 送信元/送信先 方向 TCP フラグ
  • 27. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED ルールで許可しているがドロップするケース ◼ 拒否するケースに合致しないか調査する • 拒否するケースが記載されているKB: PF reason codes in NSX for vSphere 6.x (2149586) ◼ 具体的に知りたい場合: パケットキャプチャと dfwpktlogs.log の差分を調べる 27 sIP sPort dIP dPort State Seq IP Port Dir State コネクション有 TCP正常 コネクション無 Allow Reject/Drop コネクション有 TCP異常 ruleconntrack dfwpktlogs.log コネクショントラッカーテーブルで拒否しているパケットを切り分ける方法
  • 28. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED Conntrack が理由でドロップするケース ◼ DFW はウィンドウの計算もしていて、ウインドウを超えた場合はドロップする ◼ 行き/戻り で 通信元/通信先 が一致しない場合計算できず、 約 65KB を超えるとドロップしてしまう。 28 非対称ルーティング SEND ACK SEND SEND SEND
  • 29. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED Conntrack が理由でドロップするケース ◼ クライアントが異常終了した場合など、サーバーが ESTABLISHED 状 態で有るにかかわらず SYN を送ってしまうケースがある ◼ NSX6.2.3 以降だと challenge ack を返すようになり改善されている 29 EST 状態で SYN を受け取った場合(6.2.3 で改善) SYN SYN/ACK ACK EST SYN HA 等の理由でクライアントの コネクションがリセット (ハーフオープン状態) ESTABLISHED 状態で SYN 受信は不正と判断しドロップ
  • 30. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED Conntrack が理由でドロップするケース ◼ クライアントが異常終了した場合など、サーバーが ESTABLISHED 状 態で有るにかかわらず SYN を送ってしまうケースがある ◼ NSX6.2.3 以降だと challenge ack を返すようになり改善されている 30 EST 状態で SYN を受け取った場合(6.2.3 で改善) SYN SYN/ACK ACK EST SYN HA 等の理由でクライアントの コネクションがリセット (ハーフオープン状態) ステートクリア ACK RST SYN SYN/ACK ACK DFW が代理応答で ACK SYNSENT 状態で ACK を受け取り RST を返却、DFWのステートが クリアされる NSX 6.2.3 以降
  • 31. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED 今日の内容 IP Port Act A 80 Allow 31 IP Port Act A 80 Allow A 443 Allow 設定が反映されていない ルールで許可しているがドロップ SrcIP:A 80/tcp IP Port Act A 80 Allow
  • 32. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED まとめ 今日の内容 ◼ニフクラは大規模な環境運用のため基盤の紹介 ◼NSX の DFW のトラブルシューティングの紹介 32 一緒にクラウドを作ってくれる方募集中です! (NSX-T など検証中)
  • 33. Copyright 2019 FUJITSU CLOUD TECHNOLOGIES LIMITED