配置Windows与开发板网络通信

配置Windows侧网卡

将Windows与开发板通过USB网卡连接,开发板的网卡插口选择eth0,也就是靠近拨码开关的网口。开发板开机,Windows的设备管理器中出现以下网卡表示网卡功能正常。

Responsive Image

打开网络和共享中心,选择更改适配器设置,找到USB网卡,右键属性,选择Internet协议版本4(TCP/IPv4),点击属性,选择使用以下IP地址,设置IP地址为以下内容:

  • IP地址:192.168.1.111
  • 子网掩码:255.255.225.0
  • 默认网关:192.168.1.1

网卡的IP要和你Window主机自己的IP在一个网段,不能盲目设置为手册里的192.168.5.10,这样会导致Windows主机无法访问开发板。可以通过在Windows命令行输入ipconfig查看Windows主机的IP地址。一般来说,如果没有设置过路由器,默认都是在192.168.1.x网段。那么网关通常就是这个网段的第一个地址,也就是192.168.1.1,这也是路由器的地址。

如果你配置完网卡以及开发板的IP后能正常相互ping通,那么说明网络配置成功。如果你很不巧和我一样,USB网卡一直无法通过DHCP自动获取IP地址,并且配置完静态IP后只能单侧ping通,那么也可以和我一样将USB网卡和主机的WIFI网卡桥接,这样就可以实现双向通信。这里有个前提条件就是你的主机原先就有两张网卡,一张用于连接路由器,一张是WIFI网卡。不能直接将USB网卡和连接路由器的网卡桥接。

万万没想到一张整年闲置的WIFI网卡竟然派上了用场。

选择WIFI网卡和USB网卡,右键桥接,这样就创建一个网桥,网桥会自动获取IP地址。

Responsive Image

开发板侧配置网卡

配置网卡IP,这个IP也是需要和Windows主机在一个网段的。因为路由器分配IP时会从小到大分配,为了避免和已有的设备IP冲突,我们就可以设置一个比较大的IP,比如112。

# 配置网卡ip为192.169.1.112,子网掩码为255.255.255.0
ifconfig eth0 192.168.1.112

设置默认网关:

ip route add default via 192.168.1.1

注意:更换网口需要重启开发板

[Match]
    Name=eth0
[Network]
    Address=192.168.1.112/24 Gateway=192.168.1.1

挂载NSF共享目录

Windows侧配置

  1. 安装haneWIN NFS 服务器(https://pan.baidu.com/s/1y2R2aJyEExnCJ7FRqdaNdA 提取码:esdw)

    1. 安装路径一般为:C:\Program Files (x86)\nfsd。使用VScode打开该目录下的exports文件,修改内容如下,保存时需要用管理员身份保存:
    d:\nfs -public 192.168.1.112
    
    • d:\nfs:共享目录为D盘的nfs,可以根据自己的实际情况修改。
    • -public:表示共享目录为公共目录,即所有用户都可以访问。
    • IP:为开发板的IP地址,表示要与这个IP进行共享。
  2. 关闭防火墙或者开启必要的通信端口

    1. 如果为了省事,可以直接关闭Windows防火墙
    2. 如果不想关防火墙需要开启以下端口的通信:
      • TCP 111
      • UDP 111
      • TCP 2049
      • UDP 2049
      • TCP 1058
      • UDP 1058
    3. 开启端口的方法为:控制面板 -> 系统和安全 -> Windows Defender 防火墙 -> 高级设置 -> 入站规则 -> 新建规则 -> 端口 -> 下一步 -> TCP -> 特定本地端口 -> 2049 -> 下一步 -> 允许连接 -> 下一步 -> 下一步 -> 规则名称 -> 完成
    4. 需要注意在出站规则和入站规则都需要添加。
  3. 重启Windows NFS Server服务

    1. 右键Windows徽标键,打开计算机管理,找到服务和应用程序,点击服务,找到NFS Server,右键重启。
      1. Responsive Image
    2. 点击软件的输出选项卡,点击重启服务器,如果出现如图配置表示正确启动服务:Responsive Image

开发板侧配置

  1. 新建一个目录,用于挂载共享目录

    1. mkdir /nfs
  2. 挂载共享目录

    mount -vvv  -t nfs -o nolock -o vers=3,port=2049 192.168.1.7:/d/nfs  /nfs
    
    • -vvv:表示挂载时输出详细信息,可省略
    • -t nfs:表示挂载的文件系统类型为nfs
    • -o nolock:表示不使用锁定机制
    • -o vers=3:表示使用NFSv3版本
    • -o port=2049:表示NFS服务端口号
    • 192.168.1.7:/d/nfs:表示NFS服务器的IP地址和共享目录
    • /nfs: 表示开发板上的共享目录

常见错误

挂载时报错:portmap query failed: RPC: Timed out

点击NFS服务的端口映射页面,可以查看RPC使用的所有端口,需要将这些端口都开放,或者直接关闭防火墙。

Responsive Image

一些可能用到的命令:

ip route add default via 192.168.1.1

ip route del 0.0.0.0/0 via 192.168.1.1 dev eth0

ip route del 192.168.1.0/24 dev eth0

vi  /etc/systemd/network/50-static.network

systemctl enable systemd-networkd

如何在Windows上搭建NFS服务器实现开发板与Windows之间的文件共享_opencv_Jack_小明-GitCode 开源社区