怎么在VMware Workstation 虚拟机里配置网络(ubuntu、readhat)

作者阿里云代理 文章分类 分类:windows图文教程 阅读次数 已被围观 3914



1. 前言

一般Linux编程时,常常都会运用虚拟机跑Linux体系,VMware Workstation Pro 虚拟机里的体系不管是Linux、还是windows、还是其他体系想要上网就必须装备好虚拟网络衔接办法。VMware Workstation 支撑同享、桥接,挑选网卡的办法自定义上网办法。

如果虚拟机里的体系想要具有一个独立的IP地址(路由器认为是一台新设备),那么就需要设置成桥接形式。

如果虚拟机里的体系只想要上外网,而衔接的WIFI又需要输入暗码,或者像校园网这种,一个账号不能多台设备同时运用这种,那么就设置成NAT同享办法即可。

想要在虚拟机你跑的体系愉快的上网,进行各种网络编程、服务器搭建,那么第一步首先得先把体系接入网络才行。

下面章节就介绍ubuntu16.04、readhat6.3体系下如何装备网络完成网络衔接。

2. ubuntu 16.04 设置网络衔接办法

2.1 打开虚拟机的网络编辑器

img

2.2 挑选桥接电脑当时衔接网络的网卡

比方: 当时电脑运用有线衔接路由器,那么就挑选桥接到有线网卡。如果当时电脑运用的是WIFI办法衔接路由器,那么就挑选桥接到无线网卡。

image-20211202140019257

如果不知道自己网卡的姓名是哪一个怎么办?

可以在windows下打开网络适配器进行查看。

image-20211202140032972

image-20211202140055849

image-20211202140117912

2.3 设置虚拟机的联网办法

image-20211202140145638

image-20211202140200409

image-20211202140220072

2.4 测试网络是否疏通

image-20211202140249862

image-20211202140309408

image-20211202140328210

image-20211202140345585

image-20211202140401526

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 体系相同。

image-20211202140446344

image-20211202140501355

image-20211202140514919

image-20211202140526372

image-20211202140538259

3.2 封闭防火墙

image-20211202140613370




本公司销售:阿里云新/老客户,只要购买阿里云,即可享受折上折优惠!>

我有话说: