跨网段通过 vxlan 做二层互通,发现这样设置会断网,看看哪个大佬有办法, Linux 机器不是路由器

2023-11-24 15:26:53 +08:00
 wangbin11

VXLAN 隧道与 Bridge 配合使用

创建网桥 br0
    ip link add bridge0 type bridge
    ip link add vxlan0 type vxlan id 42 dstport 4789 dev ens34
    ip link set vxlan0 up
    ip link set vxlan0 master bridge0
    bridge fdb append 00:00:00:00:00:00 dev vxlan0 dst 172.17.200.1
    ip addr add 192.168.99.4/24 dev bridge0

学艺不精,哪位大佬熟悉可以聊聊,看看有没有更好的办法我学习一下

2209 次点击
所在节点    宽带症候群
39 条回复
wangbin11
2023-11-24 22:17:33 +08:00
@fan88 大佬知道他是应用的什么方案吗,这才是我好奇的东西,
wsycqyz
2023-11-24 22:25:14 +08:00
我猜我知道用桥的目的了
一端机器:
ip link add vxlan42 type vxlan id 42 remote 1.2.3.4 local 5.6.7.8 dev ens3 dstport 4789
ip link add br-vxlan42 type bridge
#在这一行,把你想打通二层的那个 Linux 接口也加到 br-vxlan20 里
ip link set vxlan20 master br-vxlan20
ip link set vxlan20 up
ip link set br-vxlan20 up

另一端机器基本同上。
wsycqyz
2023-11-24 22:26:59 +08:00
@wangbin11 上面的写法里有 42 ,20 写混了,本应该是一个数字,我觉得意思你应该懂哈。
wangbin11
2023-11-24 22:27:02 +08:00
@wsycqyz 我把物理网卡设置进去会断网,有什么办法不断网,这里我没发全,可以私聊。给大佬红包哈
wsycqyz
2023-11-24 22:32:45 +08:00
@wangbin11 建议哈,这里需要两个物理网口,一个是两地之间的三层通信口,另一个是用来桥二层的物理口,这样怎么折腾两地都不会断网。

什么,只有一个物理口?也没有 vlan 子口?我真做不到。
wangbin11
2023-11-24 22:35:24 +08:00
@wsycqyz 这个东西能不能通过虚拟物理网库或者什么其他方法,通过工具来操作,有些地方不具备多个网口的能力。大佬说的这个 vlan 子口,应该是交换机的东西吧,Linux 能虚拟一个吗
GKLuke
2023-11-24 22:36:12 +08:00
有什么需求非要二层通
wsycqyz
2023-11-24 22:46:46 +08:00
@wangbin11 我懂你的需求。我没有研究过是否有工具+虚拟网口来实现你的想法。
Linux 连接到交换机的 Trunk 口上,然后在物理网口上建立多个不同 VLAN 号的子网口,在这个例子中,可以创建两个子口,ens34.100 用来做三层通信,ens34.42 放到 br-vxlan42 里,这样两边 VLAN42 就是二层联通的。
但是,你想的,VLAN100 既三层通,又二层通,在只有一个物理口的情况下,我目前做不出来。
wangbin11
2023-11-24 22:52:07 +08:00
@wsycqyz 加个好友把,两个网口的我做出来,大佬发联系方式
lcdtyph
2023-11-24 23:18:36 +08:00
@wangbin11
试试 veth pair ?新建一对 (veth0, veth0p)
然后 vxlan dev veth0
set veth0p master bridge0
然后把物理端口也加进 bridge
wangbin11
2023-11-24 23:29:20 +08:00
@lcdtyph 卡在这一步,物理网口加进桥导致清空网卡配置,结果断网
thereone
2023-11-24 23:33:56 +08:00
这种单纯要二层互通的可以采用 softether 来搞,很简单的。一定要用 vxlan 我建议还是搞华为华三这些企业级交换机来做转发能力要比单纯 linux 加通用硬件要强,而且配置教程都很好找。
789phitim789
2023-11-25 07:58:09 +08:00
做个 ros OS 软路由
life90
2023-11-25 10:13:45 +08:00
你这个需求,macOS 的网络设置就能做到。但是没去研究。至于你加进去就断网,应该是物理口丢失了三层配置。但系统没有应用你的 Vxlan 三层配置。像 systemd 体系的 Linux 发行版。做了桥或者 vxlan 要单独再去设置一遍。
miemie666
2023-11-26 22:41:43 +08:00
如果你只是打通两个点的二层的话,建议用 softether 傻瓜化组二层网络。

vxlan 多播模式可以尝试下面的方法,建议先检查两边 udp 4789 端口打开没有。
#起网桥
ip link add br0 type bridge
ip addr add 192.168.99.4/24 dev br0
ip link set br0 up
#起网卡
ip link add vx1 type vxlan \
id 42 \
group 239.1.1.1 \
dstport 4789 \
dev ens34
#附加桥
ip link set vx1 master br0
#动态表
bridge fdb append to 00:00:00:00:00:00 dst 172.17.200.1 dev br0
miemie666
2023-11-26 22:47:43 +08:00
不过你说的断网应该是将物理网卡直接附加到桥上去导致的,那你只需要再设置一下桥接网卡的 IP 就行了,如果是 DHCP 模式就执行 dhclient br0 命令,或者更新 netplan 规则。
wangbin11
2023-11-26 22:54:17 +08:00
@miemie666 大佬你的思路和我一样我给桥设置了 ip 也设置了网关还是断网,加个 v 吧,记录我留了
miemie666
2023-11-26 23:28:15 +08:00
@wangbin11 你是在虚拟机上弄的吧,那宿主机得开混杂模式( Promiscuous mode ),否则默认会丢弃非 ens34 的数据导致网络不通。如果开不了就行不通了,改其他方式。
wangbin11
2023-11-27 12:37:05 +08:00
@miemie666 打开了的,找不到原因了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/994859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX