高防服务器 —— Linux开发环境搭建步骤
时间:2023-06-26 00:24:02 | 来源:网站运营
时间:2023-06-26 00:24:02 来源:网站运营
高防服务器 —— Linux开发环境搭建步骤:高防服务器 —— Linux开发环境搭建步骤3、虚拟机上网配置
虚拟机如果要从网上获取资源,就要能够访问外网。虚拟机有三种上网方式:桥接上网,NAT上网,单主机模式【没用过】。本节从原理和操作2个方面讲了NAT方式和桥接方式这2种不同的虚拟机上网模式。
3.1、 原理
3.1.1 NAT 方式上网
在NAT模式下,虚拟系统需要借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式虚拟系统可把物理主机作为路由器访问互联网。(虚拟机在主机的下一级)
NAT网络环境下需要做到:
(1)主机需要开启vmdhcp和vmnat服务。(服务的开启,在我的电脑当中右键“管理”可以设置)
(2)NAT模式下的虚拟机的TCP/IP配置信息将由VMnet8(NAT)虚拟网络的DHCP服务器自动分配,需要开启DHCP功能。
3.1.2 桥接方式上网
在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地位,直接与外网通信),它可以访问该类网段内任何一台机器。
桥接网络环境下需要做到:
(1)手动为虚拟机系统配置IP地址、子网掩码。
(2)在桥接的模式下虚拟机必须与物理机处于同一网段,(举个例子,物理机IP:192.168.1.2,虚拟机IP:192.168.1.3)这样虚拟系统才能和真实主机进行通信。
图像来源:vmware网络设置桥接、nat、单主机模式区别-百度经验
3.2、 操作步骤
3.2.1 NAT 方式上网
[ ] (1),确定本地windows电脑能够上网(我的电脑是无线上网)
[ ] (2),虚拟机选择“设置--->网络适配器[NAT模式]--->确定”
。
[ ] (3),虚拟机ubuntu设置为dhcp方式。
步骤1:打开一个终端,执行命令:sudo vi /etc/network/interfaces。
步骤2:转为编辑模式,编译内容保存推出:
interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback#auto ens33#iface ens33 inet static //静态分配ip iface ens33 inet dhcp //动态分配ip address 192.168.1.141netmask 255.255.255.0gateway 192.168.1.1
[ ] (4),重启网卡得到合法的IP地址。
步骤0:打开终端,执行以下命令
步骤1:sudo ifdown ens33 【功能:关闭网卡】
步骤2:sudo ifup ens33 【功能:开启网卡】
步骤3:ifconfig 【功能:查看是否成功分配ip地址,dhcp分配ip地址是随机分配的】
我的现象:ens33 Link encap:Ethernet HWaddr 00:0c:29:24:c8:03
inet addr:192.168.133.128 Bcast:192.168.133.255 Mask:255.255.255.0
[ ] (5),终端输入ping 百度一下,你就知道 测试=是否能够上网。
3.2.2 桥接方式上网
[ ] (1),确定本地windows电脑能够上网(我的电脑是无线上网)
[ ] (2),虚拟机选择“设置--->网络适配器[桥接模式]--->确定”
[ ] (3),虚拟机选择“编辑-->虚拟网络编译器-->更改设置-->桥接到无线网卡(因为我是无线上网)-->确定”
Inter(R) Ethernet Connection[有线网卡]
Inter(R) Wireless-N[无线网卡]
[ ] (4),打开虚拟机终端,输入sudo vi /etc/network/interfaces,选择dhcp动态分配IP,然后重启网卡。
具体操作参考3.2.1 NAT 方式上网
[ ] (5),执行命令ping
http://www.baidu.com测试虚拟机是否能够上网。
验证:ifconfig得到Ubuntu的ip192.168.1.112,而我的电脑ip无线上网为192.168.1.109,他们在同一个网段。
3.3 使用总结
在嵌入式开发中,如果虚拟机要实现上网,建议使用NAT方式访问外网[最简单]。桥接方式一般用来和开发板通信。
注意:主机一定要能上网。
4.Ubuntu连接开发板的网络设置
关键点:桥接到有限网卡;使得开发板,window主机,ubuntu在同一局域网中。也就是设置PC机、虚拟机、以及开发板的IP在同一个网段【同一局域网】,即192.168.1.*,其他掩码、网关、DNS都设置一样。相关操作如下:
[ ] (1),虚拟机配置ip地址为192.168.1.141
步骤1:虚拟机选择“设置--->网络适配器[桥接模式]--->确定”
步骤2:虚拟机选择“编辑-->虚拟网络编译器-->更改设置-->桥接到有线网卡-->确定”
步骤3:终端执行sudo vi /etc/network/interfaces,选择静态ip地址分配
步骤4:重启网卡
步骤5:ifconfig
注意:在开发过程中,发现一个bug,如果静态IP地址分配失败,请重启ubuntu再进行设置
[ ] (2),WindowsPC机的IP配置为192.168.1.20
步骤1:打开网络共享中心
步骤2:选择“更改适配器设置-->以太网-->属性-->TCP/IPv4--->手动制定ip地址--->确定”
[ ] (3),开发板配置ip地址为192.168.1.10
步骤1:用网线,串口线将开发板与电脑连接起来
步骤2:securtCRT与开发板串口连接[具体步骤见SecurtCRT软件的使用]
步骤3:虚拟机开机,进入uboot模式,执行以下命令
set ipaddr 192.168.1.10
set serverip 192.168.1.141
set netmask 255.255.255.0
save
print 【分别对照上面3个环境变量ipaddr、serverip、netmask 看是否一致】
[ ] (4),测试Ubuntu与开发板能否相互ping通
步骤1:在开发板的uboot模式下执行命令:
ping 192.168.1.141
说明开发板能和ubuntu虚拟机ping通
- - 步骤2:ubuntu终端执行 ping 192.168.1.10
说明ubuntu能和开发板ping通
5. ubuntu中搭建tftp服务器
5.1 为什么要安装tftp服务器
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于 UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合。TFTP协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。
TFTP是用来下载远程文件的最简单网络协议,在嵌入式开发中,由于嵌入式开发板资源有限,不能进行文件编译,因此我们都是将写好都代码在宿主机(Linux虚拟机)上进行调试编译好后生成二进制文件,然后通过tftp或NFS来进行传输到开发板上运行。也就是ARM开发板当做客户端, 使用虚拟机 Ubuntu来当做服务器。
5.2 如何安装tftp服务器
前提脚尖:使得虚拟机ubuntu能够连接外网
[ ] (1), 安装 tftp 所需的软件
步骤1:安装 tftp-hpa,tftpd-hpa[前者是客户端,后者是服务程序]:
在终端下输入
sudo apt-get install tftp-hpa tftpd-hpa
步骤2:安装xinetd[xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务] :
在终端下输入
sudo apt-get install xinetd
[ ] (2),配置相关服务。
终端执行命令sudo vi /etc/xinetd.conf,查看内容是否与下面的一致,若不一致则修改:
# Simple configuration file for xinetd ## Some defaults, and include /etc/xinetd.d/ defaults { #Please note that you need a log_type line to be able to use log_on_success # and log_on_failure. The default is the following : # log_type = SYSLOG daemon info } includedir /etc/xinetd.d
[ ] (3),配置 tftp 服务器
终端执行命令sudo vim /etc/default/tftpd-hpa,将内容修改成
# /etc/default/tftpd-hpaTFTP_USERNAME="tftp"TFTP_DIRECTORY="/tftpboot" sudo chmod 777 /tftpbootTFTP_ADDRESS="0.0.0.0:69"TFTP_OPTIONS="-l -c -s"
[ ] (4),配置/etc/xinetd.d/tftp
然后进入 xinetd.d 文件夹(cd /etc/xinetd.d),查看是否有一个 tftp 文件,如果没有就新建一个,如果有的话就查看内容是否与下面的一致,不一致则修改(sudo vi tftp),内容如下:
service tftp{socket_type = dgramwait = yesdisable = nouser = rootprotocol = udpserver = /usr/sbin/in.tftpdserver_args = -s /tftpboot#log_on_success += PID HOST DURATION#log_on_failure += HOSTper_source = 11cps =100 2flags =IPv4}
其中 server_args 一行是配置服务器的文件存放的位置,就是进行 tftp 传输的时候,都是从该文件夹中搜索文件的
[ ] (5),修改权限
终端执行以下命令:
- sudo chmod 777 /tftpboot
[ ] (6),重启
终端执行以下命令:
- sudo service tftpd-hpa restart- sudo /etc/init.d/xinetd reload- sudo /etc/init.d/xinetd restart
[ ] (7), 本地测试tftp服务器成功搭建
6.ubuntu中搭建nfs服务器
6.1 为什么要搭建nfs服务器
NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的。它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享文件。NFS可以让你的PC通过网络将远端的NFS 服务器共享出来的文件mount到自己的系统中,在客户端看来使用NFS的远端文件就象是在使用本地文件一样。 使用NFS可以使应用程序的开发变得十分方便, 客户端不需要大容量的存储器,更不需要进行映像文件的烧录和下载,只要mount到服务器端的特定目录下,然后运行该目录下的程序即可观察到结果。嵌入式项目中常用nfs来挂载文件系统。
6.2 如何搭建nfs服务器
[ ] (1),安装nfs服务器
终端执行以下命令:
sudo apt-get install nfs-kernel-serversudo apt-get install nfs-common
[ ] (2),将nfs服务器挂载到/home/aston/rootfs
步骤1:在/home/aston下创建rootfs:
终端执行以下命令:
mkdir rootfs cd rootfs pwd(显示/home/aston/rootfs) - 步骤2:配置/etc/exports
终端执行以下命令:
sudo vi /etc/exports
在命令行终端添加:
/home/aston/rootfs *(rw,sync,no_root_squash,no_subtree_check)
[ ] (3),进入/home/aston目录修改rootfs的权限
终端执行以下命令:
cd .. chmod 777 -R rootfs/
[ ] (4), 更新导出nfs服务器到本地并重启nfs服务
终端执行以下命令:
sudo showmount -e sudo exportfs -r(更新) sudo showmount localhost -e(导出本地/home/aston/rootfs) sudo /etc/init.d/nfs-kernel-server restart(重启nfs服务)
[ ] (5),测试nfs服务器是否成功挂载到了/home/aston/rootfs
终端执行以下命令:
sudo mount -t nfs -o nolock localhost:/home/aston/rootfs /opt 【功能:将nfs服务器挂载到opt目录下】 cd rootfs/ touch a.c ls /opt(显示a.c,rootfs目录下的挂载点opt目录下同步了,证明本地测试成功)
IDC-经理-王军