路由器的搭建及虚拟机上网(内含域名解析)

一.路由器的搭建(使不同ip主机连接)

路由器的概念:路由器是一种连接多个网络或者网段的网络设备,它具有内核路由功能以及地址伪装功能,它能将不同网络或者网段之间的数据信息进行“翻译”,以使他们能够相互“读”懂对方的数据,从而构成一个更大的网络。

前提:我们知道网络位不一样的两个主机不在同一个局域网,从而无法ping,如图所示:

我们客户机的ip是1.1.1.115,子网掩码是24

路由器的搭建及虚拟机上网(内含域名解析)

去连接真机:172.25.254.66发现连接不到
路由器的搭建及虚拟机上网(内含域名解析)
为了解决这个问题,我们需要一个双网卡的主机来使其具有路由器的功能,我选择的是用server这台虚拟机来充当路由器。

在server双网卡主机

<1>添加网卡,使其成为双网卡(添加网卡的方式我们前面的博客《真机与虚拟机的连接以及改变虚拟机的网卡》说过,这篇博客就不详细说明了)

路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)
<2>设置两块网卡的ip
路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)
<3>
sysctl -a | greb ip_forward 查看内核路由是否开启,只有开启才能进行两个网卡之间的通信
路由器的搭建及虚拟机上网(内含域名解析)

vim /etc/sysctl.conf     在里面输入net.ipv4.ip_forward = 1

路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)

sysctl -p       加载内核参数,执行读取sys文件

路由器的搭建及虚拟机上网(内含域名解析)

<4>

systemctl status firewalld     查看防火墙是否开启

路由器的搭建及虚拟机上网(内含域名解析)
注意:若是firewalld没开启,就systemctl start firewalld

firewall-cmd    --list-all

路由器的搭建及虚拟机上网(内含域名解析)

firewall-cmd --permanent --add-masquerade         将防火墙地址伪装的功能打开    
firewall-cmd   --reload     重新加载
firewalld-cmd   --list-all    此时 masquerade后面为yes

路由器的搭建及虚拟机上网(内含域名解析)

在client单网卡虚拟机:

route -n 查看网关,发现无网关,于是在/etc/sysconfig/network写入路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)

systemctl restart   network     重启网络
route -n              再去查看网关

路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)

测试
去ping172.25.254.66

路由器的搭建及虚拟机上网(内含域名解析)
总结:说明我们通过这个实验,可以使两个不在同一局域网的ip连接上,使双网卡主机拥有了路由器的特点。

注意:/etc/sysconfig/network里设置的是全局网关,针对的是全局网卡。而/etc/sysconfig/network-scripts/ifcfg-文件名,只针对特定的网卡。

二:虚拟机上网

虚拟机本身是不能上网的,我们为了让虚拟机上网,可以将真机设定为一个路由器,从而达到可以访问外网的功能。

实验如下:

在真机里:

路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)

路由器的搭建及虚拟机上网(内含域名解析)

路由器的搭建及虚拟机上网(内含域名解析)
在客户机里:

路由器的搭建及虚拟机上网(内含域名解析)

ping百度的ip发现ping不到
路由器的搭建及虚拟机上网(内含域名解析)

查看网关路由器的搭建及虚拟机上网(内含域名解析)
设定网关:

路由器的搭建及虚拟机上网(内含域名解析)

查看网关

路由器的搭建及虚拟机上网(内含域名解析)
测试
路由器的搭建及虚拟机上网(内含域名解析)

路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)

我们发现输入ww.baudu.com依旧连接不上,而输入百度ip却能连接上,不要着急。这不是出了什么事故,而是涉及到另外一个知识,域名解析

三.域名解析

域名解析是指将域名指向网站ip,是因特网上作为域名和ip地址相互映射的一个分布式数据库。

<1>本地解析

vim   /etc/hosts      本地解析文件(即改即生效)

路由器的搭建及虚拟机上网(内含域名解析)
在里面写入www.baidu.com和对应的ip
路由器的搭建及虚拟机上网(内含域名解析)
效果如下:

路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)

但是此时我们有一个疑问,我们总不能想用域名访问一个网站就去/etc/hosts添加对应的域名与ip,那样也太过于不方便,为了解决这个问题,便有了dns服务器。

<2>dns服务器

该服务器专门用来做服务解析,不是服务器自己解析,是提供一个能够解析主机,比如陕西省提供的解析ip就是218.20.19.50。(一般由运行商做好,我们直接使用)

实验如下:

vim   /etc/resolv.conf              网络解析配置文件

路由器的搭建及虚拟机上网(内含域名解析)
在里面加入:
路由器的搭建及虚拟机上网(内含域名解析)
重启网络服务:

路由器的搭建及虚拟机上网(内含域名解析)

测试

路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)
路由器的搭建及虚拟机上网(内含域名解析)
<3>修改访问网址的优先级(默认本地的优先级高
1.进入配置文件

vim  /etc/nsswitch.conf         (即改即生效)

修改有两种方式:
hosts :file dns (本地默认级高)
当你去连接网络,会连接本地设置好的网络ip
hosts :dns file (外网默认级高)
当你去连接网络,会连接外网设置好的网络ip