基本上学习Linux的人,都会用虚拟机装系统,比如Ubuntu,因为虚拟机的优点十分明显,一来方便,只需要一台电脑设备即可,二来备份也快,只需要把整个文件夹数据拷贝出来即可,要用时直接通过Wmware软件打开就可以正常是使用了。
这里先解释一下什么是NAT,NAT的简写是Network Address Translation,即网络地址转换。需要注意的是,在NAT这种模式下,开发板无法访问 Ubuntu,所以不适合进行后续的学习、开发。使用场景一般是:有些校园网客户, 或者在有些限制上网的公司里,想上网时必须申请,要拨号、要输入用户名密码,如果使用了NAT模式,虚拟机就可以不用总是去申请或者拨号了。
下面我来说明一下如何使用NAT模式去配置Ubuntu网络。
1,先将虚拟机的Ubuntu桌面上点关机
2,编辑虚拟机,修改网络适配器为NAT方式
3,设置完毕后,再次开启虚拟机
4,开机后,使用ctrl+alt+t,打开Terminal,输入ifconfig,查看虚拟机的ip地址(这里的地址为192.168.145.129)
5,为了保证能正常设置,先关闭 Ubuntu,再关闭 VMware
6, 在 NAT 网络下,外面的设备无法看到 Ubuntu,要想开发板能访问到 Ubuntu,需要进行端口映射。
我们需要映射的端口有一下四个:(ssh端口、rpc端口、nfs端口、mountd端口)
7, 在Window系统上,先使用管理员身份运行“虚拟网络编辑器”(可以找到对应文件夹的vmnetcfg.exe)
8,进行端口映射设置,最后记得点应用
注意: 当 ubuntu 的 IP 发生变化,这里的IP地址也需要做对应修改。
重复添加其它端口,直到将四个端口都设置好,ip地址都是用Ubuntu的地址,如下:
9, 设置好后,启动 VMware、启动 Ubuntu,可以再次打开终端,测试网络
下面ttl有数值,说明ping通了
================NFS=================
10, 修改 Ubuntu 的 mountd 端口
在 NAT 网络下,要想开发板能通过 NFS 挂载 Ubuntu,需要修改 mountd 端口为 9999
sudo gedit /etc/services
在最后一行里添加 2 行:
mountd 9999/tcp
mountd 9999/udp
11, NFS 重启:
sudo /etc/init.d/nfs-kernel-server restart
③ 查看端口:
sudo rpcinfo -p
12, Ubuntu 的 IP 可能突然变化,如果发现网络不能用,则需要在第8步的四个端口里依次改为新的IP地址
=============其它==============
13, 举例子说明NAT模式的原理:
假设已经把Windows的22端口映射到了Ubuntu的22端口,即SSH端口,当开发板想要通过SSH端口访问Windows的IP时,Windows就会通过22端口转发给Ubuntu,也就是说,在Nat模式下,开发板想要访问Ubuntu,就必须通过Windows,而Windows知道是22端口的数据,就会转发给Ubuntu。
14,如果Ubuntu不能ping通,很可能跟以下几方面有关:
a. 打开了杀毒软件
b. 打开了防火墙
c. VMware 服务没有启动
15,祝大家的Ubuntu能正常使用网络