firewalld是一个允许轻松管理防火墙的服务。OVN提供了一组服务文件,可与firewalld一起使用以允许用于到北向和南向数据库的远程连接。
本指南将介绍如何在防火墙设置中使用这些文件。firewalld的设置和管理超出本文档讨论范围。
安装
如果你已经从RPM安装了OVN,那么有关firewalld的服务文件将自动安装在/usr/lib/firewalld/services
中。RPM安装包括从yum或dnf包安装管理器安装。
如果从源代码安装了OVN,则从顶级代码目录,执行以下命令以复制firewalld的服务文件:
$ cp rhel/usr_lib_firewalld_services_ovn-central-firewall-service.xml \
/etc/firewalld/services/
$ cp rhel/usr_lib_firewalld_services_ovn-host-firewall-service.xml \
/etc/firewalld/services/
激活
假设你已经运行了firewalld,你可以执行以下命令用于启用OVN服务。
在中央服务器(运行ovn-northd
的服务器)上,发出以下命令:
$ firewall-cmd --zone=public --add-service=ovn-central-firewall-service
这将打开TCP端口6641和6642,允许到北向和南向数据库的远程连接。
在OVN主机(运行ovn-controller
的主机)上,发出以下命令:
$ firewall-cmd --zone=public --add-service=ovn-host-firewall-service
这将打开UDP端口6081,允许控制器之间的Geneve流量。
变数 Variations
安装XML服务文件时,你可以选择将其复制到/etc/firewalld/services
或/usr/lib/firewalld/services
。建议使用前者,因为如果升级了firewalld,后者会被覆盖。
上述命令假定你的底层(underlay)网络接口位于firewalld的"public"区域。如果你的底层网络接口位于单独的区域,需要相应地调整上述命令。
--permanent
选项可以传递给上述的firewall-cmd调用,以便将服务永久添加到firewalld的配置中。这样在firewalld服务重启之后,就不需要重新执行以上的命令。
ovn-host-firewall-service
文件只打开端口6081。这是因为OVN隧道的默认协议是Geneve。如果你用的是不同的封装协议,需要修改XML服务文件以打开适当的端口。对于VXLAN,打开端口4789。对于STT,打开端口7471。
推荐
OVS repo仓库中包含的firewalld服务文件旨在为firewalld的用户提供便利。所有的服务文件只是打开OVN使用的公共端口。不提供额外的安全保护。确保更安全的环境,最好执行以下操作
- 使用诸如iptables或nftables之类的工具来限制对已知主机的访问。
- 对所有到OVN数据库的远程连接使用SSL。
- 对到到OVN南向数据库的连接使用基于角色的访问控制。