桥接网络可用于配置您的虚拟机。需要进行一些调整才能使网络配置在我们的 网络上正常工作。
准备工作
- 安装了管理程序的专用服务器(例如VMware ESXi、Citrix Xen Server、Proxmox 等)
- 至少一个附加到服务器的IP地址
- 能正常访问后台
操作流步骤
基本步骤始终相同,独立于底层 系统:
- 为新需要分配的IP创建虚拟MAC地址
- 将VM的MAC设置为该新的虚拟MAC地址
- 配置IP地址、网络掩码、网关和到VM内部网关的路由
以下说明中的代码示例必须替换为您自己的 值:
- SERVER_IP =服务器的主IP地址
- FAILOVER_IP = 您的新分配的IP地址
- GATEWAY_IP = 默认网关的地址
操作步骤
登录OVHcloud/SYS/KS后台 控制面板(当前演示以 OVHcloud面板为例,基本大同小异),转到该Bare Metal Cloud
部分并打开IP
菜单。
“服务”下拉菜单选择允许您需要分配的 IP
单击...
相关行中的…以打开上下文菜单,然后选择Add a virtual MAC
除非您使用的是 VMware ESXi,否则请ovh
从“类型”下拉菜单中选择 – 在这种情况下,请选择vmware
. 在“虚拟机名称”字段中输入名称,然后单击Confirm
。
第二步:确定网关 地址
要配置您的虚拟机以访问 Internet,您需要知道主机的网关(即您的专用服务器)。网关IP地址由服务器主IP地址的前三个八位字节组成,最后一个八位字节为 254。例如,如果您的服务器的主IP地址 是:
- 169.254.10.20
因此,您的网关地址将 是:
- 169.254.10.254
第三步:准备主机
对于所有操作系统和发行版,您<strong>必须</strong>使用您在 OVHcloud 控制面板中创建 的虚拟MAC地址配置您的虚拟机。
Proxmox
创建VM后,在其仍处于关闭状态的情况下,右键单击该VM,然后单击Edit settings
。
1. 选择虚拟机。
2. 打开Hardware
部分。
3. 选择Network Device
。
4. 单击Edit
按钮。
然后添加之前创建的 vMAC 地址 。
现在您可以启动VM并继续执行配置步骤,具体取决于安装的操作系统 。
VMware ESXi
创建VM后,在其仍处于关闭状态的情况下,右键单击该VM,然后单击Edit settings
。
折叠,将下拉菜单中Netwok Adapter 1
的值更改为并输入之前创建的MAC地址。MAC AddressManual
现在您可以启动VM并继续执行配置步骤,具体取决于安装的操作系统 。
步骤 4:配置虚拟机
Debian
连接到虚拟机的外壳。打开位于/etc/network/interfaces
. 编辑文件,使其反映下面的配置(请记住填写您自己的 值)。
对于较旧的发行版:
代码语言:javascript复制auto lo eth0
iface lo inet loopback
iface eth0 inet static
address FAILOVER_IP
netmask 255.255.255.255
broadcast FAILOVER_IP
post-up route add GATEWAY_IP dev eth0
post-up route add default gw GATEWAY_IP
pre-down route del GATEWAY_IP dev eth0
pre-down route del default gw GATEWAY_IP
对于最新的 发行版:
代码语言:javascript复制auto lo eth0
iface lo inet loopback
iface eth0 inet static
address FAILOVER_IP
netmask 255.255.255.255
broadcast FAILOVER_IP
post-up ip route add GATEWAY_IP dev eth0
post-up ip route add default via GATEWAY_IP
pre-down ip route del GATEWAY_IP dev eth0
pre-down ip route del default via GATEWAY_IP
eth0
如果您的系统使用可预测的网络接口名称,也请替换。您可以使用以下 命令找到网络接口名称:
ls /sys/class/net
保存并关闭文件,然后重新启动网络或重新启动虚拟 机。
Red Hat 和基于 Red Hat 的操作系统(CentOS 6、Scientific Linux、ClearOS 等)
在您的虚拟机上打开一个终端。打开位于/etc/network/interfaces
. 编辑文件,使其反映下面的配置(请记住填写您自己的 值)。
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.255
IPADDR=FAILOVER_IP
GATEWAY=GATEWAY_IP
ARP=yes
HWADDR=MY:VI:RT:UA:LM:AC
保存并关闭文件。
接下来,打开虚拟机的路由文件,该文件位于/etc/sysconfig/network-scripts/route-eth0
. 编辑文件,使其反映下面的配置(请记住填写您自己的值)。
GATEWAY_IP dev eth0
default via GATEWAY_IP dev eth0
保存并关闭文件,然后重新启动您的虚拟 机。
CentOS 7
对于 CentOS 7,网络适配器的名称会有所不同,具体取决于安装选项。您将需要验证适配器名称并使用它来配置您的虚拟机。您可以使用命令找到网络接口名称 <code>ls /sys/class/net</code>。
在您的虚拟机上打开一个终端。打开位于/etc/sysconfig/network-scripts/ifcfg-(interface-name)
. 编辑文件,使其反映下面的配置(请记住填写您自己的值)
DEVICE=(interface-name)
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
IPV6INIT=no
PEERDNS=yes
TYPE=Ethernet
NETMASK=255.255.255.255
IPADDR=FAILOVER_IP
GATEWAY=GATEWAY_IP
ARP=yes
HWADDR=MY:VI:RT:UA:LM:AC
保存并关闭文件。
接下来,打开虚拟机的路由文件,该文件位于/etc/sysconfig/network-scripts/route-(interface-name)
. 编辑文件,使其反映下面的配置(请记住填写您自己的值)
GATEWAY_IP - 169.254.10.254 (interface-name)
NETWORK_GW_VM - 255.255.255.0 (interface-name)
default GATEWAY_IP
保存并关闭文件。接下来,打开虚拟机的DNS配置文件,该文件位于/etc/resolv.conf
并添加以下行:
nameserver 213.186.33.99
保存并关闭文件后,重新启动网络或重新启动VM。
Ubuntu 18.04
首先,在您的虚拟机上打开一个终端并/etc/netplan/
使用以下命令打开位于其中的网络配置文件。出于演示目的,我们的文件名为50-cloud-init.yaml
.
# nano /etc/netplan/50-cloud-init.yaml
打开文件进行编辑后,使用以下代码对其进行修改:
代码语言:javascript复制network:
ethernets:
(interface-name):
addresses:
- FAILOVER_IP/32
nameservers:
addresses:
- 213.186.33.99
search: []
optional: true
routes:
- to: 0.0.0.0/0
via: GATEWAY_IP
on-link: true
version: 2
保存并关闭文件,然后运行以下命令:
代码语言:javascript复制netplan try
Warning: Stopping systemd-networkd.service, but it can still be activated by:
systemd-networkd.socket
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 120 seconds
Configuration accepted.
Windows Server 2012 / Hyper-V
在配置您的虚拟机之前,您需要创建一个虚拟 交换机。
在专用服务器的命令行中,运行ipconfig /all
并记下包含服务器主IP 地址的网络适配器的名称。
在 Hyper-V 管理器中,创建一个新的虚拟交换机并将连接类型设置为External
.
选择带有服务器IP的适配器,然后勾选选项Allow management operating system to share this network adapter
Hyper-V 服务器只需要此步骤一次。对于所有 VM,都需要一个<strong>虚拟交换机</strong>将VM的<strong>虚拟网络适配器连接</strong>到服务器的<strong>物理适配器</strong>。
接下来,选择要添加故障转移IP的VM。使用 Hyper-V 管理器更改VM的设置并将其关闭。
展开左侧菜单中的网络适配器,然后单击Advanced Features
。将MAC地址更改为 ,然后输入故障转移IPStatic
的虚拟MAC地址。输入这些设置后,按应用更改。OK
接下来,启动虚拟机并以管理员身份登录,然后转到Control Panel
. Network and Sharing Center
点击Ethernet
打开设置,点击Properties
按钮查看Ethernet Properties
。
选择Internet Protocol Version 4 (TCP/IPv4)
,然后单击Properties
按钮。
在 IPv4 属性窗口中,选择Use the following IP address
。在IP地址字段中输入故障转移IP,在子网掩码中输入 255.255.255.255 。
在下面的相应字段中填写您服务器的网关IP地址,然后在字段中输入 213.186.33.99 Preferred DNS Server
。
最后,单击OK
,忽略网关IP和分配的IP不在同一 子网中的警告消息。
重新启动服务器后,VM应使用故障转移IP连接到 Internet 。
故障检查
如果您无法建立从您的虚拟机到公共网络的连接并且您怀疑存在网络问题,请以救援模式重新启动服务器并直接在 主机上设置桥接网络接口。
在救援模式终端中输入以下命令,将 MAC_ADDRESS 替换为您在控制面板中生成的 vMAC 地址,将 FAILOVER_IP 替换为您的故障转移IP 地址:
代码语言:javascript复制ip link add name test-bridge link eth0 type macvlan
ip link set dev test-bridge address MAC_ADDRESS
ip link set test-bridge up
ip addr add FAILOVER_IP/32 dev test-bridge
接下来,从外部设备ping 您的故障转移IP地址。
- 如果它响应,则可能意味着VM或主机上存在配置错误,导致故障转移IP无法在正常 模式下工作。
- 如果IP地址仍然无效,请在您的 控制面板中创建一个工单,将您的测试结果转发给我们的支持 团队。