VM虚拟机上的网络设置

1. 前言 一般linux编程时,经常都会使用虚拟机跑linux系统,vmware workstation pro 虚拟机里的系统不管是linux、还是windows、还是其他系统想要上网就必须配置好虚拟网络连接方式。vmware workstation 支持共享、桥接,选择网卡的方法自定义上网方式。
如果虚拟机里的系统想要拥有一个独立的ip地址(路由器认为是一台新设备),那么就需要设置成桥接模式。
如果虚拟机里的系统只想要上外网,而连接的wifi又需要输入密码,或者像校园网这种,一个账号不能多台设备同时使用这种,那么就设置成nat共享方式即可。
想要在虚拟机你跑的系统愉快的上网,进行各种网络编程、服务器搭建,那么第一步首先得先把系统接入网络才行。
下面章节就介绍ubuntu16.04、readhat6.3系统下如何配置网络实现网络连接。
2. ubuntu 16.04 设置网络连接方式 2.1 打开虚拟机的网络编辑器 2.2 选择桥接电脑当前连接网络的网卡 比如: 当前电脑使用有线连接路由器,那么就选择桥接到有线网卡。如果当前电脑使用的是wifi方式连接路由器,那么就选择桥接到无线网卡。
如果不知道自己网卡的名字是哪一个怎么办?
可以在windows下打开网络适配器进行查看。
2.3 设置虚拟机的联网方式 2.4 测试网络是否畅通 3.5 编写代码测试网络通信 使用代码创建一个tcp服务器,然后windows系统通过网络调试助手连接进来,进行通信。
#include #include /* see notes */#include #include #include #include #include #include #include /* according to earlier standards */#include #include #include /*设置网卡的ip地址$ sudo ifconfig eth0 192.168.1.23 服务器创建流程:1. 创建socket套接字(文件描述符)---类型open函数一样2. 绑定端口号(创建服务器:提供端口号和ip地址)3. 设置监听的客户端数量(设置待处理的队列最大缓存待连接的客户端数量)4. 等待客户端连接(被动--阻塞): 多线程和多进程方式并发处理客户端连接。5. 实现通信(客户端连接成功)*/int main(int argc,char **argv){ if(argc!=2) { printf(参数: ./tcp_server \n); return 0; } /*1. 创建socket套接字*/ int sockfd; sockfd=socket(af_inet,sock_stream,0); if(sockfd<0) { printf(服务器:套接字创建失败.\n); return 0; } /*2. 绑定端口号*/ struct sockaddr_in addr; addr.sin_family=af_inet; //ipv4 addr.sin_port=htons(atoi(argv[1])); //65535 //addr.sin_addr.s_addr=inet_addr(192.168.2.16); addr.sin_addr.s_addr=inaddr_any; //本地所有ip地址 0.0.0.0 if(bind(sockfd,(const struct sockaddr *)&addr,sizeof(struct sockaddr))) { printf(服务器:端口号绑定失败.\n); return 0; } /*3. 设置等待连接的客户端数量*/ listen(sockfd,10); /*4. 等待客户端连接(被动--阻塞)*/ struct sockaddr_in client_addr; socklen_t addrlen=sizeof(struct sockaddr_in); int client_sockfd; //客户端的套接字 client_sockfd=accept(sockfd,(struct sockaddr *)&client_addr,&addrlen); if(client_sockfd<0) { printf(服务器:处理客户端的连接失败.\n); return 0; } /*5. 实现数据通信*/ printf(连接上的客户端ip地址:%s\n,inet_ntoa(client_addr.sin_addr)); printf(连接上的客户端端口:%d\n,ntohs(client_addr.sin_port)); char buff[100]; int cnt; while(1) { cnt=read(client_sockfd,buff,100); buff[cnt]='\0'; printf(服务器接收的数据:%d,%s\n,cnt,buff); sleep(5); } /*6. 关闭套接字*/ close(client_sockfd); close(sockfd); return 0;} 3. redhat 红帽6.3系统 3.1 设置网络 设置方法与ubuntu 系统一样。
3.2 关闭防火墙

电视知识问答(三)
上海灵动微电子获数千万元融资扩大MM32生产
电能管理:提升能源效率,降低运营成本
Snapdragon的875将采用5纳米节点的制造
三维可视化有助于PCB的设计
VM虚拟机上的网络设置
基于工业4G网关的高温监测及预警方案
华为P20带来6.01寸刘海屏 F1.4光圈或有可能
六方面建议推动VR产业可持续发展
禾赛首款首款以高度命名的激光雷达 为什么要做的如此之薄
直流有刷电机驱动电路
如何开始学单片机?如何开始上手?
透过先进的MOCVD技术降低LED制造成本
基本半导体完成数亿元B轮融资,打造行业领先的碳化硅IDM企业
拓邦软件信息安全管理体系通过SGS认证审核
美国会议员提出一项针对中国电信企业中兴通讯的法案
导电胶点胶加工时点胶机编程的几种方式介绍
CanSM模块如何处理Busoff等问题呢
小米5G新机已获得无线电发射型号核准
华为智能手表专利曝光:支持边框触控技术