我想foo.
为我的专用网络设置一个新的 TLD ( ),以便我可以托管一些可以从网络内部访问的子域。为此,我为foo.
. 为此,我创建了一个foo-zonedb.rr
包含以下记录的区域文件:
$ORIGIN foo.
$TTL 100
@ IN SOA ns1.tld.foo. hostmaster.tld.foo (
2012030701
900
300
300
600
)
@ 300 IN NS ns1.tld.foo.
@ 300 IN A 172.16.143.197
ns1.tld.foo. 300 IN A 172.16.143.197
Run Code Online (Sandbox Code Playgroud)
而且我还添加了以下条目 /etc/named.conf
zone "foo." {
type master;
file "foo-zonedb.rr";
notify explicit;
};
Run Code Online (Sandbox Code Playgroud)
现在假设网络上的每台机器都172.16.1.1
用作它们的 DNS 服务器。我应该做什么配置,172.16.1.1
以便它不会将foo.
域的DNS 请求重定向到根 DNS 服务器?
我的理解是,使用 localhost 绑定到端口的套接字对子网不可见,因为绑定不是使用 nic IP 地址。连接到此类端口的本地进程将创建一个 unix 管道而不是 IP 套接字。但是,如果绑定到 nic IP 地址,则该端口对子网可见。我想了解在连接到绑定到 localhost 和 nic IP 的端口时建立的连接类型。
** 绑定到本地主机的端口 **
** 绑定到网卡 IP 的端口 **
以上说法正确吗?我正在审查这个站点的网络编程:
http://beej.us/guide/bgipc/output/html/multipage/unixsock.html
希望有更多的见识。
我的服务器上有这些文件夹:
/share1
/home/user
Run Code Online (Sandbox Code Playgroud)
两者实际上都在同一个分区上。现在我希望能够直接在服务器上的这两个文件夹之间移动文件(没有任何数据传输到客户端)。
我使用 Samba 和符号链接进行了良好的工作设置,但出于性能原因,我切换到 NFS。
现在符号链接显然不再起作用,所以我使用了mount --bind
:
mount --bind /share1 /home/user/share1
Run Code Online (Sandbox Code Playgroud)
我现在意识到这mount --bind
会创建文件系统边界,这样 NFS 和 Samba 都不能再执行服务器端移动。
有没有办法避免这种情况(例如某些安装选项)?
或者有没有一种方法可以从一个分区创建多个 NFS 导出,并且仍然能够在客户端上执行服务器端移动?
是否可以使用 DNSMasq 执行水平分割?我用谷歌搜索过,似乎只有 Bind9 才有可能,任何建议都会非常有用
$ dnssec-keygen -a HMAC-MD5 -b 512 -n HOST {host}
Run Code Online (Sandbox Code Playgroud)
以上导致空行和无休止的等待
$ dnssec-keygen -T DNSKEY -a HMAC-MD5 -b 512 -n HOST {host}
Run Code Online (Sandbox Code Playgroud)
相同
熵:
$ cat /proc/sys/kernel/random/entropy_avail
890
Run Code Online (Sandbox Code Playgroud)
附:我试图通过find /制造一些噪音,但没有带来任何结果
我已经用 bind9 配置了一个 CC TLD。我也成功配置了查询日志记录。但我无法记录查询响应。
请看一下我为查询日志配置的内容:
logging {
channel queries_file {
file "/var/named/chroot/var/log/named/queries.log" versions 10 size 10G;
severity dynamic;
print-category yes;
print-severity yes;
print-time yes;
};
category queries { queries_file; };
};
Run Code Online (Sandbox Code Playgroud)
此脚本仅记录来自外部的查询。
如何记录这些请求的服务器响应。
我们知道我们可以通过执行以下步骤来更新记录(其 IP):
nsupdate
server ns.bar44.com
zone bar44.com
update delete somehost.bar44.com. A
update add somehost.bar44.com. 86400 A 10.10.10.1
show
send
Run Code Online (Sandbox Code Playgroud)
正如我们所看到的,我们知道 somehost.bar44.com。存在于数据库中,如果我想更新现有记录的 IP,这将起作用,但如果我想更改主机名而不是 IP,该怎么办?例如,我想将 10.10.10.1 设置为 somehost22.bar44.com 的 IP。什么能让我知道 IP 已被 somehost.bar44.com 占用?
这是使用 nsupdate 删除某个区域的整个数据库的方法吗?
我们都知道该access.log
文件记录了 Squid 的访问信息:
1286536351.746 41762 192.168.1.17 TCP_MISS/200 5340945 GET http://v15.lscache3.c.youtube.com/videoplayback? - DIRECT/122.160.120.150 video/x-flv
1286536351.746 41762 192.168.1.18 TCP_MISS/200 5340945 GET http://v15.lscache3.c.youtube.com/videoplayback? - DIRECT/122.160.120.150 video/x-flv
Run Code Online (Sandbox Code Playgroud)
我们也都知道squid使用文件/etc/resolv.conf
来确定它所处理的DNS服务器,所以如果我们想让squid与本地DNS服务器打交道,我们在文件中输入本地DNS服务器/etc/resolv.conf
。
如果本地 DNS 服务器有这样的记录(在其反向区域 (1.168.192.in-addr.arpa))怎么办:
$TTL 60 ; 1 minute
17 PTR Mark.
18 PTR Mike.
Run Code Online (Sandbox Code Playgroud)
我可以配置 Squid 进行反向查找(询问日志文件中 IP 地址的名称)并将名称添加到access.log
记录中,例如:
我想做这个记录:
1286536351.746 41762 192.168.1.17 ......
Run Code Online (Sandbox Code Playgroud)
是这样的:
1286536351.746 41762 192.168.1.17 Mark ......
Run Code Online (Sandbox Code Playgroud)
我怎样才能达到这个目标?
我可以用乌贼logformats像%>a
并%>A
得到我想要的东西?
只是想了解bindkeys-file
绑定配置中与 DNSSEC 扩展相关的指令。那是公钥吗?它是否以与数字签名相同的方式签署响应?
我成功地在bind9
服务器上使用了一个小的(20,000 个条目)区域文件,但是今天我的数据提供者发送了一个更新,导致区域文件变成了 300,000+ 个条目(30Mb+)。
问题是服务器不会以此区域文件启动。该named-checkconf
不会报告任何错误。没有可用的日志消息(或者我无法正确记录它们)。
我想知道是否bind9
能够处理大型配置文件,如果是,我该如何修复它。如果没有,我想知道是否有解决此问题的方法。也许可以将条目存储在数据库中?
我正在尝试使用的区域文件可以从这里下载。
更新:
service bind9 status
显示了一些可能相关的信息:
adjusted limit on open files from 4096 to 1048576
found 1 CPU, using 1 worker thread
using 1 UDP listener per interface
using up to 4096 sockets
loading configuration from '/etc/bind/named.conf'
Run Code Online (Sandbox Code Playgroud)
我不太确定如何解释或使用这些信息......有什么想法吗?此外,我无法找到bind9
日志所在的位置:/var/log/
没有bind9
条目。谁能告诉我它们在 Debian Jessie 上的位置?