Compare commits
	
		
			3 Commits
		
	
	
		
			a0e4cf2479
			...
			5ccf19cab8
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5ccf19cab8 | |||
| 7b61dd7f03 | |||
| 682865a0e1 | 
| @@ -60,8 +60,8 @@ in | |||||||
|           kernelPackages = (lib.my.c.kernel.lts pkgs).extend (self: super: { |           kernelPackages = (lib.my.c.kernel.lts pkgs).extend (self: super: { | ||||||
|             kernel = super.kernel.override { |             kernel = super.kernel.override { | ||||||
|               structuredExtraConfig = with lib.kernel; { |               structuredExtraConfig = with lib.kernel; { | ||||||
|                 #SOME_OPT = yes; |                 ACPI_APEI_PCIEAER = yes; | ||||||
|                 #A_MOD = module; |                 PCIEAER = yes; | ||||||
|               }; |               }; | ||||||
|             }; |             }; | ||||||
|           }); |           }); | ||||||
| @@ -150,12 +150,12 @@ in | |||||||
|             "serial-getty@ttyS1".enable = true; |             "serial-getty@ttyS1".enable = true; | ||||||
|             lvm-activate-main = { |             lvm-activate-main = { | ||||||
|               description = "Activate remaining LVs"; |               description = "Activate remaining LVs"; | ||||||
|               before = [ "local-fs-pre.target" ]; |               unitConfig.DefaultDependencies = false; | ||||||
|               serviceConfig = { |               serviceConfig = { | ||||||
|                 Type = "oneshot"; |                 Type = "oneshot"; | ||||||
|                 ExecStart = "${pkgs.lvm2.bin}/bin/vgchange -aay main"; |                 ExecStart = "${pkgs.lvm2.bin}/bin/vgchange -aay main"; | ||||||
|               }; |               }; | ||||||
|               wantedBy = [ "sysinit.target" ]; |               wantedBy = [ "local-fs-pre.target" ]; | ||||||
|             }; |             }; | ||||||
|  |  | ||||||
|             rsync-lvm-meta = { |             rsync-lvm-meta = { | ||||||
|   | |||||||
| @@ -9,6 +9,7 @@ in | |||||||
|     vpns = { |     vpns = { | ||||||
|       l2 = { |       l2 = { | ||||||
|         as211024 = { |         as211024 = { | ||||||
|  |           udpEncapsulation = true; | ||||||
|           vni = 211024; |           vni = 211024; | ||||||
|           security.enable = true; |           security.enable = true; | ||||||
|           peers = { |           peers = { | ||||||
|   | |||||||
| @@ -135,6 +135,7 @@ let | |||||||
|       ipv6 = mkBoolOpt' false "Whether this mesh's underlay operates over IPv6."; |       ipv6 = mkBoolOpt' false "Whether this mesh's underlay operates over IPv6."; | ||||||
|       baseMTU = mkOpt' ints.unsigned 1500 "Base MTU to calculate VXLAN MTU with."; |       baseMTU = mkOpt' ints.unsigned 1500 "Base MTU to calculate VXLAN MTU with."; | ||||||
|       l3Overhead = mkOpt' ints.unsigned 40 "Overhead of L3 header (to calculate MTU)."; |       l3Overhead = mkOpt' ints.unsigned 40 "Overhead of L3 header (to calculate MTU)."; | ||||||
|  |       udpEncapsulation = mkBoolOpt' false "Whether to encapsulate ESP frames in UDP."; | ||||||
|       firewall = mkBoolOpt' true "Whether to generate firewall rules."; |       firewall = mkBoolOpt' true "Whether to generate firewall rules."; | ||||||
|       vni = mkOpt' ints.unsigned 1 "VXLAN VNI."; |       vni = mkOpt' ints.unsigned 1 "VXLAN VNI."; | ||||||
|       peers = mkOpt' (attrsOf (submodule l2PeerOpts)) { } "Peers."; |       peers = mkOpt' (attrsOf (submodule l2PeerOpts)) { } "Peers."; | ||||||
|   | |||||||
| @@ -36,8 +36,8 @@ let | |||||||
|         espOverhead = |         espOverhead = | ||||||
|           if (!mesh.security.enable) then 0 |           if (!mesh.security.enable) then 0 | ||||||
|           else |           else | ||||||
|             # SPI + seq + IV + pad / header + ICV |             # UDP encap + SPI + seq + IV + pad / header + ICV | ||||||
|             4 + 4 + (if mesh.security.encrypt then 8 else 0) + 2 + 16; |             (if mesh.udpEncapsulation then 8 else 0) + 4 + 4 + (if mesh.security.encrypt then 8 else 0) + 2 + 16; | ||||||
|         # UDP + VXLAN + Ethernet + L3 (IPv4/IPv6) |         # UDP + VXLAN + Ethernet + L3 (IPv4/IPv6) | ||||||
|         overhead = espOverhead + 8 + 8 + 14 + mesh.l3Overhead; |         overhead = espOverhead + 8 + 8 + 14 + mesh.l3Overhead; | ||||||
|       in |       in | ||||||
| @@ -62,7 +62,11 @@ let | |||||||
|       chain l2mesh-${name} { |       chain l2mesh-${name} { | ||||||
|         ${optionalString mesh.security.enable '' |         ${optionalString mesh.security.enable '' | ||||||
|           udp dport isakmp accept |           udp dport isakmp accept | ||||||
|           meta l4proto esp accept |           ${if mesh.udpEncapsulation then '' | ||||||
|  |             udp dport ipsec-nat-t accept | ||||||
|  |           '' else '' | ||||||
|  |             meta l4proto esp accept | ||||||
|  |           ''} | ||||||
|         ''} |         ''} | ||||||
|         ${optionalString (!mesh.security.enable) (vxlanAllow mesh.vni)} |         ${optionalString (!mesh.security.enable) (vxlanAllow mesh.vni)} | ||||||
|         return |         return | ||||||
| @@ -94,6 +98,7 @@ let | |||||||
|           esp=${if mesh.security.encrypt then "aes_gcm256" else "null-sha256"} |           esp=${if mesh.security.encrypt then "aes_gcm256" else "null-sha256"} | ||||||
|           ikev2=yes |           ikev2=yes | ||||||
|           modecfgpull=no |           modecfgpull=no | ||||||
|  |           encapsulation=${if mesh.udpEncapsulation then "yes" else "no"} | ||||||
|         ''; |         ''; | ||||||
|       }) |       }) | ||||||
|     otherPeers); |     otherPeers); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user