云网牛站
所在位置:首页 > Linux教程 > 使用NAT在Proxmox VE 6上创建专用网桥的方法

使用NAT在Proxmox VE 6上创建专用网桥的方法

2021-05-10 15:37:45作者:李小小稿源:云网牛站

在本文中,我们向您展示如何在配置了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

使用NAT在Proxmox VE 6上创建专用网桥的方法

在创建的网桥上创建虚拟机后,它的行为就像直接连接到物理网络一样。即使只有一根网线将所有这些VM连接到网络,网络也会将每个虚拟机视为具有自己的MAC。

 

相关主题

在Linux系统中安装及使用Wireguard建立虚拟专用网络

精选文章
热门文章