local.m4, etc.: Establish `inbound-untrusted' chain and deploy.
[firewall] / local.m4
index 821cea9..dfaae8f 100644 (file)
--- a/local.m4
+++ b/local.m4
@@ -27,7 +27,7 @@
 m4_divert(6)m4_dnl
 ## Default NTP servers.
 defconf(ntp_servers,
-       "158.152.1.76 158.152.1.204 194.159.253.2 195.173.57.232")
+       "81.187.26.174 90.155.23.205 2001:8b0:0:23::205 185.73.44.6 2001:ba8:0:2c06::")
 
 m4_divert(-1)
 ###--------------------------------------------------------------------------
@@ -110,11 +110,12 @@ m4_divert(-1)
 
 ## Define the available network classes.
 m4_divert(42)m4_dnl
-defnetclass scary      scary           trusted             mcast
-defnetclass untrusted  scary untrusted trusted             mcast
-defnetclass trusted    scary untrusted trusted safe noloop mcast
-defnetclass safe                       trusted safe noloop mcast
-defnetclass noloop                     trusted safe        mcast
+defnetclass scary      scary           trusted             vpnnat mcast
+defnetclass untrusted  scary untrusted trusted                    mcast
+defnetclass trusted    scary untrusted trusted safe noloop vpnnat mcast
+defnetclass safe                       trusted safe noloop vpnnat mcast
+defnetclass noloop                     trusted safe               mcast
+defnetclass vpnnat     scary           trusted safe               mcast
 
 defnetclass link
 defnetclass mcast
@@ -223,6 +224,7 @@ defhost precision
        iface vpn-radius housebdry vpn sgo
        iface vpn-chiark sgo
        iface vpn-national upn
+       iface vpn-mdwdev upn
        iface vpn-+ vpn
 defhost telecaster
        iface eth0 jump colo
@@ -243,6 +245,7 @@ defnet hub virtual
        via housebdry colobdry
 defnet sgo noloop
        addr !172.29.198.0/23
+       addr !10.165.27.0/24
        addr 10.0.0.0/8
        addr 172.16.0.0/12
        addr 192.168.0.0/16
@@ -255,6 +258,7 @@ defnet vpn trusted
        host orange 3 ::3:1
        host haze 4 ::4:1
        host groove 5 ::5:1
+       host spirit 9 ::9:1
 defnet anycast trusted
        addr 172.29.199.224/27 2001:ba8:1d9:0::/64
        via dmz unsafe safe untrusted jump colo vpn
@@ -267,6 +271,7 @@ defnet upn untrusted
        addr 172.29.198.160/27 2001:ba8:1d9:a000::/64
        via colohub
        host national 1 ::1:1
+       host mdwdev 2 ::2:1
 
 ## Linode hosts.
 defhost national
@@ -274,13 +279,13 @@ defhost national
        iface vpn-precision colohub
 
 ## Satellite networks.
-defnet binswood noloop
+defnet binswood vpnnat
        addr 10.165.27.0/24
        via colohub
 defhost mango
        hosttype router
        iface eth0 binswood default
-       iface vpn-precision colo
+       iface vpn-precision colo default
 
 m4_divert(80)m4_dnl
 ###--------------------------------------------------------------------------
@@ -376,6 +381,7 @@ m4_divert(84)m4_dnl
 ### Locally-bound packet inspection.
 
 clearchain inbound
+clearchain inbound-untrusted
 
 ## Track connections.
 commonrules inbound
@@ -399,9 +405,13 @@ m4_divert(88)m4_dnl
 openports inbound
 
 ## Inspect inbound packets from untrusted sources.
+run ip6tables -A inbound -s 2001:8b0:c92:8000::/49 -g inbound-untrusted
+run ip6tables -A inbound -s 2001:ba8:1d9:8000::/49 -g inbound-untrusted
+run ip46tables -A inbound-untrusted -g forbidden
 run ip46tables -A inbound -g forbidden
 run ip46tables -A INPUT -m mark --mark $from_scary/$MASK_FROM -g inbound
 run ip46tables -A INPUT -m mark --mark $from_untrusted/$MASK_FROM -g inbound
+run iptables -A inbound -s 172.29.198.0/24 -j inbound-untrusted
 
 ## Allow responses from the scary outside world into the untrusted net, but
 ## don't let untrusted things run services.