105 lines
2.6 KiB
Nix
105 lines
2.6 KiB
Nix
|
{ pkgs
|
||
|
, lib
|
||
|
, config
|
||
|
, ... }:
|
||
|
|
||
|
let
|
||
|
keys = import ../../../variables/keys.nix;
|
||
|
in {
|
||
|
|
||
|
# TASK: new device
|
||
|
networking.hostName = "fwhost2"; # Define your hostname.
|
||
|
|
||
|
networking.useDHCP = false;
|
||
|
|
||
|
networking.firewall.enable = lib.mkForce false;
|
||
|
networking.firewall.allowedTCPPorts = [
|
||
|
# iperf3
|
||
|
5201
|
||
|
];
|
||
|
|
||
|
networking.firewall.logRefusedConnections = false;
|
||
|
networking.usePredictableInterfaceNames = false;
|
||
|
|
||
|
networking.bridges = {
|
||
|
breth.interfaces = [ "eth0" "eth1" ];
|
||
|
brlan.interfaces = [
|
||
|
"lan"
|
||
|
# "wllan"
|
||
|
];
|
||
|
brdmz.interfaces = [
|
||
|
"dmz"
|
||
|
# "wldmz"
|
||
|
];
|
||
|
brfamily.interfaces = [
|
||
|
"family"
|
||
|
# "wlfamily"
|
||
|
];
|
||
|
brguests.interfaces = [
|
||
|
"guests"
|
||
|
"wlguests"
|
||
|
];
|
||
|
};
|
||
|
|
||
|
networking.defaultGateway.address = "172.172.171.10";
|
||
|
networking.nameservers = [
|
||
|
"172.172.171.10"
|
||
|
];
|
||
|
|
||
|
# WAN interfaces, currently unused because the OPNsense guest acts as a router.
|
||
|
networking.vlans.wan1.id = 3;
|
||
|
networking.vlans.wan1.interface= "breth";
|
||
|
networking.interfaces.wan1.ipv4.addresses = [{ address = "192.168.0.16"; prefixLength = 24; } ];
|
||
|
|
||
|
networking.vlans.wan2.id = 4;
|
||
|
networking.vlans.wan2.interface= "breth";
|
||
|
networking.interfaces.wan2.ipv4.addresses = [{ address = "172.16.0.16"; prefixLength = 12; } ];
|
||
|
|
||
|
|
||
|
# Local interfaces
|
||
|
networking.vlans.lan.id = 1;
|
||
|
networking.vlans.lan.interface= "breth";
|
||
|
networking.interfaces.brlan.ipv4.addresses = [{ address = "172.172.171.16"; prefixLength = 24; } ];
|
||
|
|
||
|
networking.vlans.dmz.id = 5;
|
||
|
networking.vlans.dmz.interface= "breth";
|
||
|
networking.interfaces.brdmz.ipv4.addresses = [{ address = "172.172.175.16"; prefixLength = 24; } ];
|
||
|
|
||
|
networking.vlans.family.id = 6;
|
||
|
networking.vlans.family.interface= "breth";
|
||
|
networking.interfaces.brfamily.ipv4.addresses = [{ address = "172.172.176.16"; prefixLength = 24; } ];
|
||
|
|
||
|
networking.vlans.guests.id = 7;
|
||
|
networking.vlans.guests.interface= "breth";
|
||
|
networking.interfaces.brguests.ipv4.addresses = [{ address = "172.172.177.16"; prefixLength = 24; } ];
|
||
|
|
||
|
networking.wlanInterfaces = {
|
||
|
wllan.device = "wlan0";
|
||
|
wldmz.device = "wlan0";
|
||
|
wlfamily.device = "wlan0";
|
||
|
wlguests.device = "wlan0";
|
||
|
};
|
||
|
|
||
|
services.hostapd = {
|
||
|
enable = true;
|
||
|
hwMode = "g";
|
||
|
interface = "wlguests";
|
||
|
ssid = "noowhere-guests";
|
||
|
wpaPassphrase = "the_sekrettt";
|
||
|
};
|
||
|
|
||
|
virtualisation = {
|
||
|
libvirtd = {
|
||
|
onShutdown = "shutdown";
|
||
|
enable = true;
|
||
|
};
|
||
|
|
||
|
docker = {
|
||
|
enable = true;
|
||
|
extraOptions = "--experimental";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest;
|
||
|
}
|