我在 Hetzner 有一台专用服务器。我在其中安装了 CentOS 7.4,其中有 KVM 和另一个 CentOS 7.4。
我已经向 Hetzner 请求了一个额外的 IP,其中有一台 Mac 出于虚拟化目的而分离出来。
我希望客人可以访问互联网,并且可以从互联网访问该虚拟机。
这是我使用 Hetzner 机器人获得的两个 IP 的数据。
主 IP:AA.BBB.CCC。直接差分
Gateway: AA.BBB.CCC.1
Netmask: 255.255.255.192
Broadcast: AA.BBB.CCC.63
附加 IP:AA.BBB.CCC。电子工程
Gateway: AA.BBB.CCC.1
Netmask: 255.255.255.192
Broadcast: AA.BBB.CCC.63
这是文件 /etc/sysctl.d/99-hetzner.conf 配置
### Hetzner Online GmbH installimage
# sysctl config
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
# ipv6 settings (no autoconfiguration)
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.default.accept_dad=0
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.default.accept_ra_defrtr=0
net.ipv6.conf.default.accept_ra_rtr_pref=0
net.ipv6.conf.default.accept_ra_pinfo=0
net.ipv6.conf.default.accept_source_route=0
net.ipv6.conf.default.accept_redirects=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_dad=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.all.accept_ra_defrtr=0
net.ipv6.conf.all.accept_ra_rtr_pref=0
net.ipv6.conf.all.accept_ra_pinfo=0
net.ipv6.conf.all.accept_source_route=0
net.ipv6.conf.all.accept_redirects=0
这是刚刚安装并运行主机的初始配置
DEVICE=enp0s31f6
ONBOOT=yes
BOOTPROTO=none
IPADDR=AA.BBB.CCC.DD
NETMASK=255.255.255.255
SCOPE="peer AA.BBB.CCC.1"
IPV6INIT=yes
IPV6ADDR=2a01:4f8:13b:1801::2/64
IPV6_DEFAULTGW=fe80::1
IPV6_DEFAULTDEV=enp0s31f6
这是之前为了获得桥梁而修改的文件
DEVICE=enp0s31f6
ONBOOT=yes
HWADDR=90:1b:0e:ee:05:4e
BOOTPROTO=none
IPADDR=AA.BBB.CCC.DD
NETMASK=255.255.255.192
SCOPE="peer AA.BBB.CCC.1"
BRIDGE=br0
这是我创建的 br0 文件
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=AA.BBB.CCC.DD
NETMASK=255.255.255.192
SCOPE="peer AA.BBB.CCC.1"
ONBOOT=yes
DELAY=0
有人知道在 CentOS 客户机中应该做什么配置吗?
我上面发表的内容有问题吗?
十分感谢你的帮助。
答案1
首先,您需要使用 Hetzner 分配给您的虚拟 MAC 地址创建客户机的虚拟网络接口,并将其桥接到br0
主机系统上。例如(libvirt XML):
<interface type='bridge'>
<mac address='00:0c:29:34:b3:a1'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
</interface>
然后,您为客户操作系统配置关联的 IP 地址、网络掩码和网关。IP 地址是不是已分配给主机。
答案2
请提供更多信息,您的虚拟化平台是什么?是否有任何控制台可以访问主机?例如 vmware(vsphere 客户端)、proxmox(基于 Web)、openstack(基于 Web)。
我认为您需要检查该机器上的接口桥,并确保虚拟网络接口(通常是 tap 接口)与主机网络接口(enp0s31f6)一起列为桥接成员。
请使用以下命令检查网络是否正确并发布结果。
# ifconfig -a
# brctl show
谢谢