组建自己的局域网(可以将PC机实现为服务器)
最近想要自己组建一个集群,并且可以通过外网访问,查了好些资料,终于成功了!
设备清单:笔记本1:(4g内存,500g硬盘),笔记本2:(12g内存,120g固态硬盘) (笔记本2上装有5台虚拟机,操作系统都为centos 6.8;为了搭建spark集群用)
主要实现的功能是:把笔记本2 虚拟成一个5台服务器的集群,外网可以通过链接这5台服务器的一个名为master的机器,来实现对内部剩余4台机器的访问。并且要做到外部不同外端的inter网络也可对我的机器进行访问。
首先,我们需要了解一些知识:
1虚拟网络设置
虚拟网卡名称
|
使用网段
|
子网掩码
|
VMnet1(即host网卡)
|
192.168.10.0
|
255.255.255.0
|
VMnet2(默认没有安装)
|
192.168.20.0
|
255.255.255.0
|
VMnet3(默认没有安装)
|
192.168.30.0
|
255.255.255.0
|
VMnet4(默认没有安装)
|
192.168.40.0
|
255.255.255.0
|
VMnet5(默认没有安装)
|
192.168.50.0
|
255.255.255.0
|
VMnet6(默认没有安装)
|
192.168.60.0
|
255.255.255.0
|
VMnet7(默认没有安装)
|
192.168.70.0
|
255.255.255.0
|
VMnet8(即NAT网卡)
|
192.168.80.0
|
255.255.255.0
|
2虚拟网卡(虚拟交换机)的关系
选择网络连接属性
|
意义
|
Use bridged networking(使用桥接网络)
|
使用(连接)VMnet0虚拟交换机,此时虚拟机相当于网络上的一台独立计算机,与主机一样,拥有一个独立的IP地址,效果如图2-56所示
|
Use network address translation(NAT)(使用NAT网络)
|
使用(连接)VMnet8虚拟交换机,此时虚拟机可以通过主机单向访问网络上的其他工作站(包括Internet网络),其他工作站不能访问虚拟机,效果如图2-57所示
|
Use Host-Only networking(使用主机网络)
|
使用(连接)VMnet1虚拟交换机,此时虚拟机只能与虚拟机、主机互连,与网络上的其他工作站不能访问,如图2-58所示
|
Do not use a network connection
|
虚拟机中没有网卡,相当于“单机”使用
|
本文出自 “王春海的博客” 博客,请务必保留此出处http://wangchunhai.blog.51cto.com/225186/61597
1. 文中符号的说明:
图2.1 网关举例
<交换机/多接口网桥>: 交换机和网桥的功能类似,基本上可以认为是一样的。如果真要说差异在哪里:两点,一是接口数量不同,交换机比网桥的接口数量多;二是功能的实现方式不同, 功能是指交换机和网桥使用桥接技术,实现方式不同是指交换机通过专门的<集成电路/芯片>来实现桥接功能,而网桥则没有专门的处理芯,所以交 换机比网桥更快更智能。
接口(interface): 路由器,交换机上那种直接插线的就称为接口。
-------------- 邪恶的分割线 ------------------------- 以上偏向硬件,以下偏向软件 ---------------------------
端口(port): 大家都知道标识WWW服务的是80,标识FTP服务的是21,这些数字就称为端口。比如www.baidu.com的IP是119.75.216.30, 那么访问www.baidu.com实质上就是访问了119.75.216.30的80端口119.75.216.30:80。
路由服务器: 提供路由<功能/服务>的服务器。如在Windows 2003 Server上加入路由服务器角色就能提供路由<功能/服务>,相当于一台路由器提供的路由<功能/服务>。
DHCP服务器: (Dynamic Host Configuration Protocol, 动态主机配置协议) 提供DHCP<功能/服务>的服务器,是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:1. 给内部网络或网络服务供应商自动分配IP地址;2. 给用户或者内部网络管理员作为对所有计算机作中央管理的手段。如在Windows 2003 Server上加入DHCP服务器角色就能提供DHCP<功能/服务>,相当于一台路由器提供的DHCP<功能/服务>。
DHCP的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的:网络主机使用 BOOT ROM 而不是磁盘启动并连接上网络,BOOTP则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一一对应会造成非常严重的资源浪费。DHCP 可以说是 BOOTP 的增强版本,它分为两个部份:一个是服务器端,而另一个是客户端。所有的 IP 网络设定数据都由 DHCP 服务器集中管理,并负责处理客户端的DHCP 要求;而客户端则会使用从服务器分配下来的IP环境数据。比较起 BOOTP,DHCP 透过 "租约" 的概念,有效且动态的分配客户端的 TCP/IP 设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP Client 的需求。DHCP 的分配形式为:首先,必须至少有一台 DHCP服务器 工作在网络上面,它会监听网络的 DHCP 请求,并与客户端磋商TCP/IP 的设定环境。
DHCP有三种IP分配方式:1. Manual Allocation (人工分配):获得的IP也叫静态地址,网络管理员为某些少数特定的在网计算机或者网络设备绑定固定IP地址,且地址不会过期;2. Automatic Allocation (自动分配):一旦DHCP 客户端第一次成功的从DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址;3. Dynamic Allocation (动态分配):当DHCP客户端第一次从DHCP 服务器端租用到IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。动态分配显然比手动分配更加灵活,尤其是当您的实际IP 地址不足的时候。
NAT服务器: (Network Address Translation, 网络地址转换) 提供NAT<功能/服务>的服务器:就是把在内部网络中使用的IP地址转换成外部网络中使用的IP地址,把不可路由的IP地址转化成可路由的 IP地址,对外部网络隐蔽内部网。NAT不仅完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。如 在Windows 2003 Server上加入NAT服务器角色就能提供NAT<功能/服务>,相当于一台路由器提供的NAT<功能/服务>。
①如下图2.2。这个client 的gateway 设定为NAT主机,所以当要连上Internet 的时候,该封包就会被送到NAT 主机啦,这个时候的封包Header 之source IP 为192.168.1.100 ;
②而透过这个NAT 主机,她会将client 的对外联机封包的source IP ( 192.168.1.100 ) 伪装成 ppp0 ( 假设为拨接情况)这个接口所具有的公有IP 啰,因为是公有IP 了,所以这个封包就可以连上Internet 了!同时 NAT 主机会记忆这个联机的封包是由哪一个( 192.168.1.100 ) client 端传送来的;
③由Internet 传送回来的封包,当然由NAT 主机来接收了,这个时候, NAT 主机会去查询原本记录的路由信息,并将目标 IP 由 ppp0 上面的公共 IP 改回原来的192.168.1.100 ;
④最后则由 NAT 主机将该封包传送给原先发送封包的 Client !
图2.2 NAT流程示意
3. 硬件设备与软件(虚拟)设备的理解
先举个例子,见图3.1,路由器和带双网卡并安装路由及防火墙<服务/功能>的服务器,组建一个多主机网络。其中安装在Windows 2003 Server上的路由<服务器角色/服务/功能>不正是一台“虚拟路由器”吗?使得Windows 2003 Server像一台真的路由器一样在这个网络中发挥作用。实际上,如果在这台Windows 2003 Server上再装上软件防火墙,用这样的软件方式也不正是虚拟出了一个网路上确实存在的硬件防火墙一样吗?
所以,从功能出发来看,<物理/实际/硬件>设备和<虚拟/软件>设备是同一的,可以将<虚拟/软件>设备看成是实 实在在的硬件设备。但是,从设计和性能出发,两者有质的不同,前者是由专门设计的电子集成电路和微程序来实现功能,而后者是由软件编程交由CPU处理来完 成,前者的性能远胜过后者。
当这些概念清晰以后,再来看虚拟机以及虚拟设备就一目了然了。我们大可以将以软件方式虚拟出的硬件设备大大方方的放在我们的网络结构中,就像他们真实存在一样。
4. VMware Workstation的虚拟网络
4.1. 虚拟网络组件
虚拟<网卡/网络适配器>:见图4.1。安装一个虚拟PC时自动安装一块虚拟<网卡/网络适配器>,可添加多块虚拟网卡。
虚拟交换机:见图4.1。安装VM时就自动安装了10台虚拟交换机。
虚拟网桥:只在虚拟网卡连接到VMnet0 (default Bridged)虚拟交换机上才应用虚拟网桥。
虚拟DHCP服务器:见图4.2。在虚拟网卡连接到VMnet1或VMnet8虚拟交换机时,自动安装运行虚拟DHCP服务器并连接至这台虚拟交换机。
虚拟NAT服务器:见图4.3。只在虚拟网卡连接到VMnet8 (NAT)虚拟交换机时才自动安装运行虚拟NAT服务器,并连接至这台虚拟交换机。
主机虚拟<网卡/网络适配器>:见图4.4。相当于一块确实存在的网卡,是连接主机和虚拟交换机用的网卡。
图4.1 虚拟网卡及虚拟交换机
图4.2 虚拟DHCP服务器
图4.3 虚拟NAT服务器
图4.4 主机虚拟<网卡/网络适配器>
4.2. VMnet0 (default Bridged)
4.2.1. 用到的虚拟网络组件
虚拟<网卡/网络适配器>
虚拟交换机
虚拟网桥
4.2.2 桥接网络
在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器。不过你需要多于一个的IP地址,并且需要手工 为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。如果你想利用VMware在局域网内新建一个 虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
4.2.3. 虚拟网络结构图示
可将虚拟机模拟接入主机所在的局域网。
4.2.4. 一般家庭组网虚拟网络结构
4.3. VMnet1 (Host-only)
4.3.1. 用到的虚拟网络组件
虚拟<网卡/网络适配器>
虚拟交换机
虚拟DHCP服务器
主机虚拟<网卡/网络适配器>
4.3.2. host-only网络
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用Host-only模式。在Host-only模式中,所有的虚拟系统是可 以相互通信的,但虚拟系统和真实的网络是被隔离开的。可以利用Windows XP里面自带的Internet连接共享(实际上是一个简单的路由NAT)来让虚拟机通过主机真实的网卡进行外网的访问。虚拟系统的TCP/IP配置信息 (如IP地址、网关地址、DNS服务器等),都是由VMnet1(Host-only)虚拟网络的DHCP服务器来动态分配的。如果你想利用VMware 创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择Host-only模式。
在Host-Only网络中,Host-Only网络被用来设计成一个与外界隔绝的网络,其实Host-Only网络和NAT网络非常相似,唯一不同的地 方就是在Host-Only网络中,没有用到NAT服务,没有服务器为VMnet1虚拟交换机做路由,它当然就没有办法访问Internet啦,可是如果 我的Host要和VPC通信呢?怎么办?对了!当然就要用到VMware Network Adapter VMnet1这块虚拟网卡了。
可以看到,在Host-Only网络下,VPC的Default Gateway被设置为NULL,这是由于没有使用虚拟NAT服务器的缘故,但是,即便使用route add命令加上某个地址做它的路由,它仍然不能访问Internet(实际上也没有地址可加)。这样,我的VPC虽然没有办法访问Internet,但是 仍然可以和我的Host进行通信。
事实上,如果我们足够BT,也可以在Host上来以VMware Network Adapter VMnet1虚拟网卡来做路由,比如,我们可以用Windows 2000的RRAS来做,这样的话,处于Host-Only网络下的Guest(VPC)就又可以上网了,他们只需要使用route add命令把自己的Default Gateway改成VMware Network Adapter VMnet1网卡即可,不过这样不推荐,也没有必要。如果仅仅想让虚拟机访问互联网,nat方式是最简单的,基本上不需要做什么操作,就能自动连接上。这 也是默认的设置参数。
作为开发人员,我们通常需要主机,虚拟机,开发板 具有独立的地址,能互相访问。那么我们可以使用下面两种网络配置方式:
bridge and host-only。
1. 桥接是最简单的方式,一般是你有一个网关,你的windows主机和你VMWare里的各种unix/linux系统,都通过这个网关来通讯。
2. 而主机方式,是在没有网络的情况下, windows主机操作系统能与VMWare虚拟机上的客户操作系统(VPC)正常通讯。我们从VMWare的Virtual Network Edit里可以看出,vnet0是用来实现桥接模式的,vnet1是用来实现主机模式的。主机和客户机是直接通过vnet1通讯的。在主机方式 下,windows主机操作系统不需要配置什么了,我们打开cmd.exe,输入ipconfig,就知道VMnet1的ip地址是什么了,因为这个ip 就是VMWare虚拟机上的客户操作系统(VPC)的网关ip地址。我的VMWare虚拟机上一般装的是redhat,因为linux系列里redhat 是最常见的,公司用的有suse, slaceware,unix使用solaris,freeBSD。那么我们在客户操作系统上配置网络,主要注意的是,网关的IP就是你在windows 主机操作系统里用ipconfig命令查看到的VMnet1的ip地址。例如:我在windowsXP主机下用ipconfig看到VMnet1的IP地 址是192.168.159.1,那我在redhat里就把网关IP配置为192.168.159.1,把redhat的IP配置为 192.168.159.2。我们从windowsXP主机cmd.exe里ping 192.168.159.2,如果redhat启动sshd服务器, 我们可以telnet 192.168.159.2 22,若连接成功则一切安装OK,说明我们从windowsXP主机连接redhat系统没有问题了。反之,我们怎么从redhat系统连接 windowsXP主机, 从redhat系统角度来看,VMnet1的IP地址就是windowsXP主机的地址,在redhat系统里ping 192.168.159.1, 再telnet 192.168.159.1 139, 若连接成功则一切安装OK,说明我们从redhat系统连接windowsXP主机没有问题了。
想学习unix/linux上c/c++开发或者其它,一个好方法就是在windows系统上装VMWare,然后在WMWare里安装各种unix /linux系统,通过crt、winscp等shell工具来连接unix/linux系统进行操作, 这样既不会因为没有windows系统而做其它事不方便,又能在一台pc机器上安装各种unix/linux系统。
4.3.3. 虚拟网络结构图示
4.3.4. 一般家庭组网虚拟网络结构
4.4. VMnet8 (NAT, Network Address Translation)
4.4.1. 用到的虚拟网络组件
虚拟网<网卡/网络适配器> (虚拟网卡VMnet8)
虚拟交换机 (VMnet8)
虚拟DHCP服务器
主机虚拟<网卡/网络适配器>
虚拟NAT设备
4.4.2. NAT网络
在NAT网络中,会使用到VMnet8虚拟交换机,Host上的VMware Network Adapter VMnet8虚拟网卡被连接到VMnet8交换机上,来与VPC进行通信,但是VMware Network Adapter VMnet8虚拟网卡仅仅是用于和VMnet8虚拟交换机网段通信用的,它并不为VMnet8网段提供路由功能,处于虚拟NAT网络下的VPC是使用虚拟 的NAT服务器连接的Internet的。
这时候,你的VPC和Host就可以实现互访了,并且如果你的Host此时已经连接到了Internet,那么你的VPC也就可以连上Internet 了。那么VMware Network Adapter VMnet8虚拟网卡在这里扮演了一个什么角色呢?它仅仅是为Host和NAT虚拟网络下的VPC通信提供一个接口,所以,即便Disable掉这块虚拟 网卡,Guest仍然是可以上网的,只是Host无法再访问VMnet8网段而已。
这种方式的时候,主机需要开启vmdhcp和vmnat服务。
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问 互联网。由于NAT服务协议对外部网络隐蔽内部网络,因此虚拟系统可以通过NAT服务器访问宿主机所在局域网中的其他真实主机,而反过来却不行,即宿主机 以及宿主机所在网络的其他主机(更何况其它外网)不能通过NAT服务器访问虚拟机上的操作系统。(但是可以通过修改相关路由表,以让虚拟机和外网中除宿主机以外的其他主机通过VMnet1/8虚拟网卡互访。如4.3.4.图中的红色字体。对宿主机网络来说,VMnet1/8网卡被视为通往虚拟网络的网关,反之亦然)采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。 如果你想利用VMware安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
4.4.3. 虚拟网络结构图示
4.4.4. 一般家庭组网虚拟网络结构
------------------------------------------------------------------------------------------------------------------------------------------
举例:主机为XP系统,VMare上为Linux系统,Nat连接方式,设置如下:
1. 虚拟机设置:
Edit -> Virtual Network Editor... -> DHCP选项卡。选中VMnet8,点Properties,设置其DHCP地址池,本VMare为:192.168.244.128~192.168.244.254。
换NAT选项卡,其Gateway IP address为:192.168.244.2。
2. 设置虚拟网卡
在主机的 网络连接 里,设置主机虚拟网卡VMnet8的IP地址为 192.168.244.1,子网掩码为:255.255.255.0,默认网关为:192.168.244.0。
3. 设置VMare上的Linux IP地址为:192.168.244.128。该地址值要在DHCP地址池范围内。
4. 设置主机网卡IP为:192.168.1.15,子网掩码为:255.255.255.0,默认网关为:192.168.1.1。
测试:
主机ping 虚拟机:ping 192.168.244.128
虚拟机 ping 主机:ping 192.168.1.15
——————————————————————————————————————————————————————————————————————
在组网过程中,主要遇到的问题是:
通过vmware的桥接模式是,出现子路由器与主路由器的地址冲突,主路由器默认是DHCP的模式,所以可以将其改为静态分配地址的模式,但是有一个不好出就是以后要加入联网的设备,则需要手动去改路由,分配地址,很麻烦。
所以,我选择用NAT的模式,这也是许多大公司使用的模式,首先需要将vmware设置为NAT的模式,且需要设置内网ip与VMnet8虚拟网卡的ip地址在同一网段
所以这里我设置的内网ip为
名称 | ip |
master | 192.168.80.2 |
worker1 | 192.168.80.3 |
worker2 | 192.168.80.4 |
worker3 | 192.168.80.5 |
worker4 | 192.168.80.6 |
这样就可以了
最后,得要做一些防火墙的修改,否则,无法进行ssh登陆。
组建自己的局域网(可以将PC机实现为服务器)的更多相关文章
- PC机做ISCSI存储服务器故障
物理主机:IBM x3650 6块SAS盘,分为两组RAID.一组系统,一组数据. zabbix监控告警情况如下: 早上上班,发现服务器无法连接,网络无法通信.让IDC重启,还是无法恢复正常. 去了机 ...
- 基于C/S模式的android手机与PC机通信系统的开发
原文链接: http://blog.csdn.net/nupt123456789/article/details/8213486 基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 ...
- 基于Packet Tracer 组建智能公司局域网
背景及要求 ...
- 虚拟机 开发板 PC机 三者之间不能ping通的各种原因分析
这个问题事实上也相对照较简单.可是非常多网友都给我发消息说 遇到不能ping,每一个人都得回答一次确实显得心有余而力不足.如今我对遇到这几种问题给出最完整的解决方式. (说实话基本上也仅仅要这几种可能 ...
- (原创)理解主机设备(PLC,PC机)之间的以太网通信
主机设备:PC机,PLC 网络设备:家用路由器 局域网包括了有线局域网和无线局域网(WIFI).怎么去使用2者? 网络设备的职责最终目的为了帮助2台主机的数据传输.路由器,交换机范围不同,目的相同.在 ...
- 基于X86平台的PC机通过网络发送一个int(32位)整数的字节顺序
1.字节顺序 字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有小端.大端两种字节顺序.小端字节序指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处:大端字节序是高字节数据存 ...
- 建立开发板与PC机之间的nfs服务器
ARM开发板与PC通过NFS 网络文件系统挂接,很方便文件的移动,也为我们的开发带来了方便.接下来,我就详细的介绍下如何建立ARM与PC机的挂接. 我是用的UBuntu系统. 首先,我们需要在主机上安 ...
- intel 系列的PC机处理器是大端的还是小端的?
intel 系列的PC机处理器是大端的还是小端的?由于要安装oracle,需要知道是大端机器还是小端的,你好,现在流行的PC,是微型处理器,也就是所谓的小端处理器. 大端处理器是由若干个微型处理器有机 ...
- php或js判断网站访问者来自手机或者pc机
php或js判断网站访问者来自手机或者pc机 2013年9月26日,在弄wtuonline的时候为了区分用户是来自手机版浏览器还是pc,针对不同平台选择不同的网站版本,最终总结如下: ...
随机推荐
- Nginx使用教程(四):提高Nginx网络吞吐量之buffers优化
请求缓冲区在NGINX请求处理中起着重要作用. 在接收到请求时,NGINX将其写入这些缓冲区. 这些缓冲区中的数据可作为NGINX变量使用,例如$request_body. 如果缓冲区与请求大小相比较 ...
- postgreSQL 应用case when的例子
selectname,md5(indvl_id_nbr) as indvl_id_nbr,case when char_length(indvl_id_nbr)=18 or char_length(i ...
- nginx + uwsgi 部署 Django+Vue项目
nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用dj ...
- nfs+rsync备份
我们先来做rsync 环境说明:1.操作系统:centos7 2.IP:192.168.7.226简称A&192.168.7.174 简称B 3.192.168.7.226做rsync的客户端 ...
- UVA1618-Weak Key(RMQ)
Problem UVA1618-Weak Key Accept: 103 Submit: 588Time Limit: 3000 mSec Problem Description Cheolsoo ...
- Nginx 反向代理 -- 一路上的坑转载
个人学习之用转子https://www.cnblogs.com/xjbBill/p/7477825.html 前些天刚过来新公司上班,公司的项目都挺多的,只不过项目都是第三方公司团队开发的,现在本公司 ...
- ssm框架的整合搭建(三)
mybatis逆向工程工具类的使用---mybatis generator 项目结构 配置文件 <?xml version="1.0" encoding="UTF ...
- 【vue】使用el-table时,实现批量选中效果
简单demo ①页面: <template> <el-table ref="multipleTable" :data="tableData3" ...
- rabbitmq的五种工作模式
abbitmq的五种工作模式
- metamask的使用
Metamask 我是在火狐浏览器安装它的,所以一开始安装了Firefox:http://www.firefox.com.cn/ 然后是下载metamask,它的官方网站是https://metama ...