创建网桥 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
学艺不精,哪位大佬熟悉可以聊聊,看看有没有更好的办法我学习一下
1
Jat001 2023-11-24 15:45:49 +08:00
最好画个拓扑图,流量进来是 untagged 还是 tagged ?如果是 untagged ,需要设 pvid 。流量出去如果下一级是接收 untagged ,那流出的端口需要设置成 untagged ,反之 tagged 。好乱还是画个拓扑图方便解释
|
3
leonshaw 2023-11-24 16:10:59 +08:00
跨网段是内层网段还是外层网段?另外从你命令看,set bridge0 up 了没有?
两边看一下 ip neigh bridge fdb |
4
Jat001 2023-11-24 16:12:09 +08:00
@wangbin11 #2 你随便找个图床吧,比如 https://sm.ms
|
8
Jat001 2023-11-24 19:48:45 +08:00
红包就算了,最近不想加陌生人了……
不想登录就用 https://imgur.com/upload 直接传图就行 |
9
wangbin11 OP @Jat001 ![image.png]( https://s2.loli.net/2023/11/24/QeuaXKUxMyHbSOR.png)
大致是这么个架构,北京二层访问到深圳二层,然后我现在只知道要用桥,汇聚虚拟网卡和物理网卡,通过桥来实现物理网卡会断网,vxlan 不熟悉。看看大佬这里有什么好办法吗 |
10
Jat001 2023-11-24 20:12:45 +08:00
卧槽,打扰了,这种企业级的路由我没搞过
我以为是基于 802.1Q 的 VLAN 呢,没注意看不好意思 |
11
wangbin11 OP @Jat001 vxlan 和路由有什么关系,主要看 vxlan ,通过 Linux 实现,你别跑,我抓了半天没抓到一个,好不容易看到你
|
12
Jat001 2023-11-24 20:22:58 +08:00
我是说你这种跨区域的网络我没搞过,我就搞过家庭组网的 vlan 而已,跟 vxlan 也不是一回事,用的都是 vlan 交换机+openwrt
|
14
Jat001 2023-11-24 20:34:51 +08:00
这种企业级的互联互通我建议你咨询宽带运营商或云服务商,他们都有解决方案
|
16
Jat001 2023-11-24 20:44:44 +08:00
那你这技术不行啊,找友商套套方案吧
|
18
wsycqyz 2023-11-24 21:51:41 +08:00
一定要用桥的目的?
|
20
fan88 2023-11-24 22:12:16 +08:00
二层互通不一定要通过 VXLAN ,简单的方案比如 Zerotier 也可以实现二层互通。
|
22
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 另一端机器基本同上。 |
25
wsycqyz 2023-11-24 22:32:45 +08:00
|
26
wangbin11 OP @wsycqyz 这个东西能不能通过虚拟物理网库或者什么其他方法,通过工具来操作,有些地方不具备多个网口的能力。大佬说的这个 vlan 子口,应该是交换机的东西吧,Linux 能虚拟一个吗
|
27
GKLuke 2023-11-24 22:36:12 +08:00 via iPhone
有什么需求非要二层通
|
28
wsycqyz 2023-11-24 22:46:46 +08:00
@wangbin11 我懂你的需求。我没有研究过是否有工具+虚拟网口来实现你的想法。
Linux 连接到交换机的 Trunk 口上,然后在物理网口上建立多个不同 VLAN 号的子网口,在这个例子中,可以创建两个子口,ens34.100 用来做三层通信,ens34.42 放到 br-vxlan42 里,这样两边 VLAN42 就是二层联通的。 但是,你想的,VLAN100 既三层通,又二层通,在只有一个物理口的情况下,我目前做不出来。 |
30
lcdtyph 2023-11-24 23:18:36 +08:00 via iPhone
@wangbin11
试试 veth pair ?新建一对 (veth0, veth0p) 然后 vxlan dev veth0 set veth0p master bridge0 然后把物理端口也加进 bridge |
32
thereone 2023-11-24 23:33:56 +08:00
这种单纯要二层互通的可以采用 softether 来搞,很简单的。一定要用 vxlan 我建议还是搞华为华三这些企业级交换机来做转发能力要比单纯 linux 加通用硬件要强,而且配置教程都很好找。
|
33
789phitim789 2023-11-25 07:58:09 +08:00 via Android
做个 ros OS 软路由
|
34
life90 2023-11-25 10:13:45 +08:00 via Android
你这个需求,macOS 的网络设置就能做到。但是没去研究。至于你加进去就断网,应该是物理口丢失了三层配置。但系统没有应用你的 Vxlan 三层配置。像 systemd 体系的 Linux 发行版。做了桥或者 vxlan 要单独再去设置一遍。
|
35
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 |
36
miemie666 2023-11-26 22:47:43 +08:00
不过你说的断网应该是将物理网卡直接附加到桥上去导致的,那你只需要再设置一下桥接网卡的 IP 就行了,如果是 DHCP 模式就执行 dhclient br0 命令,或者更新 netplan 规则。
|