路由器的搭建及虚拟机上网(内含域名解析)
一.路由器的搭建(使不同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