Neutron为instance提供了两种管理网络安全的方法:安全组(SecurityGroup)和虚拟防火墙。安全组的原理是通过iptables对instanc"/>

neutron默认安全组规则-每天5分钟玩转openstack(115)

author author     2022-08-13     312

关键词:

技术分享

Neutron 为 instance 提供了两种管理网络安全的方法:

安全组(Security Group)和虚拟防火墙。

安全组的原理是通过 iptables 对 instance 所在计算节点的网络流量进行过滤。

虚拟防火墙则由 Neutron Firewall as a Service(FWaaS)高级服务提供。
其底层也是使用 iptables,在 Neutron Router 上对网络包进行过滤。

这两种安全方案我们都会讨论,本章先重点学习安全组。

默认安全组

每个 Project(租户)都有一个命名为 “default” 的默认安全组。

点击菜单 Project -> Compute -> Access & Security,查看 Security Group 列表。

技术分享

点击技术分享按钮,查看 “default” 安全组的规则。

技术分享

“default” 安全组有四条规则,其作用是:
允许所有外出(Egress)的流量,但禁止所有进入(Ingress)的流量。

当我们创建 instance 时,可以在 “Access & Security” 标签页中选择安全组。
如果当前只有 “default” 这一个安全组,则会强制使用 “default” 。

技术分享

当前在 devstack-controller 上有 instance “cirros-vm1”。

技术分享

在 devstack-controller 上执行 iptables-save 命令查看相关规则。
iptables 的规则较多,这里我们节选了 cirros-vm1 相关的规则。
这些规则是 Neutron 根据安全组自动生成的。
如果大家想深入理解 iptables,可 google 相关文档。

技术分享

cirros-vm1 的 TAP interface 为 tap8bca5b86-23,可以看到:
1. iptables 的规则是应用在 Neutron port 上的,port 在这里是 cirros-vm1 的虚拟网卡 tap8bca5b86-23。
2. ingress 规则集中定义在命名为 “neutron-linuxbri-i8bca5b86-2” 的 chain 中。
3. egress  规则集中定义在命名为 “neutron-linuxbri-o8bca5b86-2” 的 chain 中。

下面我们通过 dhcp namespace 对 cirros-vm1 进行 ping 和 ssh 测试。

技术分享

无法 ping 和 ssh cirros-vm1,可见当前的规则实现了 “default” 安全组,所有 ingress 流量都被禁止。

下节我们会创建新的安全组允许 ping 和 ssh。


技术分享

应用新安全组-每天5分钟玩转openstack(116)

...z0.glb.clouddn.com/upload-ueditor-image-20161122-1479770554670069668.jpg"/>Neutron默认的安全组规则会禁止掉所有从外面访问instance的流量。本节我们会修改安全组的配置,允许ping和sshinstance。有两种方法可以达到这 查看详情

理解neutronfwaas-每天5分钟玩转openstack(117)

...安全相关的服务--FWaaS。理解概念FirewallasaService(FWaaS)是Neutron的一个高级服务。用户可以用它来创建和管理防火墙,在subnet的边界上对layer3和layer4的流量进行过滤。传统网络中的防火墙一般放在网关上,用来控制子网之间的访... 查看详情

理解neutronfwaas-每天5分钟玩转openstack(117)

650)this.width=650;"src="http://7xo6kd.com1.z0.glb.clouddn.com/upload-ueditor-image-20161124-1479989223359091731.jpg"/>前面我们学习了安全组,今天学习另一个与安全相关的服务--FWaaS。理解概念FirewallasaService(FWaaS)是Neutron的一个高级服务。用户 查看详情

配置dhcp服务-每天5分钟玩转openstack(89)

前面章节我们看到instance在启动过程中能够从Neutron的DHCP服务获得IP,本节将详细讨论其内部实现机制。Neutron提供DHCP服务的组件是DHCPagent。DHCPagent在网络节点运行上,默认通过dnsmasq实现DHCP功能。配置DHCPagentDHCPagent的配置文件位... 查看详情

配置dhcp服务-每天5分钟玩转openstack(89)

前面章节我们看到instance在启动过程中能够从Neutron的DHCP服务获得IP,本节将详细讨论其内部实现机制。Neutron提供DHCP服务的组件是DHCPagent。DHCPagent在网络节点运行上,默认通过dnsmasq实现DHCP功能。配置DHCPagentDHCPagent的配置文件位... 查看详情

实践neutron前的两个准备工作-每天5分钟玩转openstack(78)

650)this.width=650;"title="http://7xo6kd.com1.z0.glb.clouddn.com/upload-ueditor-image-20160825-1472134654045035781.png"src="http://7xo6kd.com1.z0.glb.clouddn.com/upload-ueditor-image-20160825-14721347 查看详情

fwaas实践:允许ssh-每天5分钟玩转openstack(119)

...我们会在防火墙中添加一条规则,允许ssh。最后我们会对安全组和FWaaS作个比较。下面我们添加一条firewallrule:允许ssh。在FirewallRules标签页面点击“AddRule”按钮。将新rule命名为“allowssh”,Protocal选择“TCP”,Action为“ALLOW”,D... 查看详情

通过dhcp-agent访问metadata-每天5分钟玩转openstack(168)

OpenStack默认通过l3-agent创建和管理neutron-ns-metadata-proxy,进而与nova-metadata-api通信。但不是所有环境都有l3-agent,比如直接用物理router的场景。这时就需要走另一条路:让dhcp-agent来创建和管理neutron-ns-metadata-proxy。打开/etc/neutron/dhcp_... 查看详情

实践neutron前的两个准备工作-每天5分钟玩转openstack(78)

上一节配置了linux-bridgemechanismdriver,本节再做两个准备工作:1.检视初始的网络状态。2.了解linuxbridge环境中的各种网络设备。初始网络状态我们首先考察实验环境最初始的网络状态。随着学习的深入,我们会对网络不断进行新的... 查看详情

fwaas实践:允许ssh-每天5分钟玩转openstack(119)

...我们会在防火墙中添加一条规则,允许ssh。最后我们会对安全组和FWaaS作个比较。下 查看详情

lbaas实现机制-每天5分钟玩转openstack(125)

650)this.width=650;"src="http://7xo6kd.com1.z0.glb.clouddn.com/upload-ueditor-image-20161213-1481631797880012031.jpg"/>上一节我们已经配置并测试LBaaS,今天重点分析Neutron是如何用Haproxy来实现负责均衡的。在控制节点上运行ipnetns,我们发现Neutron创建了 查看详情

启用openvswitch-每天5分钟玩转openstack(127)

...节我们已经学习了如何用LinuxBridge作为ML2mechanismdriver实现Neutron网络。今天开始我们将详细讨论如何用OpenvSwitch实现Neutron。实验环境两节点的网卡分配方式与LinuxBridge一致,如下所示:控制节点三个网卡(eth0,eth1,et 查看详情

lbaas实现机制-每天5分钟玩转openstack(125)

上一节我们已经配置并测试LBaaS,今天重点分析Neutron是如何用Haproxy来实现负责均衡的。在控制节点上运行ipnetns,我们发现Neutron创建了新的namespaceqlbaas-xxx。该namespace对应我们创建的pool“webservers”。其命名格式为qlbaas-<poolID>... 查看详情

healthcheck-每天5分钟玩转docker容器技术(142)

...力是Kubernetes这类容器编排引擎的一个重要特性。自愈的默认实现方式是自动重启发生故障的容器。除此之外,用户还可以利用Liveness和Readiness探测机制设置更精细的健康检查,进而实现如下需求:零停机部署。避免部署无效的镜... 查看详情

理解neutornlbaas-每天5分钟玩转openstack(120)

650)this.width=650;"src="http://7xo6kd.com1.z0.glb.clouddn.com/upload-ueditor-image-20161201-1480601346539077335.jpg"alt="5.5.png"/>LoadBalanceasaService(LBaaS)是Neutron提供的一项高级网络服务。LBaaS允许租户在自己的网络中创建和管 查看详情

配置lbaas-每天5分钟玩转openstack(121)

650)this.width=650;"src="http://7xo6kd.com1.z0.glb.clouddn.com/upload-ueditor-image-20161205-1480888429992067798.jpg"/>上一节学习了NeutronLBaaS的原理,今天开始实践。首先在配置中启用LBaaS服务。Neutron通过lbaasplugin和lbaasagent提供LBa 查看详情

配置lbaas-每天5分钟玩转openstack(121)

上一节学习了NeutronLBaaS的原理,今天开始实践。首先在配置中启用LBaaS服务。Neutron通过lbaasplugin和lbaasagent提供LBaaS服务。lbaasplugin与NeutronServer一起运行在控制节点上。lbaasagent运行在网络节点上。对于我们的实验环境,控制节点和... 查看详情

配置l3agent-每天5分钟玩转openstack(99)

...路由服务(Routing)的基本功能,今天教大家如何配置。Neutron的路由服务是由l3agent提供的。除此之外,l3agent通过iptables提供firewall和floatingip服务。l3agent需要正确配置才能工作,配置文件为/etc/neutron/l3_agent.ini,位于控制节点或网... 查看详情