IP
四类 0~255
A类地址:范围:0.0.0.0~126.255.255.25分配给超大型网络公司的环境,比如苹果公司阿里
B类地址:范围:128.0.0.0~192.255.255.255 分配给大型局域网公司环境
C类地址:范围:192.0.0.0~223.255.255.255 分配给学校,中小企业等环境使用
D类地址:范围:240.0.0.0~255.255.255.255 属于广播地址
E类地址:范围:224.0.0.0~239.255.255.255 系统保留地址
127是本地回环地址网段,被电脑内部占用了
公网地址和局域网地址概念
公网ip:全球唯一的IP 地址,用于网络通信,可以从 Internet 上直接访问
局域网ip: 私有网络IP 地址,通常由路由器或防火墙动态分配,并且不能从 Internet 上直接访问,可以被多台设备共享,并用于在同一局域网中的设备之间进行通信
Dns的配置文件
1./etc/hosts:自定义域名和ip强制解析关系,本机的域名-ip
hosts文件的解析优先级高于dns的客户端配置文件
2./etc/resolv.conf:写入互联网dns服务器的地址,所有的域名-ip
dns劫持
用户本机访问机器配置的dns服务器地址时,被恶意篡改了dns服务器地址,返回了一个错误的IP地址,造成看到的是一个恶意的网站
Dns在浏览器的解析流程
1.在浏览器上输入baidu.com操作系统会闲检查自己本地的hosts文件,是否存在了写死的对应关系,读取到了记录则进行解析,没有则进行下一步
2.如果hosts文件没有写死的记录,操作系统会再去看本地的dns缓存,是否有解析关系
3.如果hosts文件和本地dns缓存都没有解析关系,那么操作系统会去我们在网络配置中定义的dns服务器地址去查找,baidu.com,dns服务器进行查询是否存baidu.com
搭建DNS服务器
1. 安装dns命令:brew install dnsmasq
2. 新建配置文件
2.1 主配置文件:/usr/local/etc/dnsmasq.conf
2.2 内部解析所需要的ip和域名,也就是用户所需要自定义的域名和ip的队员关系编写:/usr/local/etc/dnsmasq.hosts //该文件需要手动创建
2.3 dnsmasq的上游DNS服务器地址:/usr/local/etc/resolv.dnsmasq.conf //也需要手动创建
3. 修改dnsmasq.conf
3.1 指定上游dns服务器地址的参数
resolv-file=/usr/local/etc/resolv.dnsmasq.conf
3.2 自定义某些域名及其子域名,都解析道某一个ip地址
ddress=/taobao.com/123.206.16.61
3.3 定义dnsmasq的监听地址的配置文件(如果你是本地的linux虚拟机,中这可以填写127.0.0.1,也可以写本地局域网IP )
listen-address=监听的IP地址
3.4 定义一个本地域名配置文件,需自定义的一些域名解析记录
addn-hosts=/usr/local/etc/dnsmasq.hosts
3.5 记录dns查询的日志参数
log-queries
3.6 包含目录的语法,能够包含某个文件夹下所有符合定义类型的配置文件
conf-dir=/usr/local/etc/dnsmasq.d
# Include all the files in a directory except those ending in .bak
conf-dir=/usr/local/etc/dnsmasq.d,.bak
# Include all files in a directory which end in .conf
conf-dir=/usr/local/etc/dnsmasq.d/,*.conf
4. 查看dnsmasq.con自定义的配置文件路径
grep -v '^#' /usr/local/etc/dnsmasq.conf |grep -v "^$"
5. 内部解析的地址关系
vim /usr/local/etc/dnsmasq.hosts
6. 添加上有dns服务器地址(当dnsmasq在本地找不到解析记录的时候,去上游查找)
vim /usr/local/etc/resolv.dnsmasq.conf
7. 启动服务
sudo brew services start dnsmasq
8. 修改本地的dns客户端配置文件,指定自定义的dnsmasq服务器地址
vim /usr/local/etc/resolv.conf