我有一台 Debian 10 服务器(来自 Hetzner),我想将其设置为 KVM 主机来为自己设置虚拟机。
服务器本身有一个静态 IP,如下所示:
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto enp35s0
iface enp35s0 inet static
address 95.217.122.234
netmask 255.255.255.192
gateway 95.217.122.193
# route 95.217.122.192/26 via 95.217.122.193
up route add -net 95.217.122.192 netmask 255.255.255.192 gw 95.217.122.193 dev enp35s0
iface enp35s0 inet6 static
address 2a01:4f9:4a:37d5::2
netmask 64
gateway fe80::1
我不确定这些行起什么作用以及它们如何影响我的情况:
# route 95.217.122.192/26 via 95.217.122.193
up route add -net 95.217.122.192 netmask 255.255.255.192 gw 95.217.122.193 dev enp35s0
我已获得一个辅助子网,该子网已“静态路由到 IP 95.217.122.234”,我打算将其分配给来宾。详细信息如下:
- 子网:95.216.106.56
- CIDR:/29
- 网络掩码:255.255.255.248
- 广播:95.216.106.63
我猜我需要将我的接口文件配置如下:
auto lo
iface lo inet loopback
# The primary network interface
auto enp35s0
iface enp35s0 inet manual
auto kvmbr0
iface kvmbr0 inet static
address 95.216.106.56
netmask 255.255.255.248
network 95.216.106.56
broadcast 95.216.106.63
gateway 95.217.122.193
bridge_ports enp35s0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
但是,我不确定这是否会“起作用”,即使起作用,是否会浪费一个或多个 IP 地址(例如,我的初始静态 IP 为 95.217.122.234)。
也许它应该更像这样:
auto lo
iface lo inet loopback
iface lo inet6 loopback
# Main Host IP
auto enp35s0
iface enp35s0 inet static
address 95.217.122.234
netmask 255.255.255.192
gateway 95.217.122.193
# route 95.217.122.192/26 via 95.217.122.193
up route add -net 95.217.122.192 netmask 255.255.255.192 gw 95.217.122.193 dev enp35s0
# Secodary subnet
auto enp35s0:0
iface enp35s0:0 inet manual
# KVM Bridge
auto kvmbr0
iface kvmbr0 inet static
address 95.216.106.56
netmask 255.255.255.248
network 95.216.106.56
broadcast 95.216.106.63
gateway 95.217.122.193
bridge_ports enp35s0:0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
对于我来说,理想的设置方法是什么,以便我的 KVM 主机使用最初分配给它的静态 IP,但如果我手动为 KVM 客户机分配辅助子网内的 IP,则可以直接从互联网访问它们?
禁止转发
我确实看到了这篇类似的帖子,但如果可能的话,我更希望主机不设置转发/伪装。理想情况下,即使客户机与主机共享相同的物理连接,也可以直接通过其 IP 访问客户机。
无 DHCP
我看过其他帖子,由于 DHCP 跨两个不同的子网而变得复杂。在这种情况下,没有 DHCP,我将亲自手动为所有访客分配静态 IP。