10. IBM Cloud: VMware as a Service（VMWaaS) -Distributed Firewallの構成

2025/08/09追記
VMWaaSの後継OfferingであるVCF as a Serviceでは、Distributed Firewallは使えません（画面にも出てこなくなっています）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/8d3708ec-7e17-c23a-f2be-00b4cc56fd56.png)


# 1. はじめに

前回の記事で`Data Center Group`を作成しましたが、その初期構成を確認した際にも言及したとおり、`Data Center Group`ではDistributed Firewall（分散ファイアーウォール）が利用可能です。本稿ではその動作を確認してみます。

過去の記事はこちら。

- [01. IBM Cloud: VMware as a Service（VMWaaS)の概要](https://qiita.com/testnin2/items/d39ba856f70fc14ea719) 
- [02. IBM Cloud: VMware as a Service（VMWaaS) - VDCの注文](https://qiita.com/testnin2/items/a3630d5a532a6ce48720)
- [03. IBM Cloud: VMware as a Service（VMWaaS) - VDCの追加注文](https://qiita.com/testnin2/items/666a8a03db85f983f56a) 
- [04. IBM Cloud: VMware as a Service（VMWaaS) - 外部接続のためのネットワークとNAT/Firewallを構成する](https://qiita.com/testnin2/items/3575b27c2ec2b6242ee6) 
- [05. IBM Cloud: VMware as a Service（VMWaaS) - RHELをプロビジョニングして疎通確認を行う](https://qiita.com/testnin2/items/56901ef332ee060fcf2f) 
- [06. IBM Cloud: VMware as a Service（VMWaaS) - 検証: IBM Cloud private networkへの通信におけるSNATの必要性](https://qiita.com/testnin2/items/5add312256d1e264e31f)
- [07. IBM Cloud: VMware as a Service（VMWaaS) - 検証: isolated networkとの通信](https://qiita.com/testnin2/items/9bc1b57b9636071b7239)
- [08. IBM Cloud: VMware as a Service（VMWaaS) - 検証: routed network間の通信](https://qiita.com/testnin2/items/fa9426df262368ddc2ef) 
- [09. IBM Cloud: VMware as a Service（VMWaaS) - Data Center Groupの構成](https://qiita.com/testnin2/items/f940550d7564db526531) 
- [10. IBM Cloud: VMware as a Service（VMWaaS) - Distributed Firewallの構成](https://qiita.com/testnin2/items/26dd06d28effbd83ff9e) 
- [11. IBM Cloud: VMware as a Service（VMWaaS) - VDC間のVM/vApp Migration](https://qiita.com/testnin2/items/381c5e6db4fdd7ed64d6)
- [12. IBM Cloud: VMware as a Service（VMWaaS) - VMWaaS APIの実行例](https://qiita.com/testnin2/items/3e0e86a25bfd06a165bf)
- [13. IBM Cloud: VMware as a Service（VMWaaS) - VMware Cloud Director OpenAPIの実行例](https://qiita.com/testnin2/items/420e55a06255d626a471) 
- [14. IBM Cloud: VMware as a Service（VMWaaS) - 検証: VIP切り替えによる高可用性構成の確認（手動切替）](https://qiita.com/testnin2/items/fead2339a999242ecae9) 
- [15. IBM Cloud: VMware as a Service（VMWaaS) - 検証: VIP切り替えによる高可用性構成の確認（keepalived）](https://qiita.com/testnin2/items/2a5c9660ccfab74faa49) 
- [16. IBM Cloud: VMware as a Service（VMWaaS) - Transit Gateway接続](https://qiita.com/testnin2/items/1ec6223b6713eb58e156) 
- [17. IBM Cloud: VMware as a Service（VMWaaS) - Veeam Backup and Replication service連携](https://qiita.com/testnin2/items/69fd29db9f8cc313e353) 

# 2. ネットワーク構成

Networkのスコープは前回の操作により、Data Center Groupレベルになっています。
FirewallやNAT構成は過去の記事とは変更していませんが、念の為再掲しておきます。


- Network

| name | Scope | Routed or Isolated |Distributed Routing | Gateway CIDR | 
|:-|:-|:-|:-|:-|
| nw1-routed-vdc01 |DAL-VDC-GROUP1 |Routed| Enabled | 192.168.100.1/24  | 
| nw2-routed-vdc01 |DAL-VDC-GROUP1 |Routed| Enabled | 192.168.101.1/24  | 


- IP Sets

| IP Set name | Address range |
|:-|:-|
| IBM Cloud Private Network  |  161.26.0.0/16, 166.8.0.0/14 |
| syasuda-homeaddress  |  111.xx.xx.xx/24 |

- Edge Firewall

| rule  | firewall rule name | protocol | source<br>(IP Set等で指定） | destination<br>(IP Set等で指定）|action|
|:-:|:-:|:-:|:-:|:-:|:-:|
| 1  | IBM Cloud Private Network  |  - | ANY  | IBM Cloud Private Network| Allow  |
| 2  | allow-from-syasuda  |  SSH | syasuda-homeaddress| ANY| Allow  |
| default  | default_rule  | -  | ANY  | ANY  | Drop  |

- NAT

| NAT name | NAT Type | External IP<br>(VDC外部との通信に利用するPublic IP) | Internal IP<br>(NATルールが適用されるVDC内のネットワーク） |
|:-|:-|:-|:-|
| snat-to-external  | SNAT  |  150.xx.xx.xx  |  0.0.0.0/0 |
| dnat-to-jumpserver01  | DNAT  |  150.xx.xx.yy | 192.168.100.2<br>（この後、プロビジョニングするサーバーに割り当てる予定のIPアドレス）  |

- [VDCネットワークきほんのき](https://qiita.com/testnin2/items/3575b27c2ec2b6242ee6#2-vdc-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%9F%BA%E6%9C%AC%E3%81%AE%E3%81%8D)


- サーバーの配置
    - [ここでの検証](https://qiita.com/testnin2/items/fa9426df262368ddc2ef)の時と同様、Jump Serverはnw1-routed-vdc01に、別のサーバーがnw2-routed-vdc02に配置されています。
    - Jump Server ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/d530a62a-e2ef-75d1-3375-8fab2b8f775a.png)
    - routed-server2 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/72196222-a1c3-4f4e-f3df-52ec414453ce.png)


# 3. ネットワーク間の通信(Distributed Firewallを有効にしていない時）

Distributed Routingが有効になっているため、nw1-routed-vdc01/nw2-routed-vdc02 間の通信はEdge Firewallの設定に関わらず、通信できます。これは、[以前に](https://qiita.com/testnin2/items/fa9426df262368ddc2ef)説明したとおり、Edge Firewallが働くSRを経由することなく、DRでのみルーティングされるからです。

<img width="50%" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/04bef390-aeaa-4b59-8978-2dae1a228d73.png">


```
[root@jumpserver ~]# ping 192.168.101.2
PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
64 bytes from 192.168.101.2: icmp_seq=1 ttl=63 time=4.68 ms
64 bytes from 192.168.101.2: icmp_seq=2 ttl=63 time=1.74 ms
64 bytes from 192.168.101.2: icmp_seq=3 ttl=63 time=1.71 ms
64 bytes from 192.168.101.2: icmp_seq=4 ttl=63 time=1.66 ms
64 bytes from 192.168.101.2: icmp_seq=5 ttl=63 time=1.74 ms
^C
--- 192.168.101.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 1.659/2.304/4.678/1.187 ms
```

# 4. ネットワーク間の通信（Distributed Firewallを有効にした時）

Distributed Firewall（分散ファイアーウォール）を有効にすると、DRでもFirewallが稼働するようになります。

<img width="50%" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/c3d6d131-68c9-82a1-0842-e39b1755a626.png">

1. Data Center GroupのGeneral設定にて、`ACTIVATE DISTRIBUTED FIREWALL`を押下。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/eff6b712-1eef-eff0-9add-b8fbf6c55063.png)
2. 以下のような警告が表示されるが、現時点で課金はされないようだ（確認済み）。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/ba584e83-7358-a81a-b897-32a06dbfa6de.png)
3. Distributed Firewallが有効になった。加えて、`Edge Gateway`の下に`Distributed Firewall`というメニューが表示されるようになった。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/ac9794ee-c3a4-cbbe-ada7-4e4fd9c012a0.png)
4. Distributed FirewallのDefault Policyでは、全ての内部NW間通信が許可されていることがわかる。よって、この状態でもネットワーク間で通信は可能である。　![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/6c85bf2d-495a-44a9-0c25-5abe5b60d5a3.png)

    ```
    [root@jumpserver ~]# ping 161.26.0.10
    PING 161.26.0.10 (161.26.0.10) 56(84) bytes of data.
    64 bytes from 161.26.0.10: icmp_seq=1 ttl=249 time=2.18 ms
    64 bytes from 161.26.0.10: icmp_seq=2 ttl=249 time=2.18 ms
    64 bytes from 161.26.0.10: icmp_seq=3 ttl=249 time=2.38 ms
    64 bytes from 161.26.0.10: icmp_seq=4 ttl=249 time=2.22 ms
    ^C
    --- 161.26.0.10 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 2.176/2.238/2.379/0.082 ms
    
    [root@jumpserver ~]# ping 192.168.101.2
    PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
    64 bytes from 192.168.101.2: icmp_seq=1 ttl=63 time=4.68 ms
    64 bytes from 192.168.101.2: icmp_seq=2 ttl=63 time=1.74 ms
    64 bytes from 192.168.101.2: icmp_seq=3 ttl=63 time=1.71 ms
    64 bytes from 192.168.101.2: icmp_seq=4 ttl=63 time=1.66 ms
    64 bytes from 192.168.101.2: icmp_seq=5 ttl=63 time=1.74 ms
    ^C
    --- 192.168.101.2 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4008ms
    rtt min/avg/max/mdev = 1.659/2.304/4.678/1.187 ms
    ```

- Distributed Firewallのデフォルトポリシーの設定を`Drop`にすると、そもそもこのjump serverに通信できなくなる。これは、クライアントからEdge Firewallまでは到達できても、Distributed Firewallの箇所でDropされてしまうからである。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/19ab3b48-2229-460a-f762-6c2064e4c5b5.png)
- Distributed Firewallのデフォルトポリシーの設定を`ALLOW`に戻すと、jump serverには再度ログインできるようになる。また、IBM Cloud Private NetworkへのICMPを禁止するルールを追加すると、今度はData Center Group内のNW間でのICMP通信はできるが、IBM Cloud private NetworkにはICMP通信できない状態になる。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/aca996ed-9a53-e2a9-7776-8edba1f1c814.png)



    ```
    [root@jumpserver ~]# ping 161.26.0.10
    PING 161.26.0.10 (161.26.0.10) 56(84) bytes of data.
    ^C
    --- 161.26.0.10 ping statistics ---
    5 packets transmitted, 0 received, 100% packet loss, time 4124ms
    
    [root@jumpserver ~]# ping 192.168.101.2
    PING 192.168.101.2 (192.168.101.2) 56(84) bytes of data.
    64 bytes from 192.168.101.2: icmp_seq=1 ttl=63 time=1.92 ms
    64 bytes from 192.168.101.2: icmp_seq=2 ttl=63 time=1.83 ms
    64 bytes from 192.168.101.2: icmp_seq=3 ttl=63 time=1.78 ms
    64 bytes from 192.168.101.2: icmp_seq=4 ttl=63 time=1.76 ms
    ^C
    --- 192.168.101.2 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3006ms
    rtt min/avg/max/mdev = 1.762/1.822/1.918/0.059 ms
    ```

# 5. Distribute Firewallを再度無効にする。

以下では、Distributed Firewallを再度無効に戻してみます。

- Distributed Firewallを有効にした`General`に戻っても、無効にするための画面が提供されていない。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/793b0422-5310-fe04-947e-6b65d784b058.png)
- Default Policy StatusをDisabledにする。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/6d23c64c-4782-195f-6570-152ca2d3fb87.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/2a34107a-9814-f6fe-ab1f-8a6e7ea4a1a2.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/833b8427-dec1-e325-f56b-0ac18d551181.png)
- 今度は`DEACTIVATE DISTRIBUTED FIREWALL`のリンクが現れたので、押下。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/c2322daf-d53f-0279-d4ba-8fa86956cd6f.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/aa064de4-8d52-b6d9-811d-66bbdd2af040.png)
- 無効になった。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62127/0613b293-12b5-5ea1-0004-3dc7b9406f58.png)