2018年6月27日水曜日

VMware NSX-VとNSX-T

ネットワークの仮想化といえばNSXですが、NSXにはNSX-VとNSX-Tの2種類があるってご存知でしたか?

一般的には単にNSXといったらNSX-Vをさしますが、NSX-Tも徐々に注目されてきています。 ※VはvSphere、TはTransformの略

NSX-VはvSphere用のNSXで、NSX-Tはマルチハイパーバイザ対応となっていて、最新のNSX-T2.2以下のハイパーバイザをサポートしています。

ハイパーバイザ NSX-T2.2 NSX-T2.1 NSX-T2.0
vSphere 6.7.0, 6.5U2, 6.5U1 6.5U1, 6.5 6.5U1, 6.5
RHEL KVM 7.4 7.4, 7.3 7.3
Ubuntu KVM 16.04.2 LTS 16.04.2 LTS 16.04.x

また、最新のNSX-T2.2のリリースノートには次のような記載があり、マルチハイパーバイザ環境およびパブリッククラウドでNSXを利用したネットワーク仮想化が実現できるようになります。

「オンプレミス ワークロードおよび Azure のワークロードを 1 つの画面で管理できます。」


NSX-TはNSX-Vに比べて機能的にはまだ追いついていない部分もありますが、今後はNSX-Tの機能拡張も予定されていて遠くない未来にはNSX-Vに機能としては追いつくのではないかと思います。

じゃぁ、実際に操作感はというと。。。
GUIはNSX-Vと全く違います。

NSX-Vは基本的にはvCenterからNSXの設定を行いましたが、NSX-TはNSX Managerにログインして設定を行います。

そして、以下がNSX-Managerのログイン画面と、ログイン直後の画面になります。






NSX-Vとはまったく違いますね。

まだ、私もそれほどいじってはいないのですが、画面デザインの違いはあれど
まぁまぁ、こんな感じってのは理解できます。

もうちょっと操作してみて、私自身NSX-Tをもう勉強していきたいと思います。






2018年6月22日金曜日

NSX Command Guide

NSXの操作は基本的にはGUIでできますが、一部操作はCLIを利用しますし、NWの設定はCLI! という意見もあるかと思います。

基本的にはVMware社から公開されているマニュアル( NSX Command Line Interface Reference ) を参照してもらえればと思いますが、ちょっと簡単にWebで。。。だったりよく使うコマンドを。。。といったことが私自身多いので、私なりに準備してみました。


NSX Command List


とりあえず、暇なときに少しずつ書き溜めていきたいと思いますが、思い付きでやっているので使いにくかったりしたら、途中で削除するかもしれないです。



2018年6月19日火曜日

NSX Controller の Syslog 設定

前回、CLIユーザの作成でPostmanを利用してユーザの役割設定を行いましたが、
今回もAPIを利用しないと設定できない項目であるNSX ControllerのSyslog設定について
書いてきます。

NSXのSyslog設定というとNSX ManagerにGUIログインすることによってSyslogサーバの
設定はできますが、ここで設定できるのはNSX ManagerのSyslog設定であって、ControllerのSyslogまでは設定できません。

  ※いつものとおりHOL-1803のスクリーンショットです。


では、HOL-1803を利用してNSX ControllerのSyslog設定を行ってみます。


Authorizationは前回同様にBasicにして必要事項を入力します。

リクエストメソッドは Get のままで、URLは以下を入力して、Send ボタンを押します。

https://NSX-ManagerのIP/api/2.0/vdn/controller


スクリーン下段に結果が表示されるので、<id>Controller-ID</id>の項目を探し、
Controller-IDを控えておきます。
 ※通常はController*3台分


では、先ほど控えたController-IDを利用して、現在のControllerのsyslog設定を確認してみます。

https://NSX-ManagerのIP/api/2.0/vdn/controller/controller-ID/syslog




初期段階ではNSX ControllerにSyslogが設定されていないため、<details>にSyslog Server is not configuredと表示されていることが確認できます。


では、ここでNSX ControllerにSyslogサーバを設定します。

リクエストメソッドは Post に変更してURLはさっきのSyslog設定を確認したURLのままにします。
Bodyを選択してrawのXML(application/xml)は前回と同様です。

以下を入力し、Sendボタンを選択します。

<controllerSyslogServer>
<syslogServer>SyslogサーバのIP or FQDN</syslogServer>
<port>514</port>
<protocol>UDP</protocol>
<level>INFO</level>
</controllerSyslogServer>



右下部のStatusが200 OKと表示されていればNSX ControllerにSyslogサーバの設定が完了しています。

再度、NSX ControllerのSyslog設定を確認してみます。



先ほどは、<details>にSyslog Server is not configuredと表示されていましたが、Syslog設定後にはSyslogサーバ情報が表示されていることが確認できます。

これで1台のSyslogサーバ設定が完了したので、残りのControllerにも設定を行えば完了です。


HOLのテキストにはSyslog設定手順はありませんが、やってみると簡単なのでぜひ試してみてください。







2018年6月14日木曜日

NSX Manager CLI User の作成

NSX Managerのユーザ追加は通常GUIで行います。


上のスクリーンショットの +ボタンからユーザを追加できますが、こちらで追加できるユーザは以下の4つのRoleとなります。


Role 実行可能範囲
Auditor 参照のみ
Security Administrator セキュリティ関連。分散FirewallやNATなどの一部サービスの操作
NSX Administrator EdgeのデプロイやNSXの操作
Enterprise Administrator Edgeのデプロイや操作とセキュリティの操作


ですが、ここではNSX ManagerのCLIユーザは追加することができず、NSX ManagerでCLIを利用して作成する必要があります。



> enable ←Privilegedモードへ移行
password: xxxxx ←パスワード入力
#conf t ←Configuration Modeへ移行
(config)#user ユーザ名 password plaintext パスワード ←ユーザ作成とパスワードの設定
(config)#user ユーザ名 privilege web-interface ←作成したユーザにAPIの実行権限を付与
(config)#write mem ←設定保存
(config)#exit
#



CLIでユーザを作成しただけではRoleがアサインされていないため、GUIのリストにはユーザが表示されません。





CLIで作成したユーザへのRole設定はAPIで行います。



①で POST 選択して、下のURLを入力します。
https://<NSX-Manager-IP Address>/api/2.0/services/usermgmt/role/<userId>?isCli=true

②で認証の項目を入力します。
Type:Basic Auth
username :admin
password:adminのパスワード




③でBodyタブを選択し、raw、XML(application/xml)を選択します。
Request Bodyには以下の内容を入力します。

<accessControlEntry>
<role>new-role</role> ←割り当てるロール(auditor, security_admin, enterprise_admin, vshield_admin, super_user)
<resource>
<resourceId>globalroot-0</resourceId>
</resource>

</accessControlEntry>

④のSendボタンを押すと、⑤のステータスが 204 No Content と表示されれば完了です。

先ほどGUIで表示されていなかったCLIユーザが表示されていることが確認できます。



NSXは基本はGUIで操作が完了しますが、CLIやAPIを利用する必要があることもあります。APIはちょっと難しそうだなぁということで抵抗あるひとも多いかと思いますが、
利用してみれば意外と簡単なのでチャレンジしてみてください。





2018年6月12日火曜日

NSX Central CLI

NSXにはNSX Manager、NSX Edge、NSX Controller、DLR Control VMなどなど利用する機能によって多数の要素で構成されています。

NSXリリース当初のトラブルシューティングでは、Managerにログインして確認、Edgeにログインして確認、Controllerにログインと各構成要素各々にログインして確認する必要がありましたが、今ではNSX Managerにログインして各構成要素から情報を取得し確認することができます。

下の画像は、Hands on Lab(HOL-1803)でNSX Managerにログインし、Central CLI系のコマンドを実行した結果です。



1行目のコマンドはログインしているNSX Managerで管理しているLogical Switchのリスト一覧を表示するコマンドです。
Web_Tier_Logical_Switch、DB_Tier_Logical_Switchといった名称のLogical Switchが
どのTrans Port Zoneを利用してるといった情報が表示されています。

2つ目のコマンドは show edge all でEdgeのリストを表示しています。
ここではEdge IDやEdgeのStatusが確認できます。

show edge all で Edge IDを確認し、show edge edgeID のコマンドでEdgeの情報を確認することができます。
表示される情報はDeploy SizeやEdgeが稼働しているHost、Edgeで稼働しているサービスなどです。


そのほかに、show edge edgeID の引数として以下のコマンドが実行可能です。





Central CLIの実行例としてEdge関連のコマンドを実行しましたが、その他にcontrollerやLogical routerなどの情報をNSX Managerから取得できるようになっています。

トラブルシューティングの時にはCentral CLIがとても便利なのでお勧めです。








NSX CLI Command Modes

NSXの情報も増えてきましたが、cliの情報は意外と少ないのでゆっくりと
まとめていこうかと思います。

まずは、NSXのコマンドモードから。

ciscoにはユーザモードや特化モードといったコマンドモードがありますが、NSXも同様にコマンドモードがあります。
NSX ManagerとEdgeでは利用できるコマンドが違い、コマンドモードにも違いがあります。


NSX Manager NSX Edge Standalone Edge
Basic Mode yes yes yes
Privileged Mode yes yes yes
Configuration Mode yes no yes
Interface Configuration Mode yes no yes
L2 VPN Configuration Mode no no yes
Save Configuration write memory write memory commit


Basic Mode: ログイン直後のモードで利用できるコマンドはread onlyのコマンドのみ。
Privileged Mode: Basic Modeから enableコマンドで移行。サポートレベルのコマンドなど実行可能。
Configration Mode: Privileged Modeからconfigure terminalコマンドで移行。設定変更を行うコマンドの実行が可能。
Interface Configration Mode: 仮装アプライアンスのインターフェイス設定が可能なモード。
L2 VPN Configration Mode: L2 VPNの設定変更コマンドが実行可能。

参考に以下が実行例です。

login as : admin ←ログインユーザ
admin@192.168.xxx.xxx's password:XXXX ←ログインユーザのパスワード
nsx-mgr.corp.local>enable ←Privileged Modeへ変更
Password:xxxxx ←enableのパスワード
nsx-mgr.corp.local#conf t ←Configuration Modeへ変更
nsx-mgr.corp.local(config)#exit ←Configuration Modeから抜ける
nsx-mgr.corp.local#disable ←Basic Modeへ変更
nsx-mgr.corp.local>


まず、ssh やconsoleでログインするとBasicモードとなり、その後にenableコマンドで特権モードに移行してから、configure terminalでコンフィグモードになり設定を行います。
ciscoを利用されている人には違和感なく利用できると思います。

設定ファイルの保存についても、NSX ManagerとEdgeはwrite memoryコマンドで
running-config からstartup-configへ保存します。Standalone Edgeがwrite memoryではなく、commiコマンドでjunosっぽいのはなぜでしょう。。。


まずはここまで。
続きはまた。。。




2018年6月11日月曜日

NSX Command

忘れないようにNSXのコマンドリスト

<Edge>

show ip bgp neighbors
 print BGP neighbor information.


show ip ospf neighbors
 print ospf neighbor information.

show ip route
print routing information.

show service loadbalancer
print loadbalancer information.

show service loadbalancer pool
  print loadbalancer pool information.

show service ipsec
  print ipsec service status.

2018年6月7日木曜日

NSX-T 2.2  05 June 2018

New Feature

NSX Management of workload in Azure