66 lines
1.6 KiB
Nix
66 lines
1.6 KiB
Nix
{config, lib, pkgs, ...}: {
|
|
boot.kernel.sysctl = {
|
|
"net.ipv4.conf.all.forwarding" = true;
|
|
"net.ipv6.conf.all.forwarding" = true;
|
|
};
|
|
networking = {
|
|
interfaces = {
|
|
# wan wifi
|
|
wlo1.useDHCP = true;
|
|
|
|
# cri
|
|
enp1s0.useDHCP = true;
|
|
|
|
# HPE
|
|
enp2s0 = {
|
|
useDHCP = false;
|
|
ipv4.addresses = [{
|
|
address = "129.199.156.112";
|
|
prefixLength = 32;
|
|
}];
|
|
mtu = 9000;
|
|
};
|
|
|
|
# thurne
|
|
enp3s0 = {
|
|
useDHCP = false;
|
|
ipv4.addresses = [{
|
|
address = "192.168.42.1";
|
|
prefixLength = 24;
|
|
}];
|
|
mtu = 9000;
|
|
};
|
|
};
|
|
|
|
nat = {
|
|
enable = true;
|
|
extraCommands = ''
|
|
iptables -t nat -A POSTROUTING -o wlo1 -j MASQUERADE
|
|
iptables -t nat -A POSTROUTING -o enp1s0 -j MASQUERADE
|
|
'';
|
|
};
|
|
firewall = {
|
|
enable = true;
|
|
extraCommands = ''
|
|
iptables -A FORWARD -i enp3s0 -o wlo1 -j ACCEPT
|
|
iptables -A FORWARD -i wlo1 -o enp3s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
|
|
|
|
iptables -A FORWARD -i enp3s0 -o enp1s0 -j ACCEPT
|
|
iptables -A FORWARD -i enp1s0 -o enp3s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
|
|
|
|
iptables -A FORWARD -i enp2s0 -o enp1s0 -j ACCEPT
|
|
iptables -A FORWARD -i enp1s0 -o enp2s0 -j ACCEPT
|
|
'';
|
|
};
|
|
};
|
|
services.dnsmasq = {
|
|
enable = true;
|
|
settings = {
|
|
interface = [ "enp2s0" "enp3s0" ];
|
|
bind-dynamic = true;
|
|
dhcp-option = "3,0.0.0.0";
|
|
dhcp-range = "192.168.42.2,192.168.42.254,255.255.255.0,12h";
|
|
# dhcp-host = "a8:b1:3b:75:6f:92,129.199.224.96";
|
|
};
|
|
};
|
|
}
|