上一節應用了無規則的虛擬防火牆,不允許任何流量通過。
今天我們會在防火牆中添加一條規則,允許 ssh。
最后我們會對安全組和 FWaaS 作個比較。
下面我們添加一條 firewall rule:允許 ssh。
在 Firewall Rules 標簽頁面點擊 “Add Rule” 按鈕。
將新 rule 命名為 “allow ssh”, Protocal 選擇 “TCP”, Action 為 “ALLOW”, Destination Port/Port Range 為 “22”,
點擊 “Add” ,rule 創建成功。
接下來將 rule 添加到 policy 中。
點擊 Firewall Policies 標簽頁面,然后點擊 “test_policy” 后面的 “Insert Rule” 按鈕。
在下拉框中選擇 Rule “allow ssh”,點擊 “Save Changes”。
可以看到,“allow ssh” 已經成功添加到 “test_policy” 中。
通過 vimdiff 查看 router namespace 的 iptables-save 發生了什么變化。
iptables 添加了兩條規則:
-A neutron-vpn-agen-iv4e85f4601 -p tcp -m tcp --dport 22 -j ACCEPT -A neutron-vpn-agen-ov4e85f4601 -p tcp -m tcp --dport 22 -j ACCEPT
其含義是進出 router 的 tcp 數據包,如果目的端口為 22(ssh)ssh,則一律 ACCEPT。
測試一下,cirros-vm1 已經可以 ssh cirros-vm2,但 ping 還是不通,這與預期一致。
“allow ssh” 已經起作用。 同時我們也發現,firewall rule 對進出流量同時生效,不區分方向。
小節
FWaaS 用於加強 Neutron 網絡的安全性,與安全組可以配合使用。 下面將 FWaaS 和安全組做個比較。
相同點: 1. 底層都是通過 iptables 實現。
不同點: 1. FWaaS 的 iptables 規則應用在 router 上,保護整個租戶網絡;
安全組則應用在虛擬網卡上,保護單個 instance。
2. FWaaS 可以定義 allow 或者 deny 規則;安全組只能定義 allow 規則。
3. 目前 FWaaS 規則不能區分進出流量,對雙向流量都起作用;
安全組規則可以區分 ingress 和 egress。
FWaaS 學習完畢,下節我們繼續學習 Neutron 的另一個服務 Load Balancing as a Service.