配置防火墙
hypervisor之间和hypervisor与管理服务器之间要能够通讯。
为了达到这个目的,我们需要开通以下TCP端口(如果使用防火墙):
- 22 (SSH)
- 1798
- 16509 (libvirt)
5900 - 6100 (VNC 控制台)
49152 - 49216 (libvirt在线迁移)
如何打开这些端口取决于你使用的发行版本。在RHEL/CentOS 及Ubuntu中的示例如下。
在RHEL/CentOS中打开端口
RHEL 及 CentOS使用iptables作为防火墙,执行以下iptables命令来开启端口:
- $ iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
- $ iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT
- $ iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT
- $ iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT
- $ iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT
这些iptables配置并不会持久保存,重启之后将会消失,我们必须手动保存这些配置。
- $ iptables-save > /etc/sysconfig/iptables
在Ubuntu中打开端口:
Ubuntu中的默认防火墙是UFW(Uncomplicated FireWall),使用Python围绕iptables进行包装。
要打开所需端口,请执行以下命令:
- $ ufw allow proto tcp from any to any port 22
- $ ufw allow proto tcp from any to any port 1798
- $ ufw allow proto tcp from any to any port 16509
- $ ufw allow proto tcp from any to any port 5900:6100
- $ ufw allow proto tcp from any to any port 49152:49216
注解
默认情况下,Ubuntu中并未启用UFW。在关闭情况下执行这些命令并不能启用防火墙。