开发板通过 Ubuntu/Linux 连接外网

开发板通过 Ubuntu/Linux 连接外网 文章目录开发板通过 Ubuntu/Linux 连接外网概述配置 Ubuntu 系统配置开发板 (Linux)配置开发板 (QNX)开发板通过 Ubuntu/Linux 连接外网概述如果开发板需要访问外网可以通过网线将开发板与 Ubuntu 系统连接起来在 Ubuntu 系统中配置 ip_forward 让 Ubuntu 成为路由器这样就可以将开发板与外网连接起来。需要使用到以下一些物理设备两个带网口的 USB Hub网线其中带网口的 USB Hub 可以参考以下图片到京东或淘宝进行购买仅供参考。带网口的 USB Hub 准备好后一个插在开发板另一个插到 Ubuntu 系统中间用网线连接起来这样它们的网络链接就打造好了。完整的网络拓扑图如上图所示接下来我们具体描述下配置细节。配置 Ubuntu 系统假如系统中原来可用于正常上网的网卡名称为ens160插入带网口的 USB Hub 后系统中会多出来一个新的网络设备名称可能是enxf8e43b913cd7。则当前系统中有两个网卡设备ens160enxf8e43b913cd7其中ens160负责与外网进行通讯enxf8e43b913cd7负责与开发板进行通讯。首先配置enxf8e43b913cd7网卡 IP 地址sudoifconfigenxf8e43b913cd7192.168.10.8/24 up配置内核参数打开 IP Forward 功能sudosysctl-wnet.ipv4.ip_forward1检查是否生效sysctlnet.ipv4.ip_forward使用iptables命令配置路由转发功能sudoiptables-Fsudoiptables-PINPUT ACCEPTsudoiptables-PFORWARD ACCEPTsudoiptables-tnat-APOSTROUTING-oens160-jMASQUERADE注意其中比较重要的一个参数是在于最后一行的-o ens160参数-o的长选项是--out-interface意思是需要指定POSTROUTING的出去的接口所以在此处指定的就是能够正常与外网通讯的ens160网卡设备。配置开发板 (Linux)同样的插入带网口的 USB Hub 后开发板中同样会多出来一个新的网络设备估且认为它是eth1吧。eth1是与 Ubuntu 系统中的enxf8e43b913cd7相连接的设备所以需要配置成与 Ubuntu 在同一个局域网内。首先配置eth1网卡 IP 地址sudoifconfigeth1192.168.10.10/24 up在板子上使用ping命令测试与 Ubuntu 系统的连接性确保两端是正常互通。ping192.168.10.8完成第一步的网络连通性测试之后将 Ubuntu 的地址192.168.10.8设置成开发板的网关地址让开发板能够路由出去sudorouteadddefault gw192.168.10.8配置之后可以通过route -n命令对系统路由表进行检查。配置 DNSsudoechonameserver 114.114.114.114/etc/resolv.conf在板子上测试外网连通性pingwww.baidu.com配置开发板 (QNX)网络 IP 配置方法及原理与上面的 Linux 版本类似路由配置命令有点差异。首先配置eth1网卡 IP 地址ifconfigeth1192.168.10.10/24 up在板子上使用ping命令测试与 Ubuntu 系统的连接性确保两端是正常互通。ping192.168.10.8完成第一步的网络连通性测试之后将 Ubuntu 的地址192.168.10.8设置成开发板的网关地址让开发板能够路由出去route-nadddefault192.168.10.8配置之后可以通过route -n show命令对系统路由表进行检查。命令正常执行后会输出如下内容# route -n showRouting tables Internet: Destination Gateway Flags default192.168.8.15 UG...QNX 的route命令与 Linux 的不太一样具体用法可以参考官方文档「qnx route 命令用法」配置 DNSechonameserver 114.114.114.114/etc/resolv.conf在板子上测试外网连通性pingwww.baidu.com