AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 819267
Accepted
Karim
Karim
Asked: 2016-12-08 05:20:27 +0800 CST2016-12-08 05:20:27 +0800 CST 2016-12-08 05:20:27 +0800 CST

在linux上创建20多个VXLAN接口

  • 772

如何在 Ubuntu/Debian 中创建 20 多个 vxlan 接口?

  • 在 Linux 内核 3.16 中,我发现我可以创建 20 多个 vxlan 接口,但它们无法正常工作,因为发送 arp 消息不起作用。

  • 在 Linux Kernel 4.4 创建第 21 个接口时,我收到此错误消息“ RTNETLINK answers: No buffer space available ”

我已经通过创建一个在新的 ubuntu 14.04 和 16.04 上创建接口的小 shell 脚本对此进行了测试,也在 Debian 8 上进行了测试。

脚本 testvxlan.sh 如下所示:

#!/bin/bash

for i in {1..30}
do
    echo "Setting up interface br0.$i"
    ip link add br0.$i type vxlan id $i group 239.0.0.$i dev eth0 dstport 4789
    ip addr add 192.168.$i.1/24 dev br0.$i
    ip link set dev br0.$i up
    #ip link delete br0.$i
done

在新的 Ubuntu 16.04 上运行它时,它看起来像这样:

root@ubuntu-xenial:~# ./testvxlan.sh
Setting up interface br0.1
Setting up interface br0.2
Setting up interface br0.3
Setting up interface br0.4
Setting up interface br0.5
Setting up interface br0.6
Setting up interface br0.7
Setting up interface br0.8
Setting up interface br0.9
Setting up interface br0.10
Setting up interface br0.11
Setting up interface br0.12
Setting up interface br0.13
Setting up interface br0.14
Setting up interface br0.15
Setting up interface br0.16
Setting up interface br0.17
Setting up interface br0.18
Setting up interface br0.19
Setting up interface br0.20
Setting up interface br0.21
RTNETLINK answers: No buffer space available
Setting up interface br0.22
RTNETLINK answers: No buffer space available
Setting up interface br0.23
RTNETLINK answers: No buffer space available
Setting up interface br0.24
RTNETLINK answers: No buffer space available
Setting up interface br0.25
RTNETLINK answers: No buffer space available
Setting up interface br0.26
RTNETLINK answers: No buffer space available
Setting up interface br0.27
RTNETLINK answers: No buffer space available
Setting up interface br0.28
RTNETLINK answers: No buffer space available
Setting up interface br0.29
RTNETLINK answers: No buffer space available
Setting up interface br0.30
RTNETLINK answers: No buffer space available

我怎样才能增加这个缓冲空间,甚至有可能吗?

linux networking interface
  • 2 2 个回答
  • 1754 Views

2 个回答

  • Voted
  1. Best Answer
    Torsten-Sven Urbas
    2017-01-20T08:43:48+08:002017-01-20T08:43:48+08:00

    由于您使用多播 vxlan,因此限制实际上是 IGMP 成员的最大数量:

    [root@cpu1 ~]# cat /proc/sys/net/ipv4/igmp_max_memberships 
    20
    

    您可以提高此限制,并且应该能够调出 20 多个 vxlan:

    [root@cpu1 ~]# echo 100 >/proc/sys/net/ipv4/igmp_max_memberships
    

    如果您希望此更改在重新启动后保持不变,则需要将以下代码段添加到 /etc/sysctl.conf 或 /etc/sysctl.d/:

    net.ipv4.igmp_max_memberships = 100
    
    • 4
  2. Chui
    2017-02-11T02:37:40+08:002017-02-11T02:37:40+08:00

    我们一直在广泛使用多播 vxlan,在单个节点中有 200 多个,igmp_max_memberships设置为 400...

    除了很多 igmp 报告之外,事情往往会给可以做到这一点的交换机上的 igmp 窥探问题。

    因此,我们每 256 个新 vxlan 创建一个新组,通过 vni 分隔租户。

    YMMV,但侦听是限制多播广播域的好方法,即使在具有有限侦听表的 elcheapo 交换机上也是如此。无论如何,vni 字段是 16 位,因此您可以轻松地将 65535 个 vxlan 放入一个 mc 组中。

    for grp in `seq 1 4` ; do
       for vni in `seq 1 64` ; do
          echo ip link add vx-`printf "%04x" $(($grp*$vni))` type vxlan id $vni group 239.0.1.$grp dev bkpln dstport 4789
       done
    done | sh -x
    
    • 1

相关问题

  • 更改 PHP 的默认配置设置?

  • 有什么软件可以模拟局域网?

  • 保护新的 Ubuntu 服务器 [关闭]

  • 带宽利用工具?[关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve