第 20 章 代理服务器
20.1. SPICE 代理服务器
20.1.1. SPICE 代理(SPICE Proxy)介绍
SPICE 代理是一个当 SPICE 客户端位于 hypervisor 所在的网络之外时,把 SPICE 客户端和虚拟机进行连接的工具。设置 SPICE 代理的过程包括在机器上安装 Squid、配置 iptables 来允许使用代理的网络数据通过防火墙。启用 SPICE 代理的操作包括在 Manager 上使用 engine-config 来把
SpiceProxyDefault
的值设为包括代理的名称和端口的值。关闭 SPICE 代理的操作包括在 Manager 上使用 engine-config 删除为 SpiceProxyDefault
所设置的值。
重要
SPICE 代理只支持独立的 SPICE 客户端,它不能被用来连接使用 SPICE HTML5 或 noVNC 的虚拟机。
20.1.2. SPICE 代理系统的设置
以下介绍了如何把一台机器设置为 SPICE 代理。SPICE 代理可以实现从远程网络访问 Red Hat Virtualization 网络的功能。我们使用 Squid 来提供代理服务。
过程 20.1. 在 Red Hat Enterprise Linux 上安装 Squid。
- 在代理机器上安装 Squid:
#
yum install squid
- 打开
/etc/squid/squid.conf
,把以下内容:http_access deny CONNECT !SSL_ports
改为:http_access deny CONNECT !Safe_ports
- 启动代理:
#
service squid start
- 打开默认的 squid 端口:
#
iptables -A INPUT -p tcp --dport 3128 -j ACCEPT
- 保存这个 iptables 的规则:
#
service iptables save
您把一台机器设置为了 SPICE 代理。在从远程网络访问 Red Hat Virtualization 网络时,请先激活这个 SPICE 代理。
20.1.3. 打开 SPICE 代理
以下介绍了激活(打开)SPICE 代理的方法。
过程 20.2. 激活 SPICE 代理
- 在 Red Hat Enterprise Virtualization Manager 中,使用 engine-config 工具设置一个代理:
#
engine-config -s SpiceProxyDefault=someProxy
- 重新启动 ovirt-engine 服务:
#
service ovirt-engine restart
代理必须使用以下格式来代表:protocol://[host]:[port]
注意
只有 Red Hat Enterprise Linux 6.7、Red Hat Enterprise Linux 7.2 或更新版本所带的 SPICE 客户端才支持 HTTPS 代理,而其它老的客户端只支持 HTTP。如果为老的客户端指定了 HTTPS,这些客户端将忽略代理设置,并尝试直接连接到主机。
SPICE 代理被激活(打开)。现在可以通过 SPICE 代理对 Red Hat Virtualization 网络进行访问。
20.1.4. 关闭一个 SPICE 代理
以下介绍了如果关闭一个 SPICE 代理。
过程 20.3. 关闭一个 SPICE 代理
- 登录到 Red Hat Enterprise Virtualization Manager:
$
ssh root@[IP of Manager]
- 运行以下命令来删除 SPICE 代理:
#
engine-config -s SpiceProxyDefault=""
- 重新启动 Red Hat Enterprise Virtualization Manager:
#
service ovirt-engine restart
SPICE 代理被关闭,用户将无法通过 SPICE 代理对 Red Hat Virtualization 网络进行访问。