浅谈windows操作系统下虚拟ip

浅谈windows操作系统下虚拟ip,第1张

生活场景中,经常会看到,局域网内,多个不同客户端设备,将数据发送到服务器上。而服务器要求一个客户端一个IP。

如图1-1所示,多个客户端A、B、C通过路由器M连接到服务器N。

作为一名“搬砖”码农,要把服务器最大连接客户端设备的数量,即“极限”值的需求考虑进去,进行设计、编要写软件,那么要如何验证服务器端是否能承受极限个设备端的连接量呢?在实际测试中,是否必须使用多个真实的物理设备端连接服务端进行验证呢?答案是,否。

我们可以在同一台客户端设备上模拟多个虚拟IP,并发多个网络线程,将数据发送到服务端。如图1-2,客户端A虚拟多个IP。而LoadRunner压力测试软件是可以根据各种协议并发测试,且虚拟多个IP。

不过今天只是浅谈windows虚拟IP的原理和方法。

虚拟IP我们需要了解两个知识点。TCP/IP四层模型和ARP。

TCP/IP四层模型:

如图1-3。

在一个局域网内,如图A,设备A发送数据到服务器M时,需要知道服务器的IP和MAC地址,而IP地址是一个逻辑 地址,在以太网中MAC地址是真正用来进行数据传输的物理地址,但是网络层和传输层只知道服务器M的IP地址,那么服务器MAC地址要如何获取呢?

因为每台主机中都有一个ARP高速缓存,存储同一个网络内的IP地址与MAC地址的对应关系,以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个MAC地址发送数据。

ARP:

ARP又叫做地址解析协议,主要是用来将网络中的协议地址解析为我们本地的协议地址,就是将IP地址解析为MAC地址,工作在链路层。

如下图1-4所示,这是我的同一个局域网内的IP与MAC地址映射表。

虚拟IP:

虚拟IP主要是用来网络地址转换,网络容错和可移动性。在一台设备上虚拟的IP并不是真实的IP,所有通过这个虚拟IP发出或者接收的数据包,都会通过真实的MAC地址流出或者流进。

方法:

一. 使用loadrunner等专业测试软件。

二. Windows操作系统netsh命令提供增加、删减IP的方法。

详细介绍方法二:

硬件:台式或者笔记本(可插网口的PC端),适配网线,路由。

1. 使用网线连接PC端与路由。并设置PC端为固定IP(我的IP是192.168.1.100),网段与路由一致。

2. 打开网络和共享中心,查看网络属性是以太网还是本地连接。我的PC端是以太网。

3. 增加IP的方法,通过终端输入命令:netsh interface ipv4 add address name="以太网" addr=192.168.1.101 mask=255.255.255.0

4. 删减IP的方法,通过终端输入命令:netsh interface ipv4 delete address name="以太网" addr=192.168.1.101 gateway=all

为了方便,以上命令可以写进.bat脚本。

最后判断虚拟IP是否成功,可使用ipconfig查看网络信息。

    前段时间在调试时,将外网接入内部局域网,然后使用向日葵远程连接调试。Windows一个网络适配器只能设置一个IP地址,后面才发现可以通过网络子接口来设置虚拟IP,内部网络通过正常的IP地址通信,外部网络通过子接口来进行通信,即一个物理网口上连接两个子网。Windows可以设置网络子接口,笔者就延申到Linux系统上,总结在不同平台设置网络子接口的方法。需要明确的是,虚拟IP的数据还是经过真实的物理网络接口。简而言之,网卡设备都有一个MAC地址,但是却可以有多个网络层IP地址。

    本文以Windows10和CentOS8为例。

 Windows平台上:

    微软官网对于网络子接口有这样的描述:

1)一个逻辑IP网络正在使用中,并且此计算机需要使用多个IP地址才能在该网络上进行通信。

2)正在使用多个逻辑IP网络,并且此计算机需要一个不同的IP地址才能与每个不同的逻辑IP网络进行通信。

    当不使用“常规”选项卡上的“自动获取IP地址”时,才可以使用“高级TCP/IP设置”进行此网络连接,来完成高级IP寻址。在设置里面,Interface metric 接口度量标准(跃点数)可以设置该接口的优先级,接口度量标准的值越小,表示使用该接口的优先级越高。自动度量标准(自动跃点),最高速度的接口具有最低的接口度量值,优先级越高。

Linux平台上:

    Linux平台上虚拟ip基本上都用于高可用的架构上,比如keepalived就是通过托管VIP里完成飘逸,可以参考笔者以前的文章-Keepalived让树莓派也可以VIP漂移。其实这一篇文章对于keepalived也会有很好的理解了。看一下文章里面的Keepalived后通过ip addr查看的结果。

    VRRP协议来通信完成心跳检测,然后使用辅助IP的ip addr add 来添加虚拟IP地址,主用不在线就del掉VIP,然后在从机上add 同样的VIP。为什么不是ifconfig命令呢,那就需要你仔细看看关键信息找区别了,如果你安装了的话可以使用ifconfig来确定是否能够查看到VIP。

    接下里我们就看看在Linux中创建虚拟IP有两种方法,分别是:别名IP(IP aliases)和辅助IP(secondary IP addresses)。

    1、别名IP是通过ifconfig命令去创建和操作的虚拟ip。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 up

    删除别名IP,将up改为down。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 down

    如果开机就需要别名IP地址的话,需要到/etc/sysconfig/network-scripts目录下新建一个子接口来永久性修改配置文件。将原ifcfg-enp0s3文件复制后,然后修改其中的IP地址信息。

    cp ifcfg-enp0s3 ifcfg-enp0s3:1

    为了方便也可以将ifconfig命令去创建和操作的虚拟ip的命令加入到开机启动中,详情参考笔者以前的文章-Linux设置脚本开机启动的四种方法。

2、辅助IP是由linux的ip命令去创建和操作的。

sudo  ip addr add 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    设置完成后,也可以通过ifconfig来查看。但是如果在命令后面不添加label enp0s3:1的话,那么ifconfig就不能查看了。

    删除辅助IP,将add替换成del即可。

sudo  ip addr del 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    辅助IP需要持久化的话,只能将ip命令去创建和操作的虚拟ip的命令加入到开机启动中了。

    路由器通信设备:

    路由器接口有限, 一个物理接口可以配置子接口(逻辑接口)的方式来实现一当多的功能。具体配置参考笔者的文章-eNSP模拟实验-单臂路由实现VLAN间通信。

一、虚拟机IP配置

1.进入新建的虚拟机,打开"terminal"命令窗口;

2.输入命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33

    [注1]:上述命令最后的"ens33"是主机的以太网接口网卡名称,可以在"terminal"命令窗口查看,用命令:

      cd / etc/sysconfig/ network-scripts/

      ll    #查看主机以太网接口网卡名称

2.进入vi命令模式后,按"i"键进入编辑模式进行一下操作:

    ①修改并确定:

        ONBOOT="yes"

        BOOTPROTO="static"

    ②底行增加:

        IPADDR="192.168.137.130"(最后这个数字选择128-254之间都可以)

        NETMASK="255.255.255.0"

        GATEWAY="192.168.137.2"

        DNS1="  "(←这里需要输入自己主机的DNS第一个哟)

3." shift➕:"进入尾行模式,输入wq保存退出即可。

    [注2]:直接以上操作可能会出现有关"root"权限的问题,先用命令"su root"获得修改权限。

4.输入命令:

        service network restart    #重启网络

        service network status    #查看网络状态

二、Windows的"ping"操作

1.打开Windows的"cmd"命令窗口,输入:

        ping 192.168.137.130

2.打开虚拟机浏览器检查网络是否通畅。

    [注3]:对于没有桌面的虚拟机界面,可以在虚拟机命令窗口直接输入"ping 8.8.8.8"进行检测,用" Ctrl➕C"停止。

        到了这里,虚拟机配置可访问外网静态IP就完成了哟。

已同步至: 配置可访问外网静态IP_comer_liu的博客-CSDN博客


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/72340.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-02
下一篇2023-03-02

发表评论

登录后才能评论

评论列表(0条)

    保存