1. 场景描述
某项目需要实现服务器与开发板之间的相互通信,可将服务器上的某些目录mount到开发板上去执行,具体地,现有一台Linux服务器(10.100.123.125)和四块开发板,每个开发板上均配有物理网卡,四块开发板的IP地址分别为:192.168.0.13 ,192.168.0.14,192.168.0.15,192.168.0.19,这四块开发板通过PCIE接口直接插在Linux主机上,服务器和四块开发板的IP地址固定不动。下面,我们将为其搭建一个网桥,使得能在服务器中直接使用telnet命令远程登录到开发板上执行相关程序。
2. 查看网络接口
2.1 查看Linux主机网络接口
ip -f inet a s
执行之后会显示出物理网卡,我的网卡是:enp4s0f0,或者使用ifconfig命令查看哪个正在运行的网口设置了IP。
2.2 查看开发板网络接口
ifconfig | grep RUNNING
执行之后不仅会显示出Linux主机网络接口enp4s0f0,还会显示出4块开发板的网络接口名称,分别为:enp17s0f0、enp19s0f0、enp29s0f0、enp31s0f0。
2.3 配置网桥
在/etc/network/interfaces中键入以下内容:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback # loopback指本地环回接口,也称为回送地址
auto br0 # 设置网桥名称
iface br0 inet static # 配置静态IP
address 10.100.123.125
netmask 255.255.0.0
gateway 10.100.0.254
bridge_ports enp4s0f0 enp17s0f0 enp19s0f0 enp29s0f0 enp31s0f0 # 配置网桥中的网口,即服务器网口+4块开发板网口
bridge_stp off
bridge_waitport 0
bridge_fd 0
ifconfig br0:0 192.168.0.100 netmask 255.255.255.0 # 给网桥配置另一个IP,与4块开发板的IP在同一网段
2.4 ping检查
ping 192.168.0.13
ping 192.168.0.14
ping 192.168.0.15
ping 192.168.0.19
检查是否能正常ping通开发板,若能ping通,即可在服务器上使用telnet远程连接开发板。