如何使虚拟机上网
我们可以通过搭建路由器和设置网关使虚拟机通过真机上网
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是已知的,由运营商做好的