开发板&PC&虚拟机之间的网络配置
来自百问网嵌入式Linux wiki
目录
Windows通过WIFI上网,开发板离无线路由器很近
VMWare里选择WIFI网卡
- 如果你只想让Windows和开发板互通,可以不启动VMWare,当然也就不用去设置VMWare和Ubuntu。
- 很多电脑有多网卡,比如WIFI网卡、有线网卡。
- 在这种连接情况下,VMWare必须选择桥接模式、必须选择WIFI网卡。
设置IP
- Windows的WIFI网卡IP、ubuntu的IP、开发板的IP,三个IP必须处于同一网段。
设置Windows IP
- Windows的IP一般都是自动分配的,在命令行执行:ipconfig,查看它的IP,假设为
192.168.1.10
。 - 如果想修改IP,可以手工修改,具体方法请自行百度搜:windows 修改 IP。
设置Ubuntu IP
设置开发板IP
- 开发板运行UBOOT时、运行LINUX时,它们的IP需要分别设置,这两个阶段的IP没有联系。这两个阶段不会同时运行,所以它们的IP可以相同。
- 如果开发板正在运行UBOOT,执行以下命令设置IP:
setenv ipaddr 192.168.1.123 saveenv
- 如果开发板正在运行LINUX,一般来说也不需要设置IP。如果有问题,比如执行ifconfig命令后无法查看到网卡的IP,你可以执行以下命令设置手工IP:
echo “ifconfig eth0 192.168.1.123” >> /etc/init.d/rcS reboot
验证
- ① 验证Windows和Ubuntu互通:
- 在Windows命令行执行:
ping 192.168.1.100 // ping Ubuntu,如果有数据返回就表示通了
- 如下图:
- ② 验证Windows和“正在运行uboot的开发板”互通(第②③步,只要做一个就可以):
- 如果显示“alive”就表示通了。
- 有时候Windows有防火墙导致PING不通,可以尝试去PING ubuntu的IP。
- ③ 验证Windows和“正在运行Linux的开发板”互通(第②、③步,只要做一个就可以):
- 类似第①步,在Windows命令行下PING开发板的IP。
- 注意,开发板必须启动进入了Linux,它才能被Windows PING通。
Windows通过WIFI上网,开发板离无线路由器很远
连接网线
Windows电脑和开发板的网线,都接到另一个集线器或路由器
电脑和开发板用网线直连(绝对不建议)
- 如果你只想让Windows和Ubuntu互通,请看上一章(第1章):不需要接开发板网线,不需要买集线器。
- 实在不想再买网络集线器了(强烈建议不要这样做,否则使用过程中麻烦时不时发生),可以照下图接线:
- 电脑和开发板的网线直连时,
- 这是要特殊对待的情况!
- 如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡!
- 否则,Windows里看到的有线网卡就有一个红叉。
- 红叉表示"断开",
- 都"断开"了你别再问我为什么PING不通。
- 所以,
- 如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡:
- a. 如果你要在开发板上玩UBOOT:
- 原生UBOOT是个奇葩,
- 它平时不使能网卡,
- 只有在使用网络命令那一小会,才使能网卡。
- 如果一定要直连,必须更换为"全程使能网卡的UBOOT",
- 我们提供的JZ2440的uboot,已经全程使能网卡了,
- 你可以在它的前2行打印信息里看到:enable Ethernet alltime。
- 对于其他开发板所用的uboot,它并没有全程使能网卡,
- 对于这种情况,强烈建议不要用网线直接连接开发板和电脑。
- b. 如果你要在开发板上玩LINUX,
- 这个LINUX必须有网卡驱动,必须配置了网卡,
- 可以在开发板里执行类似这样的命令:
ifconfig eth0 192.168.1.123
VMWare里选择有线网卡
- 如果你只想让Windows和开发板互通,可以不启动VMWare,当然也就不用去设置VMWare和Ubuntu。
- 很多电脑有多网卡,比如WIFI网卡、有线网卡。
- 在本章所描述的连接情况下,VMWare必须选择桥接模式、必须选择有线网卡。
设置IP
- 注意注意注意:Windows中的WIFI网卡、有线网卡,它们2个IP的网段绝不能相同!
- WIFI网卡的IP一般是自动分配的,一般都是192.168.1.xxx,
- 那么我们就把有线网卡IP设为 192.168.2.xxx,不能跟WIFI网卡在同一网段。
- Windows的有线网卡IP、ubuntu的IP、开发板的IP,三个IP必须处于同一网段,所以需要有3个192.168.2.x的IP。
设置Windows IP
- 在本章的连接情况中,Windows的有线网卡的IP一般都无法自动分配。
- 需要手工修改有线网卡的IP,具体方法请自行百度搜:“windows 修改 IP”。
- 假设你已经把它的IP改为192.168.2.10。
设置Ubuntu IP
设置开发板IP
- 开发板运行UBOOT时、运行LINUX时,它们的IP需要分别设置,这两个阶段的IP没有联系。这两个阶段不会同时运行,所以它们的IP可以相同。
- 如果开发板正在运行UBOOT,执行以下命令设置IP:
set ipaddr 192.168.2.123 save
- 如果开发板正在运行LINUX,你可以执行以下命令设置手工IP:
echo “ifconfig eth0 192.168.2.123” >> /etc/init.d/rcS
reboot
验证
- ① 验证Windows和Ubuntu互通:
- 在Windows命令行执行:
ping 192.168.2.100 // ping Ubuntu,如果有数据返回就表示通了,如下图:
- ② 验证Windows和“正在运行uboot的开发板”互通(第②③步,只要做一个就可以):
- 如果显示“alive”就表示通了。
- ③ 验证Windows和“正在运行Linux的开发板”互通(第②③步,只要做一个就可以):
- 类似第①步,在Windows命令行下PING开发板的IP。
- 注意,开发板必须启动进入了Linux,它才能被Windows PING通。
Windows不使用WIFI网卡
连接网线
Windows通过有线网卡接路由器上网,开发板离路由器很远
不上网,Windows电脑和开发板的网线,都接到集线器或路由器
电脑和开发板用网线直连(不建议)
- 如果你只想让Windows和Ubuntu互通,但是又没有集线器或路由器:仍需要用网线连接电脑和开发板(这样网卡才不是断开状态,才可使用)。
- 实在不想再买网络集线器了(强烈建议不要这样做,否则使用过程中麻烦时不时发生),可以照下图接线:
- 电脑和开发板的网线直连时,
- 这是要特殊对待的情况!
- 如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡!
- 否则,Windows里看到的有线网卡就有一个红叉。
- 红叉表示"断开",
- 都"断开"了你别再问我为什么PING不通。
- 所以,
- 如果电脑和开发板用网线直连,开发板上的程序,必须使能网卡:
- a. 如果你要在开发板上玩UBOOT:
- 原生UBOOT是个奇葩,
- 它平时不使能网卡,
- 只有在使用网络命令那一小会,才使能网卡。
- 如果一定要直连,必须更换为"全程使能网卡的UBOOT",
- 我们提供的JZ2440的uboot,已经全程使能网卡了,
- 你可以在它的前2行打印信息里看到:enable Ethernet alltime。
- 对于其他开发板所用的uboot,它并没有全程使能网卡,
- 对于这种情况,强烈建议不要用网线直接连接开发板和电脑。
- b. 如果你要在开发板上玩LINUX,
- 这个LINUX必须有网卡驱动,必须配置了网卡,
- 可以在开发板里执行类似这样的命令:
ifconfig eth0 192.168.1.123
VMWare里选择有线网卡
- 如果你只想让Windows和开发板互通,可以不启动VMWare,当然也就不用去设置VMWare和Ubuntu。
- 很多电脑有多网卡,比如WIFI网卡、有线网卡。
- 在本章所描述的连接情况下,VMWare必须选择桥接模式、必须选择有线网卡。
设置IP
- Windows的有线网卡IP、ubuntu的IP、开发板的IP,三个IP必须处于同一网段。
设置Windows IP
- Windows的IP一般都是自动分配的,在命令行执行:ipconfig,查看它的IP,假设为192.168.1.10。
如果想修改IP,可以手工修改,具体方法请自行百度搜:“windows 修改 IP”。
设置Ubuntu IP
设置开发板IP
- 开发板运行UBOOT时、运行LINUX时,它们的IP需要分别设置,这两个阶段的IP没有联系。这两个阶段不会同时运行,所以它们的IP可以相同。
- 如果开发板正在运行UBOOT,执行以下命令设置IP:
set ipaddr 192.168.2.123 save
- 如果开发板正在运行LINUX,你可以执行以下命令设置手工IP:
echo “ifconfig eth0 192.168.2.123” >> /etc/init.d/rcS
reboot
验证
- ① 验证Windows和Ubuntu互通:
- 在Windows命令行执行:
ping 192.168.2.100 // ping Ubuntu,如果有数据返回就表示通了,如下图:
- ② 验证Windows和“正在运行uboot的开发板”互通(第②③步,只要做一个就可以):
- 如果显示“alive”就表示通了。
- ③ 验证Windows和“正在运行Linux的开发板”互通(第②③步,只要做一个就可以):
- 类似第①步,在Windows命令行下PING开发板的IP。
- 注意,开发板必须启动进入了Linux,它才能被Windows PING通。
只想让Ubuntu能上网、能跟Windows互联(校园网必看)
VMWare的3种网络模式简介
- VMWare的网络有3种模式:
- ① 桥接模式:
- 在这种模式下,Windows主操作系统、VMWare上运行的Ubuntu操作系统,就相当于2台独立的电脑。
- 如果Windows需要拔号才能上网,那么Ubuntu也需要拔号才能上网。但是一般来说学校、单位没有Ubuntu下的拔号软件。这时,Ubuntu想上网就不能使用桥接模式。
- ② NAT模式:
- VMWare上运行的Ubuntu操作系统,它对外访问时,会使用Windows的IP,这称为共享主机Windows的IP。
- 在这种模式下,只要Windows能上网,Ubuntu就可以上网,无需对Ubuntu进行复杂的设置。
- 但是这种模式下,开发板无法访问Ubuntu,所以不适合进行后续的学习、开发。
- ③ 仅主机模式:
- 不太了解,用不上。
NAT模式适用情况
Windows和Ubuntu之间远程操作
- Windows和Ubuntu之间网络互通之后,就可以在Windows远程登录Ubuntu并执行各种Linux命令了,还可以使用FileZilla在两者之间传输文件。
- 能执行本文操作的前提是Ubuntu上已经安装好了ssh服务。
- 如果你使用的是我们提供的Ubuntu系统,ssh服务已经安装好了;
- 否则你需要确保Ubuntu能上网,然后执行下面命令来安装ssh服务:
sudo apt-get install openssh-server
使用MobaXterm登录Ubuntu
- 注意:本章假设Ubuntu的IP为192.168.1.100,你可以登录Ubuntu桌面系统后启动terminal,执行ifconfig命令查看该IP。
开发板和Ubuntu之间传文件
- 开发板和Ubuntu之间网络互通之后,就可以在两者之间传输文件了。
开发板通过NFS挂载Ubuntu的目录
- 开发板上不一定安装有FTP服务、SSH等服务,所以不一定能使用FTP等工具登录开发板。
- 但是开发板的系统一般都自带mount命令,并且支持NFS文件系统。所以可以在开发板上执行mount命令挂载ubuntu的某个目录。这样就可以在开发板和Ubuntu之间传文件了。
- 开发板使用NFS挂载Ubuntu的前提是:Ubuntu中已经安装了NFS服务,并且在/etc/exports中配置了某个目录供挂载。
在Ubuntu上安装、配置NFS服务
- 如果你使用的是我们提供的Ubuntu,那么已经安装好了NFS服务。
- 如果你的Ubuntu未安装NFS服务,那么在确保Ubuntu可以上网的前提下,执行以下命令:
sudo apt-get install nfs-kernel-server
- 然后,还得修改/etc/exports,添加类似以下的内容,下面的例子里允许开发板通过NFS访问Ubuntu的/home/book、/work两个目录:
/home/book *(rw,nohide,insecure,no_subtree_check,async,no_root_squash) /work *(rw,nohide,insecure,no_subtree_check,async,no_root_squash)
- 最后,重启NFS服务,在Ubuntu上执行以下命令:
sudo /etc/init.d/nfs-kernel-server restart
- 可以在Ubuntu上通过NFS挂载自己,验证一下NFS可用:
sudo mount -t nfs -o nolock,vers=3 127.0.0.1:/home/book /mnt ls /mnt
在开发板上挂载Ubuntu的NFS文件系统
- 确保开发板可以ping通Ubuntu后,就可以通过NFS挂载Ubuntu中的某个目录。
- 哪些目录呢?请查看Ubutnu的/etc/exports文件。
- 假设Ubuntu的IP为:192.168.1.100,在开发板上可以执行下面的命令挂载Ubuntu的/home/book目录到开发板的/mnt目录:
mount -t nfs -o nolock,vers=2 192.168.1.100:/home/book /mnt // 如果不成功,就把vers=2改为vers=3或vers=4 mount -t nfs -o nolock,vers=3 192.168.1.100:/home/book /mnt
- 如果一切正常,你可以在Ubuntu上把文件放到/home/book目录中,在开发板上可以从/mnt目录中访问该文件。
常见问题
-
1. Windows上有多个网卡时,三者(Windows/Ubuntu/开发板)无法互通:
-
答:可能原因有两个。
- ① VMWare中要选择桥接模式,并且桥接模式下要选择正确的网卡。选择哪一个网卡,请看第1、2、3章中的各种情况。
- ② Windows上安装了杀毒软件,或是启用了防火墙。在这种情况下,只要Windows能ping通Ubuntu、ping通开发板就可以了。不必强求Ubuntu和开发板都能ping通Windows,这不影响使用。
- ① VMWare中要选择桥接模式,并且桥接模式下要选择正确的网卡。选择哪一个网卡,请看第1、2、3章中的各种情况。
-
答:可能原因有两个。
-
4. 开发板和电脑用网线直连,问题多
-
答:不要直连,中间接一个HUB或路由器
-
答:不要直连,中间接一个HUB或路由器