自用虚拟局域网解决方案
WireGuard + dnsmasq 搭建自用虚拟局域网
这里我就不在废话,直接说明搭建步骤。
首先需要准备服务器若干,至少一个拥有公网端口的IP,独立IP或NAT均可(后续会将这个服务器叫做主服务器,其他的服务器均为从服务器)。
在主服务器上搭建Docker环境(直接裸机装也是可以的,就是麻烦些),具体安装步骤参考Ubuntu 安装 Docker
之后准备配置文件,我们指定一个工作路径/home/xxx/wireguard
:
之后都是DNS服务的配置文件,分离开来比较好管理
每多一个主域名,最好新建一个配置文件
有关dnsmasq这个DNS服务的其他配置我就不在过多说明了,直接问GPT了,以下是GPT的回答:
Dnsmasq是一个轻量级的DNS和DHCP服务器,常用于小型网络环境或者个人使用。它的配置文件提供了一些选项,用于定制DNS和DHCP服务的行为。以下是一些常见的Dnsmasq配置选项及其说明:
server:指定上游DNS服务器的地址。可以指定多个server选项,Dnsmasq将按顺序查询这些服务器。示例:server=8.8.8.8。
address:为指定的主机名分配一个特定的IP地址,可以用于局域网中的内部域名解析。示例:address=/myhost.local/192.168.1.100。
local:定义一个本地域名,与address不同,这些域名不会传递给上游DNS服务器,而是由Dnsmasq自己解析。示例:local=/localnet/。
dhcp-range:配置DHCP地址池范围和租期。示例:dhcp-range=192.168.1.50,192.168.1.100,12h。
dhcp-host:为指定的MAC地址分配一个特定的IP地址,以及可选的主机名。示例:dhcp-host=00:11:22:33:44:55,192.168.1.200,mydevice。
dhcp-option:设置DHCP选项,如默认网关、DNS服务器等。示例:dhcp-option=3,192.168.1.1。
expand-hosts:将局域网中的单标签主机名(没有域名后缀)扩展为配置的域名,以便解析。示例:expand-hosts。
domain:指定默认域名,用于简化局域网内的主机名解析。示例:domain=mylocalnet。
log-queries:启用查询日志记录。示例:log-queries。
log-facility:指定日志记录的设备和设备级别。示例:log-facility=/var/log/dnsmasq.log。
cache-size:设置DNS缓存大小。示例:cache-size=1000。
local-ttl:指定本地解析的TTL值。示例:local-ttl=300。
interface:指定Dnsmasq监听的网络接口。示例:interface=eth0。
no-resolv:防止Dnsmasq使用/etc/resolv.conf中的上游DNS服务器。示例:no-resolv。
user:指定Dnsmasq运行的用户。示例:user=dnsmasq。
这只是Dnsmasq配置文件中可用选项的一小部分。您可以在Dnsmasq的官方文档中找到完整的配置选项列表和详细说明。请注意,配置文件通常位于/etc/dnsmasq.conf,但有时也可以通过其他位置的配置文件进行自定义。
完成这些步骤后就可以执行docker-compose up -d
进行环境搭建了。之后访问咱们事先开好的临时访问端口即可看到如下画面:
登陆后即可进行新客户端的创建,下载好WireGuard客户端即可进行使用了。