主机:
- Ubuntu 极简版,仅含 SSH
- KVM 作为虚拟机管理程序
- 两个独立的 NIC
- enp5s0
- enp7s6
客人:
- pfSense 或 Untangle 或 Sophos(为了放心,我已尝试过这三种方法)
在我的主机上安装 Ubuntu minimal 和 KVM 后,我进行了/etc/networking/interfaces
如下配置:
auto lo enp5s0 br0
iface lo inet loopback
iface enp5s0 inet manual
iface br0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
broadcast 192.168.1.255
bridge_ports enp5s0
此静态地址将根据我接下来安装的路由器/防火墙软件进行更新,以反映正确的设置。
我创建了具有两个网络接口的防火墙/路由器客户机 - 主机设备 enp7s6(传递到客户机并连接到 wan)和 br0(连接到主机和其他虚拟机)。
我能够从 enp7s6 上的调制解调器获取链接和地址以及互联网流量 - 没有问题。
我可以在客户机上设置 DHCP 服务器,其他虚拟机以及其他物理机(不是 Ubuntu 主机)都可以获取 IP 地址 - 这里没有问题。
在整个过程中甚至之后,我都能够从 LAN 端通过 SSH 连接到虚拟机管理程序以完成所有这些操作;但是,无论我尝试哪种防火墙/路由器,都无法将端口转发到虚拟机管理程序(从 WAN 端通过 SSH 连接到虚拟机管理程序)。
我还注意到,我无法在任何路由器软件中看到对主机(Ubuntu / hypervisor)的任何识别 - 无法识别租约或活跃客户端。
只是为了测试,我将 br0 的网络配置设置为 DHCP,以查看虚拟机管理程序是否会从路由器接收 IP - 结果没有。我试过了,# dhclient br0
但它就是挂了。
我怀疑存在某种我不熟悉的虚拟接口或某种我不知道的配置。
为了澄清起见:我的目标是以这样一种方式配置网络,使得主机(Ubuntu / hypervisor)对于作为客户机安装的路由器可见。
如果我的配置看起来正确,但我的路由器/防火墙软件存在问题,请提供建议,我会在相应的论坛上提问。谢谢!