URL转发和CNAME记录的区别,第1张

大部分人对于URL转发和CNAME没有很多的了解,更不知道他们之间的区别是什么,毕竟他们都是可以由一个域名跳转到另外一个域名,看字面上是没有多大区别,所以我给大家科普下这两者到底区别在什么地方。

一、什么是URL

所谓 URL 转发,是通过服务器的特殊设置,将访问您当前域名的用户引导到您指定的另一个网络地址。 地址转向(也可称“URL转发”)即将一个域名指向到另外一个已存在的站点,英文称为“ URL FORWARDING ”。域名指向可能这个站点原有的域名或网址是比较复杂难记的。URL转发分为显性转发与隐性转发两种。

1、显性转发:

显性转发用的是301重定向技术;效果为浏览器地址栏输入acom ,打开网站内容是目标地址http://wwwdnscom 的网站内容,且地址栏显示目标地址http://wwwdnscom 。

2 隐性转发:

隐性转发用的是iframe框架技术,非重定向技术;效果为浏览器地址栏输入acom 回车,打开网站内容是目标地址http://wwwdnscom 的网站内容,但地址栏显示当前地址http://acom 。需要注意的是如果目标地址不允许被嵌套时,就算做了隐性URL转发以后还是不能访问的。

二、什么是CNAME记录

CNAME记录:如果需要将域名指向另一个域名,再由另一个域名提供ip地址,就需要添加CNAME记录,CNAME的应用场景一般是使用了CDN的情况下。CNAME是别名,用来指向那个域名的ip,你指向了ip,不一定就能访问对应的网站,需要这个网站的服务器允许绑定了这个域名,才可以访问。如果没办法进行服务器绑定并且需要转发的话就只能使用URL转发服务了。

可以使用iptables或者nginx进行连接搭建。

Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上。但是如果需要将流量从专用地址转发到不在您当前网络上的机器上,可尝试另一个应用层端口转发程序Rinetd。Rinetd短小、高效,配置起来比iptables也简单很多。

如果你要配http、https转发,要配ssl证书,那nginx大概是最合适的了。不过要注意nginx本身有一些限制,比方说一次上传的数据大小。之前我没注意这点,在主站配了又配,最后发现中转的服务器没配置,秀逗了。另外新版的nginx不仅可以转发http,也支持tcp流转发了。

数据中转站中安装有数据中转应用服务器,由计划任务或者其他唤醒程序启动。

运行时注意的三步如下:

1、开启源服务器网络连接,连接源服务器,约定下次通讯的方式(可选),获取数据。

2、关闭与源服务器网络的连接,开启目标服务器网络连接,向目标服务器写入数据。

3、关闭与目标服务器网络的连接,进入缄默模式,等待下一次被唤醒。

域名系统,在TCP/IP 网络中有非常重要的地位,能够提供域名与IP地址的解析服务,而不用去记住能够被机器直接读取的IP数串。

通过域名,最终得到该域名对应的IP地址的过程叫做域名解析。

DNS协议运行在UDP协议之上,使用端口53号

DNS域名空间中,树的最大深度不得超过127层,树种每个节点最长可以存储63个字符。

2、域和域名

DNS树的每一个完全合格域名(FQDN)标识。FQDN能准确表示出其对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式。

例如:google为com域的子域,其表示方法为googglecom,而www为google域中的子域,可以使用wwwgooglecom表示。

注意:FQDN有严格的命名限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。

号只允许在域名标志之间和域名结尾使用。

域名不区分大小写,从最顶层到下层,可以分成:根域、顶级域、二级域、子域。

互联网的域名空间最顶层的是根域(root),记录这Interne的重要DNS信息,有Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配给链接到Internet的各个组织。

全球有13个根域服务器:

1个为主根域服务器,在美国;其余12个为辅助根域服务器,

其中9个在美国;欧洲2个,分别在英国和瑞迪;亚洲一个,在日本。

3、域名的分类和等级

域名可以分为3中类型的顶级域分别是:

组织域:采用3个字符表示,表示组织的主要功能和活动,比如com为商业机构组织,edu为教育机构组织,gov为政府机构组织,mil为军事机构组织,net为网络机构组织,org为非盈利机构组织,int为国际机构组织。

地址域:采用两个字符的国家或地区代号,如cn表示中国,jp表示日本、hk表示香港,kr表示韩国,us表示美国。

反向域:特殊域,名字为in-addrarpa,用于将IP地址映射到名字(反向查询)

二、DNS相关概念

1、DNS服务器

运行DNS服务器程序的计算机,存储DNS数据库信息。

2、DNS缓存

DNS服务器在解析客户机的域名请求时,如果本地没有该域名的记录,则会询问其它DNS服务器,当其它域名将解析结果返回给DNS服务器是,DNS将对应的记录保存在本地,生成DNS缓存,当下一次客户机再次请求是,DNS服务器则可以直接使用缓存中的DNS记录。

3、DNS查询方式:递归查询和迭代查询

递归查询:当客户机向DNS服务器发起域名解析请求时,DNS服务器首先查看自己本机的DNS记录,如果没有则会想其它DNS服务器发起解析请求。

迭代查询:当客户机向DNS服务器发起域名解析请求是,DNS服务器不会给客户机解析地址,而是告诉客户机另外一台DNS服务器,客户即再向这台服务器发起地址解析请求。

4、正向解析和反向解析

正向解析:指域名解析到IP地址的解析过程。

反向解析:指IP地址解析到域名的解析过程。

5、DNS资源记录

1)SOA资源记录

每个区在区的开始都包含了一个起始授权记录(Start of Authority Record),简称SOA记录

SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。

2)NS资源记录

NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析,每个区在区根处至少包含一个NS记录。

3)A资源记录

地址(A)资源记录把FQDN映射到IP地址。因为有次记录,所以DNS服务器能解析FQDN域名对应的IP地址。

4)PTR资源记录

相对于A记录,指针(PTR)记录把IP地址映射到FQDN。用于反向查询,通过IP地址,找到域名。

5)CNAME资源记录

别名记录(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使链接的客户机无法知道真正的域名。

6)MX资源记录

邮件交换(MX)资源记录,为DNS域名指定邮件交换服务器。

三、DNS服务器安装及相关配置文件

1、安装DNS

BIND 简介:

BIND 全称为Berkeley Internet Name Domain(伯克利因特网名称域系统),BIND 主要有三个版本:BIND4、BIND8、BIND9。

BIND8版本:融合了许多提高效率、稳定性和安全性的技术,而BIND9 增加了一些超前的理念:IPv6支持、密钥加密、多处理器支持、线程安全操作、增量区传送等等。

安装命令:

[root@xuegod ~]# yum -y install bind bind-chroot bind-utils

安装包的作用:

bindx86_64 32:994-73el7_6 #DNS服务的主程序包

bind-chrootx86_64 32:994-73el7_6 #提高安全性

#bind-chroot是bind的一个功能,使bind可以在一个chroot 的模式下运行,也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已,这样做的目的是为了提高安全性,因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中。

bind-utils-994-50el7x86_64rpm #该包为客户端工具,系统默认已经安装的了,它用于搜索域名指令。

2、DNS服务器相关配置文件

[root@xuegod ~]# ls /etc/namedconf -l

-rw-r----- 1 root named 1808 1月 30 01:23 /etc/namedconf

namedconf是BIND的核心配置文件,它包含了BIND的基本配置,但其并不包括区域数据

/var/name/目录为DNS数据库文件存放目录,每一个域文件都放在这里

3、启动服务器

[root@xuegod ~]# systemctl start named

[root@xuegod ~]# systemctl enable named

Created symlink from /etc/systemd/system/multi-usertargetwants/namedservice to /usr/lib/systemd/system/namedservice

[root@xuegod ~]# netstat -antup | grep 53

tcp 0 0 127001:53 0000: LISTEN 3501/named

4、服务的使用方法

在客户端上配置好DNS服务器地址

[root@xuegod140 ~]# vim /etc/resolvconf

[root@xuegod140 ~]# cat /etc/resolvconf

Generated by NetworkManager

nameserver 1921681130

resolvconf文件,添加DNS,此文件的生效范围是全局的,即是所有网卡都可以生效。

修改网卡添加的DNS,此方法添加DNS仅对当前网卡生效。

DNS1=1921681130

5、配置文件详解

要求:配置DNS服务器解析:xuegodcn

[root@xuegod etc]# cp /etc/namedconf /etc/namedconfbak

DNS配置文件整体分为三段:

options:对全局生效

zone:针对某个区域生效

type:指定区域类型

type主要分为六种

Master:主DNS服务器,拥有区域数据文件,并对此区域提供管理梳理

Slave:辅助DNS服务器,拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据

Stub:stub区域和slave类似,但其只复制主DNS服务器上的NS记录,而不像slave复制DNS服务器的所有数据

Forward:一个forward zone是每个区域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward和/或forwarders子句,它会在区域名称给定的域中查询。如果没有forwarders语句或者forwarder是空表,那么这个域就不会转发,消除了options语句中有关转发的配置

Hint:根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用跟线索来查找根域名服务器,并找到最近的根域名服务器列表

四、实战-为公司搭建一个DNS服务器

1、配置正向解析区域

修改配置文件,授权DNS服务器管理xuegodcn区域,并把该区域的区域文件命名为xuegodcn

options {

listen-on port 53 { any; }; #把原来的127001改为any。

listen-on-v6 port 53 { any; }; #把原来的::1,改为any。

directory “/var/named”;

dump-file “/var/named/data/cache_dumpdb”;

statistics-file “/var/named/data/named_statstxt”;

memstatistics-file “/var/named/data/named_mem_statstxt”;

allow-query { any; }; #把原来的localhost,改为any。

recursion yes;

dnssec-enable yes;

dnssec-validation yes;

dnssec-lookaside auto; #加入此项。

1

2

3

4

5

1

2

3

4

5

zone “xuegodcn” IN { #把原来的 改为xuegodcn。

type master; #把原来的hint,改为master。

file “xuegodcnzone”; #把原来的namedca,改为xuegodcnzone。

};

include “/etc/namedrfc1912zones”;

include “/etc/namedrootkey”;

2、创建zone文件

[root@xuegod etc]# cd /var/named #进入zone工作目录

[root@xuegod named]# ll -d namedlocalhost

-rw-r----- 1 root named 152 6月 21 2007 namedlocalhost

[root@xuegod named]# cp -a namedlocalhost xuegodcnzone

#-a参数,复制后的文件保留源文件权限

[root@xuegod named]# ll -d xuegodcnzone

-rw-r----- 1 root named 152 6月 21 2007 xuegodcnzone

[root@xuegod named]# vim xuegodcnzone

[root@xuegod named]# cat xuegodcnzone

$TTL 1D

xuegodcn IN SOA dnsxuegodcn rootxuegodcn (

0 ; serial #系列

1D ; refresh #刷新

1H ; retry #重试

1W ; expire #到期

3H ) ; minimum #最低限度

xuegodcn NS dnsxuegodcn #NS资源记录

dnsxuegodcn A 1921681130 #A资源记录

wwwxuegodcn A 1921681130 #A资源记录

www1xeugodcn CNAME wwwxuegodcn #CNAME记录

3、重启DNS服务:

[root@xuegod named]# systemctl restart named

4、修改客户机的DNS记录

[root@xuegod140 ~]# vim /etc/resolvconf

[root@xuegod140 ~]# cat /etc/resolvconf

Generated by NetworkManager

nameserver 1921681130

5、删除网卡配置文件的DNS记录

[root@xuegod140 ~]# cd /etc

[root@xuegod140 etc]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[root@xuegod140 etc]# cat !$ | grep DNS1 #删除DNS1的行

cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep DNS1

6、测试结果:

[root@xuegod140 etc]# ping wwwxuegodcn

PING wwwxuegodcn (1921681130) 56(84) bytes of data

64 bytes from 1921681130 (1921681130): icmp_seq=1 ttl=64 time=0216 ms

64 bytes from 1921681130 (1921681130): icmp_seq=2 ttl=64 time=0359 ms

[root@xuegod140 etc]# ping www1xuegodcn

PING wwwxuegodcn (1921681130) 56(84) bytes of data

64 bytes from 1921681130 (1921681130): icmp_seq=1 ttl=64 time=0216 ms

64 bytes from 1921681130 (1921681130): icmp_seq=2 ttl=64 time=0255 ms

[root@xuegod140 etc]# ping dnsxuegodcn

PING dnsxuegodcn (1921681130) 56(84) bytes of data

64 bytes from 1921681130 (1921681130): icmp_seq=1 ttl=64 time=0170 ms

64 bytes from 1921681130 (1921681130): icmp_seq=2 ttl=64 time=0294 ms

总结:实验容易错误点

1)区文件的权限,需要注意,这里直接使用cp -a参数拷贝,保留文件的权限和属组、属主

2)服务端的防火墙必须要关闭,如果不关闭,就要放通DNS53号端口

3)客户端指定DNS地址时,resolv文件需要表示全局生效,本地网卡修改表示当前网卡生效

4)可以的话最好关闭NetworkManager

7、zone配置文件的参数说明

$TTL 1D:设置有效地址解析记录的默认缓存时间,默认为1天也就是1D。

xuegodcn IN SOA dns xuegodcn root xuegodcn

#原来的@表示当前的域xuegodcn,为方便大家记忆,在此直接写成xuegodcn

#设置SOA记录为:dnsxuegodcn

#在此配置文件中写域名时,都把根 也需要写上。

#域管理邮箱rootxuegodcn 由于@有其他含义,所以用“”代替@。

0 :更新序列号,用于标示数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1。

1D :刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天。

1H :重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为1小时。

1W :到期,失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周。

3H :设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时。

NS @ :域名服务器记录,用于设置当前域的DNS服务器的域名地址,

A 127001: 设置域名服务器的A记录,地址为ipv4的地址127001,可以设置成192168100102

AAAA ::1:设置域名服务器的A记录,地址为ipv6的地址。

资源记录参数详解:

CNAME 资源记录

别名(CNAME)资源记录用于为某个主机指定一个别名

CNAME 资源记录语法格式:

别名 CNAME 主机名

www1xuegodcn CNAME wwwxuegodcn

MX 资源记录

MX(邮件交换器)资源记录提供邮件传递信息。该记录会指定区域内的邮件服务器名称。

MX 资源记录语法格式:

mail A 192168163

MX 192168163

PTR 资源记录

指针(PTR)资源记录。该记录与A 记录相反,用于查询IP 地址与主机名的对应关系。

根区域是一个较为特殊的区域,记录列出全球根域名服务器信息,域名通常用“”表示,如表 5-1 所示。

在这里插入描述

五、实战-DNS递归查询和搭建DNS转发服务器

1、使用DNS递归查询

修改配置文件:

[root@xuegod130 etc]# vim /etc/namedconf #修改DNS配置文件,修改如下内容。

options {

listen-on port 53 { any ; }; #把原来的127001改为any。

listen-on-v6 port 53 { any; }; #把原来的::1,改为any。

directory “/var/named”;

dump-file “/var/named/data/cache_dumpdb”;

statistics-file “/var/named/data/named_statstxt”;

memstatistics-file “/var/named/data/named_mem_statstxt”;

allow-query { any; }; #把原来的localhost,改为any。

recursion yes; #默认是支持递归查询。

#dnssec-enable yes;

#dnssec-validation yes;

#dnssec-lookaside auto;

只需要把以上三条内容注释了,其它内容不用改,这样客户端才能通过这个DNS进行递归查询,把dns加密通讯功能关闭,才可以和根服务器时行迭代查询。:

2、重启DNS服务,使配置文件生效:

[root@xuegod63 ~]# systemctl restart named

3、在xuego140主机上进行测试:

[root@localhost network-scripts]# ping wwwbaiducom

PING wwwashifencom (61135169105) 56(84) bytes of data

64 bytes from 61135169105: icmp_seq=1 ttl=55 time=318 ms

64 bytes from 61135169105: icmp_seq=3 ttl=55 time=147 ms

4、 搭建DNS转发服务器

[root@xuegod130 ~]# vim /etc/namedconf

options {

listen-on port 53 { any; }; #把原来的127001改为any。

listen-on-v6 port 53 { any; }; #把原来的::1,改为any。

directory “/var/named”;

dump-file “/var/named/data/cache_dumpdb”;

statistics-file “/var/named/data/named_statstxt”;

memstatistics-file “/var/named/data/named_mem_statstxt”;

allow-query { any; }; #把原来的localhost,改为any。

recursion yes; #允许递归查询

#dnssec-enable yes; #注释以下三行。

#dnssec-validation yes;

#dnssec-lookaside auto;

zone “xuegodcn” IN {

#type master; #注释此项

type forward; #添加此项,类型为转发。

#file “xuegodcnzone”; #注释此项

forward only ; #仅执行转发操作,only:仅转发,first:先查找本地zone,再转发。

forwarders { 8888; }; #指定转发查询请求的DNS服务器列表。

};

重启DNS服务,使配置文件生效:

[root@xuegod63 ~]# systemctl restart named

在xuegod140主机上进行测试:

[root@localhost network-scripts]# ping wwwbaiducom

PING wwwashifencom (61135169105) 56(84) bytes of data

64 bytes from 61135169105: icmp_seq=1 ttl=55 time=318 ms

64 bytes from 61135169105: icmp_seq=3 ttl=55 time=147 ms

六、实战-搭建DNS主从服务器

1、搭建一个主DNS服务器A,配置内容如下

[root@xuegod63 ~]# vim /etc/namedconf

options {

listen-on port 53 { any; }; #把原来的127001改为any。

listen-on-v6 port 53 { any; }; #把原来的::1,改为any。

directory “/var/named”;

dump-file “/var/named/data/cache_dumpdb”;

statistics-file “/var/named/data/named_statstxt”;

memstatistics-file “/var/named/data/named_mem_statstxt”;

allow-query { any; }; #把原来的localhost,改为any。

recursion yes;

#dnssec-enable yes;

#dnssec-validation yes;

#dnssec-lookaside auto;

zone “xuegodcn” IN {

type master; #指定类型为master。

file “xuegodcnzone”; #指定为xuegodcnzone。

allow-transfer { 19216810/24; }; #指定允许哪个网段的从DNS服务器,可以同步主DNS服务器zone文件,不写默认为所有。

};

include “/etc/namedrfc1912zones”;

重启DNS服务,使配置文件生效:

[root@xuegod63 ~]# systemctl restart named

2、从DNS服务器的配置

要求:主从系统时间一定要保持一致。

登录控制中心--域名管理--DNS解析 

如设置IP指向--选择IP--填写服务器IP地址--点击更新--点击重启NDNS服务器,即可。

如设置CNAME指向--选择CNAME--填写服务器别名--点击更新--点击重启NDNS服务器,即可。

如设置URL转发--选择URL转发或隐含转发--填写要转发到的已可访问的地址--点击更新--点击 重启NDNS服务器,即可。

增加次级域名:在左下角的子域名填写需要增加的次级域名,点击增加,设置指向即可。

删除次级域名:选择要删除的次级域名,点删除,点更新,点击重启NDNS服务器,即可。

一般做了指向以后都是可以即时生效的,但如果电脑之前访问过这个网址的话会有缓存的,这种的话就过两小时才可以正式访问了!

  当然,如果你自已先做域名解析,然后再在解析访问的网页上也可以通过ASP或JAVASCRIPT等脚本语言实现域名的转发功能。

  域名转发:所谓域名转发即URL转发,是本站提供的一项域名增值服务,此服务是通过服务器的特殊技术设置,实现当访问您的域名时,将会自动跳转到您所指定的另一个网络地址。当然前提是:首先您的域名已经成功注册,并使用默认的 DNS 服务器;其次同时您设置其转发至的目标地址是可以在互联网正常访问到的,这样才能保证您的 URL 转发成功。 通过 URL 转发服务,可以轻松实现多个域名指向一个网站或网站子目录了; 另外,通过 URL 转发服务,可以方便的实现将您的中文域名,设置自动转发到您的英文域名主站点。域名转发又有两种方式:

  不隐藏路径域名转发:访问域名,自动跳转到指定的网络路径后,IE 浏览器的地址栏里显示的地址自动变为显示真正的目标地址。

  域名解析是指将域名解析为IP。域名是IP的代名词,没有人会去记IP,访问网站都是访问域名的。

  发布网站做网站服务,需要域名,需要用到域名解析。域名解析包括:A记录、CNAME记录、NS记录、MX记录、URL显示转发、URL隐性转发、动态域名解析。

  A记录,是域名解析中最常见的,是将域名解析为目标公网固定IP。

  CNAME记录,是将域名解析为“目标域名的IP”。CNAME目标是地址是一个域名,但解析目标地址是这个域名的IP,即跟着这个目标域名走。

  NS记录,是指将此子域名交由目标DNS服务器解析。

  MX记录,是邮件服务器解析。在搭建邮件服务时,可以用自己的域名当为邮件名。如@qqcom。

  URL显性转发,域名转跳为另一个URL地址,转跳后地址和内容都将为目标地址和内容。

  URL隐性转发,域名内容转跳为另一个URL地址内容,转跳后内容为目标URL内容,但URL地址不变。

  动态域名解析,一般配合客户端使用,域名实时解析到本地动态IP,即使IP变化,也不会影响域名的正常访问。

可以转发本地的地址,不过你的格式不对。

首先你必须把你的电脑做成服务器,成为互联网唯一的路径,你需要做的是安装iis,然后设置你本地磁盘的路径,你的ip做域名,比如你的那个路径D:/www/jfdk设置成iis默认路径,你的ip是XXXXXXXXXXXX,那么在网络上就是http://XXXXXXXXXXXX/jfdk。然后你的url转发就设置成映射到http://XXXXXXXXXXXX/。那么你申请的域名http://wwwxxxcom/jfdk就可以访问了

隐藏转发一般需要域名注册商来做的,只要你有域名管理权,里面有隐藏转发这一拦,你自己也可以操作。一般只要有管理权,里面都有相关步骤转发以后,还要把域名解析到域名的转发服务器上。生效是有个时间限制的,一般规定是24小时,但真实的应该快点。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » URL转发和CNAME记录的区别

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情