联系电话: 18171260050

技术文档

  • 13,Nov,2024

zeroconf IP 和 DNS 配置

示例:zeroconf IP 和 DNS 配置
本示例描述了如何设置没有集中式 DHCP 服务器和自动 DNS 解析以及最低配置的网络。您需要启动并运行 Avahi mDNS 守护程序(不是本指南的一部分,请参考您的发行版):http ://avahi.org/

设置 Avahi 主机名解析:
这将允许您的计算机解析以 something.local 形式寻址的 mDNS 主机名。为此,请 在输入之前编辑/etc/nsswitch.conf并附加“ mdns_minimal [NOTFOUND=return]” ,例如我的配置是:hosts:dns

hosts: files myhostname mdns_minimal [NOTFOUND=return] dns
(请注意,您可以使用不同于 .local 的顶级域名,但在这种情况下您需要使用mdnsentry 而不是 mdns_minimal.)

自动 IP 分配和网络设置:
按照手册中的“如何配置”指南创建密钥对和文件夹,然后编辑tinc.conf并插入“ Mode = switch”,这将允许所有节点监听相同的子网掩码,从而简化配置(尽管这会增加流量,因为所有节点都会获取数据)。默认情况下,子网掩码为 169.254.0.0/16。我们将更改 tinc-up启动 VPN 接口的方式; ifconfig我们将使用 而不是使用 来启动接口 avahi-autoipd。这会带来许多好处:

Avahi 自动 IP 守护程序会根据可用池自动分配 IP 地址。
它将是在 mDNS 解析网络中发布主机名,并且还将充当 Avahi 守护进程的控制器,允许浏览或发布 Avahi 服务。
因此,在tinc-up脚本中您将看到类似这样的一行: avahi-autoipd -D $INTERFACE。就是这样!您的 VPN 将自动分配 IP 地址,并在启动后自动解析 DNS 条目。为了列出网络上的机器,您可以使用以下命令:avahi-browse -d networkname。

有用的信息:
您可以使用 为 VPN 节点插入静态主机名解析 /etc/avahi/hosts,类似于。您可以在呼叫时通过附加“ wantedip/etc/hosts ”手动请求首选 IP 。avahi-autoipd-S

示例配置:
在我的配置中,我有一台可以连接所有设备的 PC(alarmpi,可通过 LAN 地址 192.168.1.12 和公共地址 alarmpi.example.com 访问),还有一台笔记本电脑和一部可以访问它的手机。

Alarmpi 的tinc.conf:

Name = alarmpi
Mode = switch
笔记本电脑的tinc.conf:

ConnectTo = alarmpi
Name = laptop
Mode = switch
电话tinc.conf:

ConnectTo = alarmpi
Name = phone
Mode = switch
每个节点都有相同的tinc-up:

#!/bin/sh
avahi-autoipd -D $INTERFACE
hosts/alarmpi:

Address = 192.168.1.12
Address = alarmpi.example.com

-----BEGIN RSA PUBLIC KEY-----
snip
-----END RSA PUBLIC KEY-----
hosts/laptop:

-----BEGIN RSA PUBLIC KEY-----
snip
-----END RSA PUBLIC KEY-----
hosts/phone:

-----BEGIN RSA PUBLIC KEY-----
snip
-----END RSA PUBLIC KEY-----