尝试解决两个使用广播进行通信的传统设备的问题。
两个传统设备都必须位于 192.168.0.1 和 192.168.0.5 上,这不是我的选择,而是几年前就已编码到设备中的东西。
我正在运行两台小型电脑,每台电脑有 4 个 NIC,安装了 22.04 LTS,互联网通过 enp1s0 连接。
使用 Wireguard,可以在两台小型 PC 之间通过单独的互联网连接建立隧道并进行工作。在阅读 VXLAN 可以路由第 2 层流量后,我还在两台计算机之间设置了一个 VXLAN,我知道,这可能并不理想。
最终,我想要做的是将我的旧设备连接到每台 Linux 计算机上的 enp4s0,并通过 vxlan\wireguard 隧道路由它们的广播数据。
以下是每台 Linux 计算机的 Netplan 配置。我应该提一下,这是不是进入数据中心,或连接到任何生产网络。
我的配置接近正确了吗?看来我可能走在正确的道路上,只是缺少关键配置。
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: true
enp4s0: {}
bridges:
br0:
interfaces:
- enp4s0
addresses: [192.168.0.1/24]
routes:
- to: default
via: 10.0.0.1
parameters:
stp: false
forward-delay: 0
tunnels:
wg0:
mode: wireguard
port: 51820
addresses: [10.0.0.1/24]
peers:
- public-key: "your_peer_public_key_here"
allowed-ips: [10.0.0.0/24]
endpoint: [hostname]:51820
vxlan0:
mode: vxlan
id: 100
local: 10.0.0.2
remote: 10.0.0.1
port: 4789
link: enp4s0
addresses: [192.168.0.1/24]
link: br0
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: true
enp4s0: {}
bridges:
br0:
interfaces:
- enp4s0
addresses: [192.168.0.5/24]
routes:
- to: default
via: 10.0.0.2
parameters:
stp: false
forward-delay: 0
tunnels:
wg0:
mode: wireguard
port: 51820
addresses: [10.0.0.2/24]
peers:
- public-key: "your_peer_public_key_here"
allowed-ips: [10.0.0.0/24]
endpoint: [hostname]:51820
vxlan0:
mode: vxlan
id: 100
local: 10.0.0.2
remote: 10.0.0.1
port: 4789
link: enp4s0
addresses: [192.168.0.5/24]
link: br0