LoginSignup
0

More than 1 year has passed since last update.

posted at

updated at

IBM Cloud: 物理サーバー(Windows)上にトランクしたVLANインターフェースを構成してBYOIPを行う

1. はじめに

IBM CloudのClassic Infrastructureにおいて、ベアメタルサーバーはpublic port x2, private port x 2のネットワークインターフェースを持っており、Teamingされている。このTeamingされたインターフェースはそれぞれPublic VLAN, Private VLANに属している。
NW構成に柔軟性を持たせるために、NIC追加なしで複数のPrivate VLANに同時に所属する構成にしたいという要望は多い。こういう際の解決策の1つが、VLANをトランクさせる方法である。
今回はWindows Server 2019 Standard Editionで動作確認をしてみた。

  • Before
    image.png
  • After: NICは共有するが、VLAN1428やVLAN1549に通信する際には、物理サーバーとスイッチ間の通信にはVLANタグ(IEEE 802.1Q)を利用する。
    image.png

2. 手順

2-1. 物理サーバーが利用しているVLANの確認

物理サーバーのNW詳細で、VLAN番号が2681であることが確認できる。
また、TOK02のBCR01側(1つ目のPod)にこの物理サーバーが存在することがわかる。
image.png

2-2. VLANの購入

今回はすでにVLANは購入済みなので省略。

2-3. VLANのトランク

TOK02のBCR01には、VLAN1428とVLAN1549があるので、これらのVLANを物理サーバーにトランクすることにする。
image.png

ShinobiLayer: Bluemix Infrastructure(旧SoftLayer)におけるVLANトランク設定のAPIにあるように、Caseで起票してもいいが、いちいちCaseで起票するのは面倒だし実際にTrunkされているかどうかはユーザーからはCaseを起票しない限りはAPIで確認する必要があるので、今回はAPIで変更した。

VLAN構成の確認
# python getVLANinfoByHWID.py 1940784
HWID : 1940784
fullyQualifiedDomainName   : syasudawin.ibm.cloud
-------------------------------------------
NW Component ID  : 14016208
name+port        : mgmt0
speed            : 100
maxSpeed         : 100
status           : ACTIVE
primaryIpAddress : None
macAddress       : None
ipmiIpAddress    : 10.129.177.61
ipmiMacAddress   : ae:1f:6b:f5:52:90
SwitchFQDN       : bms62.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513627
NativeVLAN-number: 2681
-------------------------------------------
NW Component ID  : 14016196
name+port        : eth0
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
primaryIpAddress : 10.129.177.18
macAddress       : ac:1f:6b:f5:52:90
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : bcs62a.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513627
NativeVLAN-number: 2681
-------------------------------------------
NW Component ID  : 14016198
name+port        : eth1
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
import SoftLayer
primaryIpAddress : xx.xx.xx.xx
macAddress       : ac:1f:6b:f5:52:91
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : fcs62a.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513625
NativeVLAN-number: 1503
-------------------------------------------
NW Component ID  : 14016200
name+port        : eth2
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
primaryIpAddress : None
macAddress       : ac:1f:6b:f5:52:92
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : bcs62b.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513627
NativeVLAN-number: 2681
-------------------------------------------
NW Component ID  : 14016202
name+port        : eth3
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
primaryIpAddress : None
macAddress       : ac:1f:6b:f5:52:93
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : fcs62b.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513625
NativeVLAN-number: 1503

Private側のportはeth0とeth2なので、NW Component IDは14016196と14016200である。よって、以下のコマンドでVLAN1428とVLAN1549をトランクする。

VLAN1428とVLAN1549をprivate側ポートにトランク
# python addVLANTrunk.py 14016196 14016200 1428
# python addVLANTrunk.py 14016196 14016200 1549
変更後の確認
# python getVLANinfoByHWID.py 1940784
HWID : 1940784
fullyQualifiedDomainName   : syasudawin.ibm.cloud
-------------------------------------------
NW Component ID  : 14016208
name+port        : mgmt0
speed            : 100
maxSpeed         : 100
status           : ACTIVE
primaryIpAddress : None
macAddress       : None
ipmiIpAddress    : 10.129.177.61
ipmiMacAddress   : ae:1f:6b:f5:52:90
SwitchFQDN       : bms62.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513627
NativeVLAN-number: 2681
-------------------------------------------
NW Component ID  : 14016196
name+port        : eth0
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
primaryIpAddress : 10.129.177.18
macAddress       : ac:1f:6b:f5:52:90
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : bcs62a.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513627
NativeVLAN-number: 2681
TrunkVLAN-ID     : 2653177
TrunkVLAN-number : 1428
TrunkVLAN-ID     : 2765284
TrunkVLAN-number : 1549
-------------------------------------------
NW Component ID  : 14016198
name+port        : eth1
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
primaryIpAddress : xx.xx.xx.xx
macAddress       : ac:1f:6b:f5:52:91
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : fcs62a.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513625
NativeVLAN-number: 1503
-------------------------------------------
NW Component ID  : 14016200
name+port        : eth2
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
primaryIpAddress : None
macAddress       : ac:1f:6b:f5:52:92
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : bcs62b.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513627
NativeVLAN-number: 2681
TrunkVLAN-ID     : 2653177
TrunkVLAN-number : 1428
TrunkVLAN-ID     : 2765284
TrunkVLAN-number : 1549
-------------------------------------------
NW Component ID  : 14016202
name+port        : eth3
speed            : 10000
maxSpeed         : 10000
status           : ACTIVE
primaryIpAddress : None
macAddress       : ac:1f:6b:f5:52:93
ipmiIpAddress    : None
ipmiMacAddress   : None
SwitchFQDN       : fcs62b.sr01.tok02.softlayer.com
NativeVLAN-ID    : 2513625
NativeVLAN-number: 1503

上記の結果から、VLANがトランクできたことを確認。

2-4. Windows Server 2019の設定

PowerShellにて以下を実施(PowerShellでないとVLANインターフェースが追加できないように見える。Server Managerの中を探し回ったが見つけることができなかった・・・)。

NWインターフェースの確認
PS C:\Users\Administrator> get-netlbfoteam


Name                   : PrivateTeam
Members                : {PrivateNetwork-B, PrivateNetwork-A}
TeamNics               : PrivateNetwork-Teamed
TeamingMode            : Lacp
LoadBalancingAlgorithm : Dynamic
LacpTimer              : Fast
Status                 : Up

Name                   : PublicTeam
Members                : {PublicNetwork-B, PublicNetwork-A}
TeamNics               : PublicNetwork-Teamed
TeamingMode            : Lacp
LoadBalancingAlgorithm : Dynamic
LacpTimer              : Fast
Status                 : Down

今回は、Private側にVLAN対応したインターフェースを作成するため、PrivateTeamを指定する。

VLAN1428とVLAN1549のインターフェース作成
PS C:\Users\Administrator> Add-NetlbfoTeamNIC -Team PrivateTeam -VlanID 1428 -confirm:$false


Name                    : PrivateTeam - VLAN 1428
InterfaceDescription    : Microsoft Network Adapter Multiplexor Driver #3
Team                    : PrivateTeam
VlanID                  : 1428
Primary                 : False
Default                 : False
TransmitLinkSpeed(Gbps) : 20
ReceiveLinkSpeed(Gbps)  : 20



PS C:\Users\Administrator> Add-NetlbfoTeamNIC -Team PrivateTeam -VlanID 1549 -confirm:$false


Name                    : PrivateTeam - VLAN 1549
InterfaceDescription    : Microsoft Network Adapter Multiplexor Driver #4
Team                    : PrivateTeam
VlanID                  : 1549
Primary                 : False
Default                 : False
TransmitLinkSpeed(Gbps) : 20
ReceiveLinkSpeed(Gbps)  : 20

以下で確認を行う

確認
PS C:\Users\Administrator> get-netlbfoteam


Name                   : PrivateTeam
Members                : {PrivateNetwork-B, PrivateNetwork-A}
TeamNics               : {PrivateTeam - VLAN 1428, PrivateTeam - VLAN 1549, PrivateNetwork-Teamed}
TeamingMode            : Lacp
LoadBalancingAlgorithm : Dynamic
LacpTimer              : Fast
Status                 : Up

Name                   : PublicTeam
Members                : {PublicNetwork-B, PublicNetwork-A}
TeamNics               : PublicNetwork-Teamed
TeamingMode            : Lacp
LoadBalancingAlgorithm : Dynamic
LacpTimer              : Fast
Status                 : Down

Network AdapterやServer ManagerでもInterfaceが作成されていることを確認。

image.png

ServerManager -> Local Server -> NIC teamingでVLAN構成を確認。
image.png

2-5. IPアドレスの割り当て

今回は、VLAN1428内でしか通信できないように、明示的に192.168.10.x/24というBYOIPを使う。`PrivateTeam - VLAN 1428)にてIPアドレスを割り当てる。
image.png

3. テスト

以下のようにVLAN1428に割り当てられたVSIから通信テストを行う。
image.png

IPアドレスの付与
[root@syasudacentos7 ~]# ip a add 192.168.10.12/24 dev eth0
通信テスト
[root@syasudacentos7 ~]# ping -c 3 192.168.10.11
PING 192.168.10.11 (192.168.10.11) 56(84) bytes of data.
64 bytes from 192.168.10.11: icmp_seq=1 ttl=128 time=3.35 ms
64 bytes from 192.168.10.11: icmp_seq=2 ttl=128 time=0.363 ms
64 bytes from 192.168.10.11: icmp_seq=3 ttl=128 time=0.342 ms

--- 192.168.10.11 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.342/1.352/3.351/1.413 ms

[root@syasudacentos7 ~]# ip neigh|grep 192
192.168.10.11 dev eth0 lladdr ac:1f:6b:f5:52:90 REACHABLE

無事接続できました!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0