gpt4 book ai didi

linux - 如何为开发机器设置本地绑定(bind)服务器以映射到服务器上的虚拟主机

转载 作者:太空宇宙 更新时间:2023-11-04 06:05:46 25 4
gpt4 key购买 nike

我正在尝试设置绑定(bind) DNS Controller https://wiki.archlinux.org/index.php/BIND在 arch linux 盒子上。我需要做的主要事情是,我将不再需要在我的 win7 开发盒上再次编辑 windows/system32/drivers/etc/hosts 文件,并且可以删除其中的每个自定义条目,并让 bind 为我映射虚拟主机条目。

这是我当前的/etc/named.conf http://dpaste.com/1XZ8JJR这是我的/var/named/falcon.local.zone http://dpaste.com/094JGPR

我正在将我的域名更改为 ld.pvt ,因此当您看到对 falcon.local 的引用时,这些引用正在升级

关于这台机器的更多信息,主机名:falcon,多种角色;主备份 san zfs 阵列、apache LAMP 堆栈(仅限个人内部专业开发)、dns(新)、ssh 等。

我想要的是这台 dns 服务器计算机(falcon)来提供其虚拟主机资源,这些资源都共享相同的子域(ld.pvt)。
资源可能如下所示:

bleedingedgewebsites.com.ld.pvt (domain mimick, for development)
falcon.ld.pvt (root address, this one will just list directory, so i can easily click into any forgotton resources or resources missing vhost entries)
phpmyadmin.ld.pvt
tickets.ld.pvt
jenkins.ld.pvt

在区域文件中,我更喜欢对内部资源使用通配符,但不必这样做(例如*.ld.pvt)),那么我就不需要单独列出每个资源,并且每次我都会想出一些新的东西。 ,我只想将条目添加到虚拟主机文件中,然后在开发机器的地址栏中输入它,VIOLA!

这些可以是 A 记录和/或 CNAMES 吗?

(经过最近的研究,我了解到通配符可能会出现在虚拟主机中,并且这里只需要一个条目......)

区域 SOA 应该是 ns1.ld.pvt ,或<hostname>.ld.pvt ,还是前者,但两者都有 A 记录?

Arch 网站上还有另一个示例。我夹在这两者之间https://wiki.archlinux.org/index.php/BIND#1._Creating_a_zonefile有一个免责声明,它只是一个起点,所有其他更多的是我需要的,但不是特定于拱门的,就像这些 https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-14-04 https://help.github.com/articles/tips-for-configuring-an-a-record-with-your-dns-provider/都一样吗?

我都需要一个很好的例子/var/named/ld.pvt.zone/etc/named.conf 主条目

我只需要任何一个可行的解决方案即可开始。

最佳答案

为了使绑定(bind)正常工作,需要遵循一些规则来正确配置它。

您需要选择一个域,为其添加区域记录,在该区域记录内仅在顶部添加一个主机名条目,否则所有提及的内容都只是域。

在配置文件中,所有域名都以点结尾是个好习惯,例如域名.com。

NS名称,可以是域名。

A 记录可以是机器的 IP,而不是本地主机,因为网络中的其他机器将拉取指定的 IP。

一旦你有了记录,你就可以疯狂地添加你的域名,或者你可以使用通配符,这就是我所做的。因此,现在以我选择的域结尾的所有域都映射到 Web 开发内容。

在要使用 DNS 服务的机器上的适配器的 IP 属性中进行 DNS 设置,即客户端,要将 DNS 设置为 DNS 服务器的 lan ip。

只需调整/etc/named.conf、/var/named/ld.pvt.zone 以及我上面提到的 IP 属性。

这是配置文件,请享用!

/etc/named.conf

// vim:set ts=4 sw=4 et:

acl "trusted" {
192.168.1.0/24;
127.0.0.0/8;
};

options {
directory "/var/named";
pid-file "/run/named/named.pid";
listen-on { trusted; };
listen-on-v6 { any; };
allow-query { trusted; };
allow-transfer { none; };
allow-update { none; };
forwarders {
8.8.4.4;
8.8.8.8;
};
query-source address * port 53;
version none;
hostname none;
server-id none;
};

logging {
channel default_file {
file "/var/log/named/default.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel general_file {
file "/var/log/named/general.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel database_file {
file "/var/log/named/database.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel security_file {
file "/var/log/named/security.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel config_file {
file "/var/log/named/config.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel resolver_file {
file "/var/log/named/resolver.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel xfer-in_file {
file "/var/log/named/xfer-in.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel xfer-out_file {
file "/var/log/named/xfer-out.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel notify_file {
file "/var/log/named/notify.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel client_file {
file "/var/log/named/client.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel unmatched_file {
file "/var/log/named/unmatched.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel queries_file {
file "/var/log/named/queries.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel network_file {
file "/var/log/named/network.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel update_file {
file "/var/log/named/update.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel dispatch_file {
file "/var/log/named/dispatch.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel dnssec_file {
file "/var/log/named/dnssec.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
channel lame-servers_file {
file "/var/log/named/lame-servers.log" versions 3 size 5m;
severity dynamic;
print-time yes;
};
category default { default_file; };
category general { general_file; };
category database { database_file; };
category security { security_file; };
category config { config_file; };
category resolver { resolver_file; };
category xfer-in { xfer-in_file; };
category xfer-out { xfer-out_file; };
category notify { notify_file; };
category client { client_file; };
category unmatched { unmatched_file; };
category queries { queries_file; };
category network { network_file; };
category update { update_file; };
category dispatch { dispatch_file; };
category dnssec { dnssec_file; };
category lame-servers { lame-servers_file; };
};

zone "ld.pvt" IN {
type master;
file "ld.pvt.zone";
};

/var/named/ld.pvt.zone

$TTL 7200
@ 1D IN SOA ld.pvt. root.ld.pvt. (
2007011622 ; Serial
3H ; Refresh
15M ; Retry
1W ; Expire - 1 week
1D ) ; Minimum

IN NS ld.pvt.
ld.pvt. IN A 192.168.1.10
*.ld.pvt. IN CNAME ld.pvt.

你可能需要

# mkdir /var/db/nscd
# touch /etc/netgroup
# systemctl restart named

使用journalctl -xn 查找错误。

一旦运行,您应该能够 ping Anything.ld.pvt,现在您的虚拟主机将知道该怎么做!

现在,在您的客户端计算机上,您需要调整 DNS,并刷新 dns 解析器缓存。nscd -K 然后 nscd 或者对于 winbox,ipconfig/flushdns,然后尝试在 LAN 上 ping 到新的 everything.ld.pvt。

要将您的客户端盒子放在 map 上,您需要添加一条 A 记录,指向其 ip,例如automated-pooper-scooper.ld.pvt。在192.168.1.44

关于linux - 如何为开发机器设置本地绑定(bind)服务器以映射到服务器上的虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29873260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com