使能 FWaaS v2版本
-
在文件
/etc/neutron/neutron.conf
中使能FWaaS插件:service_plugins = firewall_v2 [service_providers] # ... service_provider = FIREWALL:Iptables:neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver:default [fwaas] agent_version = v2 driver = neutron_fwaas.services.firewall.drivers.linux.iptables_fwaas_v2.IptablesFwaasDriver enabled = True
注:
在 Ubuntu 和 Centos系统上, 修改文件`/etc/neutron/fwaas_driver.ini`中的`[fwaas]`段,而不是`/etc/neutron/neutron.conf`文件.
-
为L3 agent配置 FWaaS 插件.
在文件
l3_agent.ini
中的AGENT
部分, 确认 FWaaS v2 扩展加载:[AGENT] extensions = fwaas_v2
-
在数据库中创建需要的表:
# neutron-db-manage --subproject neutron-fwaas upgrade head
-
重新启动
neutron-l3-agent
和 `neutron-server`` 服务以应用设置.注:
Horizon还不支持Firewall v2.
配置 Firewall-as-a-Service v2
创建防火墙规则,并创建包含它们的策略,之后,创建应用这些策略的防火墙.
-
创建防火墙规则:
$ neutron firewall-rule-create --protocol {tcp,udp,icmp,any} \ --source-ip-address SOURCE_IP_ADDRESS \ --destination-ip-address DESTINATION_IP_ADDRESS \ --source-port SOURCE_PORT_RANGE --destination-port DEST_PORT_RANGE \ --action {allow,deny,reject}
网络客户端需要协议字段值,如果规则是协议不明的,你可使用any值.
When the source or destination IP address are not of the same IP version (for example, IPv6), the command returns an error.
-
创建防火墙策略:
$ neutron firewall-policy-create --firewall-rules \ "FIREWALL_RULE_IDS_OR_NAMES" myfirewallpolicy
以空格隔开防火墙规则ID或是名称。你指定规则的次序非常重要.
你可创建不包含规则的防火墙策略,之后再添加策略,如下:
-
添加多个规则,使用update操作.
-
添加单条规则,使用insert-rule操作.
更多详细信息,请参见OpenStack命令行接口参考`Networking command-line client.
注:
FWaaS总是在每个策略中以最低的优先级添加默认的**deny all**规则。结果是,没有任何规则的防火墙策略默认阻止所有流量.
-
-
创建防火墙:
$ neutron firewall-create FIREWALL_POLICY_UUID
注:
防火墙保持在PENDING_CREATE状态,直到你创建一个网络路由器,并关联一个接口到它。