OpenStack(Stein)在Neutron配置FWAAS_v2

之前的文章在rocky上配置了,现在换成了Stein,重新试一下。但是原本的步骤好像不太能用了,在官网重新找guide。

移除

FWaaS in Stein - NoMatches: No ‘neutron.service_plugins’ driver found, looking for ‘firewall’
然后呢,为什么不一样呢,看这里
在这里插入图片描述
之前我配置的其实是fwaas的v1版本,我以为是v2,然后呢,我在Stein中用v1的时候,报错neutron.service_plugins中找不到叫firewall的插件。这是因为v1在Stein及以后版本已经被彻底移除了,也就是说只能用v2了。

差别

v2中使用firewall group替代了firewall,一个firewall可以有ingress的策略和egress的策略,这里我可以理解为一个防火墙组可以有两个策略?
然后,v1的firewall和router是唯一绑定的。而v2是可以指定路由接口,这个接口在这里找到。
在这里插入图片描述
如果port配置错了,会报错

安装配置

Firewall-as-a-Service (FWaaS) v2 scenario
先安装一下,我不知道官网为什么不用安装,好神奇。

yum install -y openstack-neutron-fwaas

编辑配置文件/etc/neutron/neutron.conf,如果字段不存存在,直接写进去

service_plugins = firewall_v2

[service_providers]
service_provider = FIREWALL_V2:fwaas_db:neutron_fwaas.services.firewall.service_drivers.agents.agents.FirewallAgentDriver:default

编辑/etc/neutron/fwaas_driver.ini

[fwaas]
agent_version = v2
driver = neutron_fwaas.services.firewall.service_drivers.agents.drivers.linux.iptables_fwaas_v2.IptablesFwaasDriver
enabled = True

编辑/etc/neutron/l3_agent.ini,我觉得大小写问题不大吧。

[AGENT]
extensions = fwaas_v2
# 或者
[agent]
extensions = fwaas_v2

同步数据库

neutron-db-manage --subproject neutron-fwaas upgrade head

重启服务,然后查看一下status

systemctl restart neutron.server neutron.l3_agent

然后呢,好像不太能使用neutron了,会提示没有资源,只能使用openstack firewall group list,防火墙组的操作。
而且会默认添加一些基本的防火墙规则。

失败的示例,看后面测试

我发现自带的两个防火墙组分别是demo和admin的。
创建规则

openstack firewall group rule create --name my_172_icmp_in_deny --protocol icmp --ip-version 4 --destination-ip-address 172.16.1.231 --action deny
openstack firewall group rule create --name my_10_icmp_out_allow --protocol icmp --ip-version 4 --source-ip-address 10.0.0.71 --action allow

创建策略

openstack firewall group policy create --firewall-rule 1d51a2cf-0464-4d9e-b2f8-4115b33f96da my_172_in_policy
openstack firewall group policy create --firewall-rule 7087333a-1c1d-4064-9fe0-b3307392f9bd my_10_out_policy

创建防火墙组

openstack firewall group create --ingress-firewall-policy 53b73cb6-a22e-4f20-954a-f2a077979308 --egress-firewall-policy bf37adaf-569e-4a0f-97f3-38f05c6b3d36 --name demo_firewall_group

默认会有两个default防火墙组,因为有两个用户,然后呢,demo用户 的default防火墙得让admin删除好像。
但是删除自己的default以后,他又会自动生成一个默认防火墙,好奇怪。

测试

创建一条规则

openstack firewall group rule create --name my_10_icmp_out_allow --protocol icmp --ip-version 4 --source-ip-address 10.0.0.71 --action deny

添加到规则中

openstack firewall group policy rule add ac24a8df-ae37-4730-87bb-e591f1dbc24f 7087333a-1c1d-4064-9fe0-b3307392f9bd

查看一下防火墙组openstack firewall group list,如果状态是inactive,看看是不是没有绑定端口之类的。

+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| Description       | Default firewall group               |
| Egress Policy ID  | ac24a8df-ae37-4730-87bb-e591f1dbc24f |
| ID                | 5f4d3688-46bd-4f45-a2b9-3406e0fc7f0b |
| Ingress Policy ID | d864c42e-6908-4398-82ef-1a66f1e77f23 |
| Name              | default                              |
| Ports             | []                                   |
| Project           | 09baebcf699543f68e4687f2231e4e88     |
| Shared            | False                                |
| State             | UP                                   |
| Status            | INACTIVE                             |
| project_id        | 09baebcf699543f68e4687f2231e4e88     |
+-------------------+--------------------------------------+

执行下面命令,绑定接口

openstack firewall group set default --port 0d7f9409-ec6d-40a5-8be5-404b9e4957e0

然后启动两个实例,在10.0.0.71中ping172.16.1.231,ping不通,设置成功。

待解决问题

删除default后可能会自动再创建一个default。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值