技术解析

关于 PVE 单网卡 多 IP 该如何配置?
0
2021-06-15 12:26:18
idczone

问下大佬们,目前我的 pve 是单 IP,但是我是桥接的网卡。

我想把母鸡多增加一个公网 IP,应该怎么修改这个网卡配置。

先感谢大佬们帮我。

我尝试过

vmbr0:1 这种形式多增加一个,但是不行。

我尝试过 enp34s0:1 这样直接母鸡连不上了,重装的系统。

桥接的时候主网卡 enp34s0 不允许出现 IP 。

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

iface lo inet6 loopback

iface enp34s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address xxx.xxx.xxx.xxx/27
        gateway xxx.xxx.xxx.xxx
        bridge-ports enp34s0
        bridge-stp off
        bridge-fd 0
        bridge-maxwait 0

iface vmbr0 inet6 static
        address xxx.xxx.xxx.xxx::1/64
        gateway xxx.xxx.xxx.xxx::1

auto vmbr1
iface vmbr1 inet static
        address 10.10.10.0/32
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        bridge-maxwait 0


换个思路:再买块物理网卡。好处:简化逻辑配置,构建物理链路的高可用,物理带宽上限翻倍。

你这种情况用 ipvtap 就挺合适
$ ip link add link vmbr0 name ipvtap0 type ipvtap
$ ip address add vvv.vvv.vvv.vvv/27 dev ipvtap0

想要多个 IP 直接加到 interface 上就可以了,每个 interface 都可以支持多个 IP
$ ip address add ttt.ttt.ttt.ttt/27 dev vmbr0
IP-Alliasing 如果不是需要兼容老旧服务就没必要再继续用了,早就 obselete 了 § source: www.kernel.org/doc/html/latest/networking/alias.html
不过看你的需求应该是想要增加 interface 来分配给不同的虚拟系统用吧,linux 支持的很多 virtual interface 都可以用在这种情况下,比如 container 一般就是用 veth + netns 来提供网络的
linux virtual network interface 这里有一个写得很好的总结,可以读一读 § developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking/
你这种情况用 ipvtap 就挺合适
$ ip link add link vmbr0 name ipvtap0 type ipvtap
$ ip address add vvv.vvv.vvv.vvv/27 dev ipvtap0
你可以这样检查网络是通的
$ ping -I vvv.vvv.vvv.vvv xxx.xxx.xxx.xxx
$ nc -vlk xxx.xxx.xxx.xxx 9999 &
$ nc -v -s vvv.vvv.vvv.vvv xxx.xxx.xxx.xxx 9999

obselete -> obsolete
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服