快速构建DNS服务器的基本过程:
yum -y install bind bind-chroot
测试阶段主要提供以下正向记录:
1. svs50.jluocc.cn ---> 192.168.4.50
2. svs51.jluocc.cn ---> 192.168.4.51
3. www.jluocc.cn ---> 192.168.4.52
配置完成后在客户机上验证查询结果
1)安装 bind、bind-chroot 包
yum -y install bind bind-chroot
2)建立主配置文件 /etc/named.conf
mv /etc/named.conf /etc/named.conf.origin //备份默认配置
vim /etc/named.conf //建立新配置
options {
directory "/var/named"; //地址库默认存放位置
};
zone "jluocc.cn" { //定义正向DNS区域
type master; //主区域
file "jluocc.cn.zone"; //自定义地址库文件名
};
3)建立地址库文件 /var/named/jluocc.cn.zone
cd /var/named/
cp -p named.localhost jluocc.cn.zone
vim jluocc.cn.zone
$TTL 1D //文件开头部分可保持不改
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS svs50.jluocc.cn. //本区域DNS服务器的FQDN
svs50 A 192.168.4.50 //为NS主机提供A记录
svs51 A 192.168.4.51 //其他正向地址记录.. ..
www A 192.168.4.52
4)启动 named 服务,并设置开机自启
systemctl start named
systemctl enable named
systemctl status named
1)修改配置文件/etc/resolv.conf,指定默认使用哪一台DNS服务器
vi /etc/resolv.conf
nameserver 192.168.4.50
2)使用host命令查询,提供目标域名作为参数
[root@server51 ~]# host svs50.jluocc.cn
svs50.jluocc.cn has address 192.168.4.50
[root@server51 ~]# host svs51.jluocc.cn
svs51.jluocc.cn has address 192.168.4.51
[root@server51 ~]# host www.jluocc.cn
www.jluocc.cn has address 192.168.4.52
[root@server51 ~]# ping www.jluocc.cn
PING www.jluocc.cn (192.168.4.52) 56(84) bytes of data.
64 bytes from 192.168.4.52 (192.168.4.52): icmp_seq=1 ttl=64 time=0.463 ms
1)修改DNS服务器上jluocc.cn区域的地址库文件,在末尾添加轮询地址记录
vim jluocc.cn.zone
www A 192.168.4.52
www A 192.168.4.110
www A 192.168.4.120
2)重启系统服务named
systemctl restart named
3)在客户机pc51上测试轮询记录
针对目标www.jluocc.cn执行多次查询,观察第1条结果的变化:
[root@server51 ~]# host www.jluocc.cn
www.jluocc.cn has address 192.168.4.52
www.jluocc.cn has address 192.168.4.110
www.jluocc.cn has address 192.168.4.120
[root@server51 ~]# host www.jluocc.cn
www.jluocc.cn has address 192.168.4.110
www.jluocc.cn has address 192.168.4.120
www.jluocc.cn has address 192.168.4.52
[root@server51 ~]# host www.jluocc.cn
www.jluocc.cn has address 192.168.4.110
www.jluocc.cn has address 192.168.4.52
www.jluocc.cn has address 192.168.4.120
1)修改DNS服务器上指定区域的地址库文件,在末尾添加*通配地址记录
vim jluocc.cn.zone
* A 192.168.4.130
2)重启系统服务named
systemctl restart named
3)在客户机pc51上测试多对一的泛域名解析记录
当查询未知站点(地址库中没有明确记录)时,以 * 对应的IP地址反馈:
[root@server51 ~]# host xxx.jluocc.cn
xxx.jluocc.cn has address 192.168.4.130
[root@server51 ~]# host bbb.jluocc.cn
bbb.jluocc.cn has address 192.168.4.130
[root@server51 ~]# host ccc.jluocc.cn
ccc.jluocc.cn has address 192.168.4.130
要求为上下级两个DNS区域建立父子关联,实现客户机向父DNS也可以查询
到子域内的FQDN,基本要求如下:
为一个DNS区域添加授权子域时,需要修改此区域的地址库,添加以下记录:
子域域名. IN NS 子DNS的FQDN.
子DNS的FQDN. IN A 子DNS的IP地址
1)将svr50配置为父DNS服务器,确认配置
主配置文件/etc/named.conf:
vim /etc/named.conf //建立新配置
options {
directory "/var/named"; //地址库默认存放位置
};
zone "jluocc.cn" { //定义正向DNS区域
type master; //主区域
file "jluocc.cn.zone"; //自定义地址库文件名
};
正向地址库文件:
vim jluocc.cn.zone
$TTL 1D //文件开头部分可保持不改
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS svs50.jluocc.cn. //本区域DNS服务器的FQDN
svs50 A 192.168.4.50 //为NS主机提供A记录
svs51 A 192.168.4.51 //其他正向地址记录.. ..
www A 192.168.4.52
确保服务已启用:
systemctl restart named
2)测试 —— 向父DNS可成功查询到父区域中的站点
[root@server51 ~]# host www.jluocc.cn 192.168.4.50
Using domain server:
Name: 192.168.4.50
Address: 192.168.4.50#53
Aliases:
www.jluocc.cn has address 192.168.4.110
www.jluocc.cn has address 192.168.4.120
www.jluocc.cn has address 192.168.4.52
1)将pc50配置为子DNS服务器,确认配置
安装软件包bind、bind-chroot:
yum -y install bind bind-chroot
建立主配置文件/etc/named.conf:
mv /etc/named.conf /etc/named.conf.origin
vim /etc/named.conf //建立新配置
options {
directory "/var/named"; //地址库默认存放位置
};
zone "bj.jluocc.cn" { //定义正向DNS区域
type master; //主区域
file "bj.jluocc.cn.zone"; //自定义地址库文件名
};
建立地址库配置文件:
cd /var/named/
cp -p named.localhost bj.jluocc.cn.zone
vim bj.jluocc.cn.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS svs51.bj.jluocc.cn.
svs51 A 192.168.4.51
www A 1.2.3.4
2)启动系统服务named,并设置开机自启
systemctl start named
systemctl enable named
systemctl status named
3)测试 —— 向子DNS可成功查询到子区域中的站点
[root@server51 named]# host www.bj.jluocc.cn 192.168.4.51
Using domain server:
Name: 192.168.4.51
Address: 192.168.4.51#53
Aliases:
www.bj.jluocc.cn has address 1.2.3.4
1)测试 —— 未配置子域授权时,向父DNS无法正确查询到子区域中的站点
若父DNS配置有 * 泛域名,则反馈的结果为对应的IP地址192.168.4.130,而不是子DNS中记
录的1.2.3.4:
[root@server51 named]# host www.bj.jluocc.cn 192.168.4.50
Using domain server:
Name: 192.168.4.50
Address: 192.168.4.50#53
Aliases:
www.bj.jluocc.cn has address 192.168.4.130
若父DNS未配置有 * 泛域名,则找不到解析结果(not found)
2)修改父DNS区域tedu.cn的地址库,添加授权子域信息
vim jluocc.cn.zone
bj.jluocc.cn. NS svs51.bj.jluocc.cn.
svs51.bj.jluocc.cn. A 192.168.4.51
systemctl restart named
测试 —— 成功配置子域授权以后,向父DNS可以正确查询到子区域中的站点:
[root@server51 named]# host www.bj.jluocc.cn 192.168.4.50
Using domain server:
Name: 192.168.4.50
Address: 192.168.4.50#53
Aliases:
www.bj.jluocc.cn has address 1.2.3.4
求熟悉缓存DNS的工作过程,准备一台可上网的RHEL7虚拟机,并完成下列任务:
1)建立主配置文件/etc/named.conf
当收到来自客户机的DNS查询请求时,转发到外网的其他DNS服务器
vim /etc/named.conf
options {
directory "/var/named"; //地址库默认存放位置
forwarders { 114.114.114.114; } ;
};
2)启动系统服务named,并设置开机自启
systemctl start named
systemctl enable named
systemctl status named
3)可向缓存DNS服务器pc50查询到公共域名(百度、网易等站点)
[root@server51 named]# host www.baidu.com 192.168.4.50
Using domain server:
Name: 192.168.4.50
Address: 192.168.4.50#53
Aliases:
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 14.215.177.39
www.a.shifen.com has address 14.215.177.38
[root@server51 named]# host www.163.com 192.168.4.50
Using domain server:
Name: 192.168.4.50
Address: 192.168.4.50#53
Aliases:
www.163.com is an alias for www.163.com.163jiasu.com.
www.163.com.163jiasu.com is an alias for www.163.com.bsgslb.cn.
www.163.com.bsgslb.cn is an alias for z163picipv6.v.bsgslb.cn.
z163picipv6.v.bsgslb.cn has address 118.121.192.154
z163picipv6.v.bsgslb.cn has address 118.121.192.152
z163picipv6.v.bsgslb.cn has address 118.121.192.153
z163picipv6.v.bsgslb.cn has address 118.121.192.156
z163picipv6.v.bsgslb.cn has IPv6 address 240e:974:c900:100::3:9
z163picipv6.v.bsgslb.cn has IPv6 address 240e:974:c900:100::3:8
z163picipv6.v.bsgslb.cn has IPv6 address 240e:97d:2008:60c::1f7
z163picipv6.v.bsgslb.cn has IPv6 address 240e:974:c900:100::3:7
z163picipv6.v.bsgslb.cn has IPv6 address 240e:97d:2008:60c::1f8
z163picipv6.v.bsgslb.cn has IPv6 address 240e:97d:2008:60c::1f5
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b
您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除
require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame
我有一个使用PDFKit呈现网页的pdf版本的Rails应用程序。我使用Thin作为开发服务器。问题是当我处于开发模式时。当我使用“bundleexecrailss”启动我的服务器并尝试呈现任何PDF时,整个过程会陷入僵局,因为当您呈现PDF时,会向服务器请求一些额外的资源,如图像和css,看起来只有一个线程.如何配置Rails开发服务器以运行多个工作线程?非常感谢。 最佳答案 我找到的最简单的解决方案是unicorn.geminstallunicorn创建一个unicorn.conf:worker_processes3然后使用它:
关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec
我将以下代码放在一起用于一个简单的RubyTFTP服务器。它工作正常,因为它监听端口69并且我的TFTP客户端连接到它,我能够将数据包写入test.txt,但我不只是写入数据包,我希望能够从我的客户端通过TFTP传输文件到/temp目录。预先感谢您的帮助!require'socket.so'classTFTPServerdefinitialize(port)@port=portenddefstart@socket=UDPSocket.new@socket.bind('',@port)whiletruepacket=@socket.recvfrom(1024)putspacketFile