neutron之防火墙服务fwaas

来源:互联网 发布:python中文注释 编辑:程序博客网 时间:2024/05/22 05:05

作者:【吴业亮】云计算开发工程师
博客:http://blog.csdn.net/wylfengyujiancheng

一、架构:
这里写图片描述

二、防火墙与安全组区别
防火墙一般放在网关上,用来隔离子网之间的访问。因此,防火墙即服务也是在网络节点上(具体说来是在路由器命名空间中)来实现。

安全组的对象是虚拟网卡,由L2 Agent来实现,比如neutron_openvswitch_agent 和 neutron_linuxbridge_agent,会在计算节点上通过配置 iptables 规则来限制虚拟网卡的进出访问。防火墙可以在安全组之前隔离外部过来的恶意流量,但是对于同个子网内部不同虚拟网卡间的通讯不能过滤(除非它要跨子网)。

可以同时部署防火墙和安全组实现双重防护

三、安装fwaas
1. 控制节点:
安装软件包

yum install openstack-neutron-fwaas -y

修改配置文件 /etc/neutron/neutron.conf

service_plugins = router,firewall[service_providers]service_provider=FIREWALL:Iptables:neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver:default

重启服务

# systemctl restart neutron-server.service

在数据库中创建所要求的表:

# neutron-db-manage --service fwaas upgrade head
  1. 网络节点:
    安装软件包
# yum install openstack-neutron-fwaas -y

修改配置文件/etc/neutron/fwaas_driver.ini

driver=neutron_fwaas.services.firewall.drivers.linux.iptables_fwaas.IptablesFwaasDriverenabled = True

修改配置文件/etc/neutron/neutron.conf

service_plugins = router,firewall

重# systemctl restart neutron-l3-agent.service文件 /usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py中打开fwaas

OPENSTACK_NEUTRON_NETWORK = {    ...    'enable_firewall' = True,    ...}

重启http服务

# service httpd  restart

四、命令行
创建一个规则:

# neutron firewall-rule-create --protocol {tcp|udp|icmp|any} --destination-port PORT_RANGE --action {allow|deny}

创建一个策略

 # neutron firewall-policy-create --firewall-rules  "FIREWALL_RULE_IDS_OR_NAMES" myfirewallpolicy

创建一个防火墙

# neutron firewall-create  FIREWALL_POLICY_UUID

五、dashboard上操作
1、创建规则,允许ping通,但不允许ssh
这里写图片描述

2、创建一个策略
这里写图片描述

支持规则先后顺序
这里写图片描述
注意:防火墙默认deny所以得数据包
3、创建一个防火墙
这里写图片描述

六、测试:
不能ssh
这里写图片描述
可以ping通
这里写图片描述

0 0
原创粉丝点击