NAT/forwarding PXE -> Internet (routage manquant)
This commit is contained in:
@@ -20,6 +20,11 @@ let
|
|||||||
interface = "enp0s31f6";
|
interface = "enp0s31f6";
|
||||||
serverIp = "192.168.1.10";
|
serverIp = "192.168.1.10";
|
||||||
|
|
||||||
|
# Interface par laquelle CE serveur a lui-même accès à Internet — c'est
|
||||||
|
# elle qui sert de sortie NAT pour le segment PXE (utile seulement en
|
||||||
|
# standaloneDhcp = true, où ce serveur est aussi la passerelle).
|
||||||
|
internetInterface = "wlp3s0";
|
||||||
|
|
||||||
fleetRepo = "git+https://gitea.miniclic.net/Damien/Nixos_Fleet.git";
|
fleetRepo = "git+https://gitea.miniclic.net/Damien/Nixos_Fleet.git";
|
||||||
webroot = "/var/www/pxe";
|
webroot = "/var/www/pxe";
|
||||||
tftpRoot = "/var/lib/tftpboot";
|
tftpRoot = "/var/lib/tftpboot";
|
||||||
@@ -85,8 +90,13 @@ in
|
|||||||
"dhcp-range" = [ "192.168.1.50,192.168.1.150,12h" ]; # à adapter au réseau cible
|
"dhcp-range" = [ "192.168.1.50,192.168.1.150,12h" ]; # à adapter au réseau cible
|
||||||
# port = 0 désactive le DNS de dnsmasq : sans ça, les PC installés
|
# port = 0 désactive le DNS de dnsmasq : sans ça, les PC installés
|
||||||
# via DHCP de ce serveur n'ont aucun serveur DNS fonctionnel et ne
|
# via DHCP de ce serveur n'ont aucun serveur DNS fonctionnel et ne
|
||||||
# peuvent résoudre ni GitHub ni Gitea pendant l'install.
|
# peuvent résoudre ni GitHub ni Gitea pendant l'install. Pareil
|
||||||
"dhcp-option" = [ "option:dns-server,1.1.1.1,9.9.9.9" ];
|
# pour la passerelle : sans "router" explicite, les PC installés
|
||||||
|
# n'ont aucune route vers Internet (voir networking.nat plus bas).
|
||||||
|
"dhcp-option" = [
|
||||||
|
"option:dns-server,1.1.1.1,9.9.9.9"
|
||||||
|
"option:router,${serverIp}"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ "dhcp-range" = [ "192.168.1.0,proxy" ]; } # à adapter au sous-réseau existant
|
{ "dhcp-range" = [ "192.168.1.0,proxy" ]; } # à adapter au sous-réseau existant
|
||||||
@@ -179,6 +189,17 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Route + NAT le segment PXE vers Internet via internetInterface. Sans
|
||||||
|
# ça, les PC installés reçoivent bien une IP/passerelle/DNS mais aucun
|
||||||
|
# paquet ne sort réellement du segment 192.168.1.0/24 — uniquement
|
||||||
|
# nécessaire en standaloneDhcp = true (ce serveur EST la passerelle).
|
||||||
|
boot.kernel.sysctl."net.ipv4.ip_forward" = lib.mkIf standaloneDhcp 1;
|
||||||
|
networking.nat = lib.mkIf standaloneDhcp {
|
||||||
|
enable = true;
|
||||||
|
internalInterfaces = [ interface ];
|
||||||
|
externalInterface = internetInterface;
|
||||||
|
};
|
||||||
|
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
# git installé pour de bon (pull/push manuels sans réouvrir un
|
# git installé pour de bon (pull/push manuels sans réouvrir un
|
||||||
|
|||||||
Reference in New Issue
Block a user