如何使虚拟机上网

我们可以通过搭建路由器和设置网关使虚拟机通过真机上网

1. 配置真机

步骤一:查看真机的ip

ip addr show br0

在这里插入图片描述
步骤二:开启真机的路由功能

vim /etc/sysctl.conf

 11 net.ipv4.ip_forward

sysctl -p 			#使设置生效
sysctl -a | grep ip_forward

在这里插入图片描述

在这里插入图片描述

步骤三:开启伪装地址功能

#开启防火墙
systemctl start firewalld
#查看火墙的一系列状态
firewall-cmd --list-all
#永久开启防火墙的伪装功能
firewall-cmd --permanent --add-masquerade
#重新加载
firewall-cmd --reload
#再次查看火墙是否开启伪装功能

在这里插入图片描述

在这里插入图片描述

2. 配置虚拟机

#设置网关172.25.1.250
vim /etc/sysconfig/network-scripts/ifcfg-eth0

GATEWAY=172.25.1.250
#重启网络
systemctl restart network
#查看网关
route -n

在这里插入图片描述

在这里插入图片描述

3. 添加解析

做好上面工作,此时依旧不能上网:
在这里插入图片描述

因为www.baidu.com域名没有解析,接下来我们做解析,有两种类型

3.1 本地解析

  • 在本地解析文件/etc/hosts里面写入网址和其对应的ip地址
  • 主要功能:告诉电脑谁是谁,才能访问,但是不全面
  • 主机自己给自己答案 ,所有的ip地址都是自己给
#在虚拟机中打开本地解析文件
vim /etc/hosts
#在本地解析文件当中写入百度的域名解析
220.181.111.37 www.baidu.com
#此时直接在虚拟机中ping百度,就可以ping通
ping www.baidu.com

在这里插入图片描述

在这里插入图片描述

该方法是虚拟机自己给自己说明要访问的网址对应的ip地址,才能在访问的时候被解析
但必须一个一个写入,解析一个才能用一个

3.2 dns服务器

  • 该服务器是专门用来做域名解析的服务器
  • 不是服务器自己直接解析
  • 而是找回答问题的人,提供一个解析的主机
  • 一般由运营商直接做好,dns服务器直接找运营商即可
#在虚拟机中打开域名解析文件 /etc/resolv.conf
vim /etc/resolv.conf
#在域名解析文件当中写入dns服务器提供的运营商的ip
nameserver 114.114.114.114
#查看是否可以直接ping通各个网站
ping www.baidu.com
ping www.taobao.com
ping www.qq.com

在这里插入图片描述

在这里插入图片描述

此时,虚拟机就可以通过真机来上网了

dns服务器解析更全面,只要输入运营商的ip地址,就可以访问任何网站,比本地解析文件方便很多
nameserver 114.114.114.114 电信的
nameserver 218.30.19.50 陕西省的

注意:
域名解析也可以直接在网络配置文件里面写 vim /etc/sysconfig/network-scripts/ifcfg-eth0
写入 DNS1/DNS2/DNS3(最多三个,后面必须写数字)=114.114.114.114 ,但是这个做完之后要重启
114.114.114.114是已知的,由运营商做好的

发布了147 篇原创文章 · 获赞 17 · 访问量 9299

猜你喜欢

转载自blog.csdn.net/weixin_45775963/article/details/104949170