container { name pihole { cap-add net-admin environment TZ { value America/Los_Angeles } environment WEBPASSWORD { value Raider8-Payable-Veto-Dictation } image pihole/pihole memory 256 network default { address 172.18.0.2 } port webui { destination 80 protocol tcp source 80 } } network default { prefix 172.18.0.0/16 } } firewall { all-ping enable broadcast-ping disable ipv6-receive-redirects disable ipv6-src-route disable ip-src-route disable log-martians enable name IN_LOCAL { default-action accept } name IN_WAN { default-action accept } name LOCAL_IN { default-action accept } name LOCAL_WAN { default-action accept } name WAN_IN { default-action drop description "WAN to internal" rule 10 { action accept description "Allow established/related" state { established enable related enable } } rule 20 { action drop description "Drop invalid state" state { invalid enable } } rule 1000 { action accept description Plex destination { port 32400 } protocol tcp_udp state { new enable } } rule 1001 { action accept description BitTorrent destination { port 50000 } protocol tcp_udp state { new enable } } rule 1002 { action accept description WireGuard destination { port 53820-53829 } protocol tcp_udp state { new enable } } rule 1003 { action accept description Minecraft destination { port 25565 } protocol tcp_udp state { new enable } } rule 1004 { action accept description Iperf destination { port 50201 } protocol tcp_udp state { new enable } } rule 1005 { action accept description Web destination { port 443,80 } protocol tcp_udp state { new enable } } rule 1007 { action accept description "Git SSH" destination { port 2228-2229 } protocol tcp_udp state { new enable } } rule 1008 { action accept description SFTP destination { port 23450 } protocol tcp_udp state { new enable } } } name WAN_LOCAL { default-action drop description "WAN to router" rule 10 { action accept description "Allow established/related" state { established enable related enable } } rule 20 { action accept protocol icmp state { new enable } } rule 30 { action drop description "Drop invalid state" state { invalid enable } } } receive-redirects disable send-redirects enable source-validation disable syn-cookies enable } interfaces { ethernet eth0 { address 192.168.200.1/24 description "Emergency ad-hoc" duplex auto hw-id d4:3d:7e:94:6e:eb speed auto } ethernet eth5 { address dhcp hw-id 6c:b3:11:32:46:24 offload { sg tso } vif 201 { } } ethernet eth6 { address 192.168.1.1/24 description "Primary Switch" duplex auto hw-id 6c:b3:11:32:46:25 offload { sg tso } speed auto } loopback lo { } pppoe pppoe1 { authentication { password **************** user hafnerjoseph } firewall { in { name WAN_IN } local { name WAN_LOCAL } } ip { adjust-mss 1452 } mtu 1492 no-peer-dns source-interface eth5.201 } } nat { destination { rule 1000 { description Plex destination { port 32400 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1001 { description BitTorrent destination { port 50000 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1002 { description WireGuard destination { port 53820-53829 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1003 { description Minecraft destination { port 25565 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1004 { description Iperf destination { port 50201 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1005 { description Web destination { port 443,80 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1007 { description "Git SSH" destination { port 2228-2229 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1008 { description SFTP destination { port 23450 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1009 { description RTMP destination { port 1935 } inbound-interface pppoe1 protocol tcp_udp translation { address 192.168.1.23 } } rule 1100 { description "Plex (Hairpin NAT)" destination { address 174.21.32.168 port 32400 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } rule 1102 { description "Wireguard (Hairpin NAT)" destination { address 174.21.32.168 port 53820-53829 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } rule 1103 { description "Minecraft (Hairpin NAT)" destination { address 174.21.32.168 port 25565 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } rule 1104 { description "Iperf (Hairpin NAT)" destination { address 174.21.32.168 port 50201 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } rule 1105 { description "Web (Hairpin NAT)" destination { address 174.21.32.168 port 80,443 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } rule 1107 { description "Git SSH (Hairpin NAT)" destination { address 174.21.32.168 port 2228-2229 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } rule 1108 { description "SFTP (Hairpin NAT)" destination { address 174.21.32.168 port 23450 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } rule 1109 { description "RTMP (Hairpin NAT)" destination { address 174.21.32.168 port 1935 } inbound-interface eth6 protocol tcp_udp translation { address 192.168.1.23 } } } source { rule 99 { description "Masquerade as public IP on internet" outbound-interface pppoe1 source { address 192.168.1.0/24 } translation { address masquerade } } rule 100 { description "NAT Reflection" destination { address 192.168.1.0/24 } outbound-interface eth6 protocol tcp_udp source { address 192.168.1.0/24 } translation { address masquerade } } } } service { dhcp-server { shared-network-name LAN { domain-name local domain-search local name-server 192.168.1.32 subnet 192.168.1.0/24 { default-router 192.168.1.1 lease 86400 range 1 { start 192.168.1.100 stop 192.168.1.254 } static-mapping U6-Lite { ip-address 192.168.1.3 mac-address 78:45:58:67:87:14 } static-mapping UAP-AC-LR { ip-address 192.168.1.2 mac-address 18:e8:29:50:f7:5b } static-mapping joey-desktop { ip-address 192.168.1.100 mac-address 04:92:26:DA:BA:C5 } static-mapping joey-nas { ip-address 192.168.1.10 mac-address 40:8d:5c:52:41:89 } static-mapping joey-nas2 { ip-address 192.168.1.11 mac-address 90:2b:34:37:ce:ea } static-mapping joey-server { ip-address 192.168.1.23 mac-address 70:85:c2:9c:6a:16 } static-mapping joey-server2 { ip-address 192.168.1.24 mac-address 24:4b:fe:57:bc:85 } static-mapping joey-server3 { ip-address 192.168.1.25 mac-address 78:45:c4:05:4f:21 } static-mapping joey-server4 { ip-address 192.168.1.26 mac-address 90:2b:34:37:ce:e8 } static-mapping joeyPrinter { ip-address 192.168.1.60 mac-address 9c:32:ce:7c:f8:25 } static-mapping pihole1 { ip-address 192.168.1.21 mac-address b8:27:eb:3c:8e:bb } static-mapping pihole2 { ip-address 192.168.1.22 mac-address b8:27:eb:ff:76:6e } static-mapping tasmota-1 { ip-address 192.168.1.50 mac-address 3C:61:05:F6:44:1E } static-mapping tasmota-2 { ip-address 192.168.1.51 mac-address 3c:61:05:f6:d7:d3 } static-mapping tasmota-3 { ip-address 192.168.1.52 mac-address 3c:61:05:f6:f0:62 } static-mapping wyse1 { ip-address 192.168.1.31 mac-address 6c:2b:59:37:89:40 } static-mapping wyse2 { ip-address 192.168.1.32 mac-address 6c:2b:59:37:9e:91 } static-mapping wyse3 { ip-address 192.168.1.33 mac-address 6c:2b:59:37:9e:00 } } } } dns { forwarding { allow-from 192.168.1.0/24 cache-size 1000000 listen-address 192.168.1.1 name-server 192.168.1.32 } } monitoring { telegraf { prometheus-client { } } } ssh { disable-password-authentication port 22 } upnp { listen eth1 nat-pmp secure-mode wan-interface pppoe1 } } system { config-management { commit-revisions 200 } conntrack { modules { ftp h323 nfs pptp sip sqlnet tftp } } console { device ttyS0 { speed 115200 } } host-name vyos login { banner { } user vyos { authentication { encrypted-password **************** public-keys jafner425@gmail.com { key **************** type ssh-rsa } public-keys joey@fedora { key **************** type ssh-rsa } public-keys joey@joey-server { key **************** type ssh-rsa } } } } name-server 192.168.1.32 ntp { server time-a-wwv.nist.gov { } server time-b-wwv.nist.gov { } server time-c-wwv.nist.gov { } server time-d-wwv.nist.gov { } server time-e-wwv.nist.gov { } } syslog { global { facility all { level info } facility protocols { level debug } } } time-zone America/Los_Angeles } zone-policy { zone LAN { default-action drop from LOCAL { firewall { name LOCAL_IN } } from WAN { firewall { name WAN_IN } } interface eth1 interface eth6 } zone LOCAL { default-action drop from LAN { firewall { name IN_LOCAL } } from WAN { firewall { name WAN_LOCAL } } local-zone } zone WAN { default-action drop from LAN { firewall { name IN_WAN } } from LOCAL { firewall { name LOCAL_WAN } } interface pppoe1 } }