Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 1.38 KB

USAGE.md

File metadata and controls

58 lines (44 loc) · 1.38 KB

How to install and use

Minimum go version 1.12 is required.

  1. Get the source code and compile
git clone https://github.com/zhoreeq/meshname.git
cd meshname
make
  1. Run the daemon
./meshnamed
  1. Optionally, set configuration flags
./meshnamed -listenaddr [::1]:53535 -debug
  1. See the list of all available flags
./meshnamed -help

Get meshname subdomain from an IPv6 address

./meshnamed -getname 200:f8b1:f974:967f:dd32:145d:1cc0:3679
aiaprmpzoslh7xjscrorzqbwpe

Use this subdomain with a .meshname TLD to configure DNS records on your authoritative server, (i.e. dnsmasq, bind or PopuraDNS).

systemd unit

Look for meshnamed.service in the source directory for a systemd unit file.

Configure dnsmasq as a primary DNS resolver with "meshname." support

/etc/dnsmasq.conf

port=53
domain-needed
bogus-priv
server=/meshname/::1#53535
server=8.8.8.8

Custom top level domains (TLD) and subnet filtering

meshnamed can be configured to resolve custom TLDs. To run meshnamed for TLD .newmesh with addresses in fd00::/8 set a flag -networks newmesh=fd00::/8.

By default, in addition to .meshname it also resolves .ygg for IPv6 addresses in 200::/7 subnet and .cjd for fc00::/8.

Requests are filtered by subnet validation. Request is ignored if a decoded IPv6 address doesn't match the specified subnet for a TLD.