Netmaker
#代理 #网络
介绍
Netmaker是一个[[开源]]的、基于[[WireGuard]]的网络控制工具,可以非常快速的用来组建WireGuard网络。 Netmaker可以给两台设备之间组建网络,也可以为更多分布在不同地区的机器组建网络
类似的产品有Tailscale,ZeroTier。不同于这些产品,Netmaker使用WireGuard,所以连接更快。
Netmaker server的另外一个特点就是不会路由网络流量。Netmaker会告诉网络中的节点他们之间可以互相直接通信,这会让节点和节点之间的连接更快。即使管理机宕机,只要现存的节点没有变化,那么这个网络依然可以正常工作。
安装
要求
一个可用的域名(可选)
可以操作管理 DNS 服务(53端口)
保证 443(tcp), 53(tcp udp), 51821-518XX(udp) 端口可用
443 端口,Dashboard,REST API 和 gRPC
53 端口,CoreDNS
51821-518XX,WireGuard,每一个网络需要一个端口,起始端口会使用 51821,可以根据自己的网络端数量需要设定端口范围
需要注意的是,如果使用自己的域名需要添加一个泛域名 A 记录(wildcard A record),比如想要后台访问地址是 dashboard.nm.example.com 那么需要添加*.nm.example.com。 Caddy 会创建三个子域名:
dashboard.nm.example.com
api.nm.example.com
grpc.nm.example.com
docker-compose
从官网下载 docker-compose.yml 文件:
wget -O docker-compose.yml https://raw.githubusercontent.com/gravitl/netmaker/master/compose/docker-compose.contained.yml
sed -i 's/NETMAKER_BASE_DOMAIN/<your base domain>/g' docker-compose.yml
sed -i 's/SERVER_PUBLIC_IP/<your server ip>/g' docker-compose.yml
sed -i 's/COREDNS_IP/<default interface ip>/g' docker-compose.yml生成唯一的 master key:
tr -dc A-Za-z0-9 </dev/urandom | head -c 30 ; echo ''
sed -i 's/REPLACE_MASTER_KEY/<your generated key>/g' docker-compose.yml配置 Caddy
wget -O /root/Caddyfile https://raw.githubusercontent.com/gravitl/netmaker/master/docker/Caddyfile
sed -i 's/NETMAKER_BASE_DOMAIN/<your base domain>/g' /root/Caddyfile
sed -i 's/YOUR_EMAIL/<your email>/g' /root/Caddyfile然后启动:
sudo docker-compose up -d然后可以访问 dashboard.nm.example.com 后台。
最后更新于