Proxmox VE - 设置专用网络时出现问题

Proxmox VE - 设置专用网络时出现问题

我最近从 购买了一台测试专用服务器来测试 proxmox。安装过程很顺利;但是,我在网络配置上遇到了困难。

我的用例-

我想创建 8 个 LXC 容器并在其上运行我们的 6 个微服务、Nginx 和 Mysql 服务器。我想将互联网流量引导到 nginx 服务器,其余的则应通过专用网络连接。所以我需要创建一个专用网络,而这正是我遇到的问题。我要说明的是,我不是网络专家,只知道基础知识,教程总是能帮到我,但这次不行。我已经对 /etc/network/interfaces 进行了更改,按照 proxmox wiki 的“使用 iptables 伪装(NAT)”部分所述网络配置文章

这是我的 /etc/network/interfaces 中的配置

auto enp41s0
iface enp41s0 inet static
        address 65.XXX.YYY.181/26
        gateway 65.XXX.YYY.129
        up route add -net 65.XXX.YYY.128 netmask 255.255.255.192 gw 65.XXX.YYY.129 dev enp41s0
# route 65.XXX.YYY.128/26 via 65.XXX.YYY.129

iface vmbr0 inet static
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        address 10.10.10.1/24
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '10.10.10.0/26' -o enp41s0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/26' -o enp41s0 -j MASQUERADE

这些更改后重新启动网络不会引发任何错误。

当我尝试启动新创建的 LXC 容器时,proxmox 管理面板中出现了这个错误

run_buffer: 314 Script exited with status 25
lxc_create_network_priv: 3068 No such device - Failed to create network device
lxc_spawn: 1786 Failed to create the network
__lxc_start: 1999 Failed to spawn container "101"
TASK ERROR: startup for container '101' failed

答案1

要创建私有网络并将其 NAT 到公共接口,请将以下配置添加到 /etc/network/interfaces (保留原始备份)

更新网桥 vmbr0 并允许其使用互联网流量创建新网桥 vmbr1 并用于容器之间的内部联网

auto lo
iface lo inet loopback
iface lo inet6 loopback
auto enp41s0
iface enp41s0 inet manual (prev value static)

Commented this line
#       up route add -net 65.XXX.XXX.128 netmask 255.255.255.192 gw 65.XXX.XXX.129 dev enp41s0

处理互联网流量的桥梁

iface vmbr0 inet static
address 65.XXX.XXX.181/26
gateway 65.XXX.XXX.129
bridge-ports enp41s0
bridge-stp off
bridge-fd 0

内部运行服务使用的桥梁

auto vmbr1
iface vmbr1 inet static
address 10.10.10.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
#Bridge network to NAT to vmbr1, uses 10.10.10.0/24 network
#
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE

值得庆幸的是,我能够高效地使用所有微服务。

希望这对某人有帮助

相关内容