一、简介
1. 虚拟机的网络设置
- 目的1:让物理机和虚拟机之间可以互相通信
- 目的2:让虚拟机可以上网
- 目的3:让虚拟机之间可以互相通信
2.网络的类别
类别1:实现物理机和虚拟机之间通信
- 物理机只要安装了vmware之后,就会自动的在物理机中生成两个虚拟网卡【交换机】
- 只要让虚拟机链接到任意一个虚拟网卡,就可以实现让虚拟机和物理机通信
类别2:虚拟机可以上网
- 方法一:用桥接方法
缺点:需要借助路由器才能实现优点:可以让外部的电脑直接访问虚拟机
- 方法二:用NAT方法
缺点:虚拟机可以上网,但是外部主机无法访问虚拟机
优点:只要物理机能上网,虚拟机就能一定能上网。虚拟机可以用DHCP自动获取ip
类别3:虚拟机之间可以互相通信
- 方法一:虚拟机都连接到vmnet8/vmnet1
- 方法二:虚拟机都连到交换机,也就是说虚拟机都设置为桥接
- 方法三:虚拟机都设置为NAT模式
- 方法四:将虚拟机加入到不同的虚拟网络中
3. 虚拟机与物理机通信
- 第一步:修改虚拟机,让虚拟机连接到物理机的网卡(vmnet8)
- 第二步:修改物理机的vmnet8的ip地址
- 第三步:修改虚拟机的网卡地址
- 只需要物理机网卡和虚拟机网卡在同一个网段就可以了
- 第四步:验证物理机和虚拟机是否可以通信
二、网卡配置文件
2.1 网卡配置文件的路径
/etc/sysconfig/network-scripts/
网卡配置文件的名称
ifcfg-xxx #xxx为网卡名
网卡配置文件的内容
TYPE=Ethernet # 指定网卡类型是以太网
BOOTPROTO=static|dhcp # 指定ip地址类型, static是静态ip,dhcp为动态ip
NAME=ens33 # 指定网卡名称
DEVICE=ens33 # 指定网卡名称
ONBOOT=yes|no # yes:设置网卡开机的时候,自动激活,no:开机不激活网卡
IPADDR=10.10.204.123 # 指定网卡的ip地址
NETMASK=255.255.0.0 # 指定子网掩码
GATEWAY=10.100.255.254 # 指定网关
DNS1=8.8.8.8 # 指定主DNS
DNS2=114.114.114.114 # 指定备用DNS
UUID=c5c30a8d-2d61-44ac-a882-2786a7953c59 # 这个可以删掉,这个是唯一标识网卡的
id【两个网卡的uuid不能相同】
HWADDR=cc:xx:xx:xx:xx:xx # 指定网卡的mac地址,也是唯一的标识【两个网卡的mac地址不
能相同】
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
2.2 虚拟机的网卡配置
让虚拟机能上网
- 方法1:nat方法 【接下来的操作步骤用此方法】
- 前提:物理机必须能上网
- 用此方法不需要配置IP,自动获取就可以了
- 方法2:桥接方法
操作步骤
第一步:修改虚拟机的网络链接方式
NAT模式
第二步:修改网卡的配置文件
vi /etc/sysconfig/network-scripts/ifcfg-xxxxxxxxx 【xxxx为网卡名称】
第三步:重启网卡
systemctl restart network
第四步:检查网卡IP看是否可以上网
1. ipaddr
2. ping www.qq.com
2.3 让虚拟机和物理机可以通信
- 方法一:桥接方法
- 方法二:vmnet8方法,让物理机的vmnet8网卡地址和虚拟机的网卡地址在同一个网段就可以了
- 方法三:vmnet1方法
操作步骤:【本案例基于vmnet8实现物理机和虚拟机通信】
- 物理机的vmnet8的地址:10.10.10.1/8
- 虚拟机的地址:10.10.10.2/8
第一步:添加一个网卡
第二步:修改网卡第二步配置文件
1)首先找到网卡名
ip addr
找到新网卡的名称:ens36
2)将原来的配置文件复制成新网卡的配置文件
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens36
vi ifcfg-ens36
第三步:重启网卡
systemctl restart network
第四步:检查网卡IP
ipaddr
第五步:配置物理机的vmnet8地址为10.10.10.1
第六步:在虚拟机和物理机上互相ping对方
2.4 桥接模式
2.5 配置临时IP
方法一:
方法二:
2.6 重启网卡命令
systemctl restart network #重启网卡
systemctl stop network #关闭网卡
systemctl start network #开启网卡
systemctl disable network #开机不自启
systemctl status network #查看网卡状态
2.7 如果重启网卡失败
- 检查配置文件是否正确
- 检查虚拟编辑器有没选对(网卡类型)
- 可能是自动分配不到IP地址
2.8 如果虚拟机和宿主机不通
systemctl stop firewald #关闭Linux防火墙
- 查看虚拟机的网卡设置情况
- 需要关闭Windows防火墙或者退出安全软件
三、Linux的相关命令
3.1 ping
- 作用1:解析域名【将域名转换成IP地址的过程】
- 作用2:测试两个主机之间是否可以通信
格式:
ping 选项 目标ip/目标域名
选项:
- -4 #IPV4地址
- -W #等待时长
- -c #发送几个包
3.2 netstat
作用:查看当前主机的网络链接情况
格式:
netsata 选项
选项:
- -n #以数字方式显示,显示IP地址、端口(不加的话显示的地址会做域名反解)
- -t #显示tcp协议类型的网络链接
- -u #显示udp协议类型的网络链接
- -l #显示处于监听状态的网络链接
- -a #显示所有的网络链接
- -p #显示生成这个网络链接的进程id
3.3 ss
作用:查看当前主机的网络链接情况
格式:
ss 选项
选项:
- -n #以数字方式显示,显示IP地址、端口(不加的话显示的地址会做域名反解)
- -t #显示tcp协议类型的网络链接
- -u #显示udp协议类型的网络链接
- -l #显示处于监听状态的网络链接
- -a #显示所有的网络链接
- -p #显示生成这个网络链接的进程id
3.4 lsof
这个命令需要先配置yum源,然后进行安装
作用:检查指定端口是哪个进程启动的
格式:
lsof -i 端口