mirror of
https://github.com/CHN-beta/nixos.git
synced 2026-01-11 16:49:22 +08:00
modules.services.xray.client: use coredns instead of dnsmasq
This commit is contained in:
@@ -37,7 +37,7 @@ inputs:
|
||||
xray.client =
|
||||
{
|
||||
xray.serverName = "xserver2.vps9.chn.moe";
|
||||
dnsmasq = { extraInterfaces = [ "enp3s0" ]; hosts."git.chn.moe" = "127.0.0.1"; };
|
||||
coredns = { extraInterfaces = [ "enp3s0" ]; hosts."git.chn.moe" = "127.0.0.1"; };
|
||||
};
|
||||
beesd."/".hashTableSizeMB = 10 * 128;
|
||||
postgresql.mountFrom = "ssd";
|
||||
|
||||
@@ -59,7 +59,7 @@ inputs:
|
||||
};
|
||||
};
|
||||
sshd = {};
|
||||
xray.client.dnsmasq =
|
||||
xray.client.coredns =
|
||||
{
|
||||
hosts = builtins.listToAttrs
|
||||
(
|
||||
|
||||
@@ -14,7 +14,7 @@ inputs:
|
||||
(inputs.lib.removeSuffix ".chn.moe" submoduleInputs.config.xray.serverName);
|
||||
};
|
||||
};
|
||||
dnsmasq =
|
||||
coredns =
|
||||
{
|
||||
extraInterfaces = mkOption { type = types.listOf types.nonEmptyStr; default = []; };
|
||||
hosts = mkOption { type = types.attrsOf types.nonEmptyStr; default = {}; };
|
||||
@@ -27,20 +27,26 @@ inputs:
|
||||
{
|
||||
services =
|
||||
{
|
||||
dnsmasq =
|
||||
coredns =
|
||||
{
|
||||
enable = true;
|
||||
settings =
|
||||
{
|
||||
no-poll = true;
|
||||
log-queries = true;
|
||||
server = [ "127.0.0.1#10853" ];
|
||||
interface = client.dnsmasq.extraInterfaces ++ [ "lo" ];
|
||||
bind-dynamic = true;
|
||||
address = builtins.map (host: "/${host.name}/${host.value}")
|
||||
(inputs.localLib.attrsToList client.dnsmasq.hosts);
|
||||
cname = [ "git.chn.moe,nas.ts.chn.moe" ];
|
||||
};
|
||||
config =
|
||||
let
|
||||
hosts = inputs.pkgs.writeText "coredns.hosts" (builtins.concatStringsSep "\n"
|
||||
(inputs.lib.mapAttrsToList (n: v: "${v} ${n}") client.coredns.hosts));
|
||||
in
|
||||
''
|
||||
. {
|
||||
log
|
||||
errors
|
||||
bind lo ${builtins.concatStringsSep " " client.coredns.extraInterfaces}
|
||||
hosts ${hosts} {
|
||||
fallthrough
|
||||
}
|
||||
rewrite name exact git.chn.moe nas.ts.chn.moe
|
||||
forward . 127.0.0.1:10853
|
||||
}
|
||||
'';
|
||||
};
|
||||
resolved.enable = false;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user