实现虚拟机上网及域名添加

一.虚拟机上网
1.首先将真机变为路由器

    systemctl stop libvirtd               关闭虚拟机的libvirtd服务(因为防火墙与虚拟机服务有冲突)
    systemctl restart firewalld           启动火墙(火墙打开才会有地址伪装功能)
    systemctl start libvirtd              重启虚拟机libvirtd
    firewall-cmd --permanent --add-masquerade(地址伪装)       开启真机的路由器功能
    firewall-cmd --reload                  更新防火墙规则
    firewall-cmd --list-all                显示真机的路由器列表,查看是否配置成功

注意:以上操作需进入“root”模式

systemctl stop libvirtd               关闭虚拟机的libvirtd服务(因为防火墙与虚拟机服务有冲突)
systemctl restart firewalld           启动火墙(火墙打开才会有地址伪装功能)
systemctl start libvirtd              重启虚拟机libvirtd

在这里插入图片描述

firewall-cmd --permanent --add-masquerade(地址伪装)       开启真机的路由器功能

在这里插入图片描述

   firewall-cmd --reload                  更新防火墙规则

在这里插入图片描述

  firewall-cmd --list-all               查看是否配置成功

实现虚拟机上网及域名添加_第1张图片
提示:当我们看到上述内容时,

masquerade:yes

yes表示的我们将真机的路由器功能配置成功,但是如果是no的话,就是没有配置成功
2.查看当前主机ip
方法一:

ifconfig    查看所有的网卡设备信息

实现虚拟机上网及域名添加_第2张图片
方法二:

ip addr show br0          直接查看 br0文件

实现虚拟机上网及域名添加_第3张图片

当前真机ip为:172.25.254.67

3.设置虚拟机

vim /etc/sysconfig/network            全局网关,针对所有没有设定网关的网卡生效
GATEWAY=172.25.254.67
vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY0=172.25.254.67        当网卡中设定的ip有多个时,指定对于那个ip生效
GATEWAY=172.25.254.67         当网卡中设定的ip只有一个时
route  -n                     查看网关是否生效

使用ifconfig查看虚拟机网卡信息 如果发现有多张张网卡 则不可以使用全局网关设定
实现虚拟机上网及域名添加_第4张图片
实现虚拟机上网及域名添加_第5张图片
4.设置完成后,在真机中ping百度 ,获得百度的ip.之后在虚拟机中ping百度的ip
实现虚拟机上网及域名添加_第6张图片
由此可得百度的ip是180.97.33.108
实现虚拟机上网及域名添加_第7张图片
实现虚拟机上网及域名添加_第8张图片
注意:

如果ping 不通百度 .但步骤正确.可在真机中删除虚拟机所有网卡,且重新分配网卡,并重复虚拟机中网卡配置步骤.

删除与重建网卡步骤:
1.真机中执行virt-manager
在这里插入图片描述
2.点击Desktop选择Open在点击左上方小灯泡,选择网卡,点击Rmove,选择Yes
实现虚拟机上网及域名添加_第9张图片
3.删除后点击左下方Add Hardware然后选择Network在Device model中选择virtio,选择右下角Cancel
实现虚拟机上网及域名添加_第10张图片
二.域名的添加(DNS)
1.DNS是什么:
域名系统(Domain Name System, DNS)是互联网的核心应用层协议之一, 它用于查询域名对应的IP地址.在使用域名访问任何网络资源时都需要先进行域名解析.
2.手动添加
查询百度域名 :220.181.112.244

vim /etc/hosts

实现虚拟机上网及域名添加_第11张图片
在这里插入图片描述
实现虚拟机上网及域名添加_第12张图片手动添加百度域名可以直接ping通网址
实现虚拟机上网及域名添加_第13张图片
3.自动解析
为了避免繁琐.手动解析过于麻烦,所以可以使用自动解析

vim /etc/resolv.conf

先查询真机的服务器的IP地址.
在这里插入图片描述
在这里插入图片描述
在虚拟机中打开

vim /etc/resolv.conf

将nameserver修改为:192.168.43.1
在这里插入图片描述
在这里插入图片描述
添加完成后就不需要添加域名都可以ping通了比如

ping www.taobo.com

实现虚拟机上网及域名添加_第14张图片

ping www.tianmao.com

实现虚拟机上网及域名添加_第15张图片

ping www.4399.com

实现虚拟机上网及域名添加_第16张图片
注意:
当网络工作模式为dhcp时
系统会自动获得ip 网关 dns
那么/etc/resolv.conf会被获得到的信息修改
如果不需要获得dns信息
PREEDNS=no
4.设定解析的优先级
系统默认:

/etc/hosts > /etc/resolv.conf ##前者优先级高于后者

vim /etc/nsswitch.conf
hosts:     files  dns                 /etc/hosts优先

在这里插入图片描述
将dns 添加到前面 ,

etc/resolv.conf dns 指向优先

在这里插入图片描述
比如: 将天猫的ip故意写错
实现虚拟机上网及域名添加_第17张图片
在pin天猫
实现虚拟机上网及域名添加_第18张图片
会发现依然ping通 因为dns有优先权所以解析正确

你可能感兴趣的:(实现虚拟机上网及域名添加)