在本文中,我们向您展示如何在配置了NAT的Proxmox上创建专用和虚拟网络桥。在Proxmox虚拟化基础架构中,可以通过CLI(手动编辑网络配置文件)或直观的图形用户界面来完成网络配置。可以使用这两种方法,但是选择哪一种方法取决于您的Linux管理专业知识。从GUI修改网络配置的优点之一是Proxmox VE不会直接将更改写入/etc/network/interfaces。取而代之的是,它将使用一个名为/etc/network/interfaces.new的临时文件,该文件允许一次进行许多相关的更改。它还有助于确保在提交/etc/network/interfaces之前网络更改正确无误,因为错误的网络配置可能会导致节点无法访问。参考在Debian 10(Buster)上安装Proxmox VE 6的方法。
使用NAT在Proxmox上创建虚拟网桥 对于CLI方法,您将直接编辑/etc/network/interfaces配置文件: sudo vim /etc/network/interfaces 我将基于以下网络参数创建虚拟网桥: 网络:192.168.50.0 网络掩码:255.255.255.0 Proxmox主机IP:192.168.50.1 在服务器上打印当前的活动网络接口: $ sudo ip -f inet a s 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 192.168.58.236/26 brd 195.201.58.255 scope global enp4s0 valid_lft forever preferred_lft forever 我将创建一个名为vmbr1的虚拟网桥: auto vmbr1 iface vmbr1 inet static address 192.168.50.1 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0 请注意,没有链接到网桥的物理接口(bridge_ports没有)。
配置NAT(伪装) 伪装(Masquerading)允许您创建的专用网络中的虚拟机通过使用主机IP地址进行传出流量来访问外部网络。iptables重写了每个传出数据包,使其看起来像是源自主机,并且响应也相应地进行了重写,以路由到原始发送者。 我将修改上述网络配置,以添加用于互联网连接的路由。由于我的主要接口enp4s0已连接到物理交换机并具有Internet连接,因此我们将路由来自vmbr1的流量: auto vmbr1 iface vmbr1 inet static address 192.168.50.1 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '192.168.50.0/24' -o enp4s0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '192.168.50.0/24' -o enp4s0 -j MASQUERADE 请注意,enp4s0可以替换为VLAN接口或另一个Linux网桥。iptables提供伪装功能,允许专用虚拟网络上的实例访问Internet。
调出网桥界面 通过手动启动网桥接口来验证您的网络配置是否正确: $ sudo ifup vmbr1 Waiting for vmbr1 to get ready (MAXWAIT is 2 seconds). 检查网桥IP信息: $ ip address show dev vmbr1 3: vmbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 link/ether 16:cf:7e:23:de:1e brd ff:ff:ff:ff:ff:ff inet 192.168.50.1/24 brd 192.168.50.255 scope global vmbr1 valid_lft forever preferred_lft forever inet6 fe80::14cf:7eff:fe23:de1e/64 scope link valid_lft forever preferred_lft forever 从输出中可以确认vmbr1上的IP地址正确。 您应该能够重新启动网络服务,而不会出现任何故障: $ sudo systemctl restart networking 确认状态为活动(active): $ systemctl status networking.service
在创建的网桥上创建虚拟机后,它的行为就像直接连接到物理网络一样。即使只有一根网线将所有这些VM连接到网络,网络也会将每个虚拟机视为具有自己的MAC。
相关主题 |