# Child changes DNS on their device
networksetup -setdnsservers Wi-Fi 8.8.8.8 # macOS
# or simply sets 1.1.1.1 in Android/iOS network settings
# Child changes DNS on their device
networksetup -setdnsservers Wi-Fi 8.8.8.8 # macOS
# or simply sets 1.1.1.1 in Android/iOS network settings
# Child changes DNS on their device
networksetup -setdnsservers Wi-Fi 8.8.8.8 # macOS
# or simply sets 1.1.1.1 in Android/iOS network settings
CONNECT www.example.com:443 HTTP/1.1
Host: www.example.com:443
CONNECT www.example.com:443 HTTP/1.1
Host: www.example.com:443
CONNECT www.example.com:443 HTTP/1.1
Host: www.example.com:443
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
# Block all outbound HTTPS traffic that does NOT originate from the proxy process
# On the gateway, assuming proxy runs as user 'proxy' (UID 13 on Debian)
iptables -t nat -A OUTPUT -p tcp --dport 443 -m owner ! --uid-owner 13 -j REDIRECT --to-port 3128
iptables -A FORWARD -p tcp --dport 443 -j DROP
# Block all outbound HTTPS traffic that does NOT originate from the proxy process
# On the gateway, assuming proxy runs as user 'proxy' (UID 13 on Debian)
iptables -t nat -A OUTPUT -p tcp --dport 443 -m owner ! --uid-owner 13 -j REDIRECT --to-port 3128
iptables -A FORWARD -p tcp --dport 443 -j DROP
# Block all outbound HTTPS traffic that does NOT originate from the proxy process
# On the gateway, assuming proxy runs as user 'proxy' (UID 13 on Debian)
iptables -t nat -A OUTPUT -p tcp --dport 443 -m owner ! --uid-owner 13 -j REDIRECT --to-port 3128
iptables -A FORWARD -p tcp --dport 443 -j DROP
# Redirect internal HTTP traffic to Squid transparent port
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Redirect internal HTTP traffic to Squid transparent port
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# Redirect internal HTTP traffic to Squid transparent port
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# squidguard.conf
dest anonymizers { domainlist anonymizers/domains urllist anonymizers/urls
} acl { default { pass !anonymizers all redirect http://gateway/blocked.html }
}
# squidguard.conf
dest anonymizers { domainlist anonymizers/domains urllist anonymizers/urls
} acl { default { pass !anonymizers all redirect http://gateway/blocked.html }
}
# squidguard.conf
dest anonymizers { domainlist anonymizers/domains urllist anonymizers/urls
} acl { default { pass !anonymizers all redirect http://gateway/blocked.html }
}
conn parental-vpn keyexchange=ikev2 left=%any [email protected] leftcert=gateway-cert.pem leftsubnet=0.0.0.0/0 # Route all client traffic through gateway right=%any rightsourceip=10.9.0.0/24 # Virtual IPs for VPN clients rightdns=10.9.0.1 ike=aes256-sha256-ecp256! esp=aes256-sha256! auto=add
conn parental-vpn keyexchange=ikev2 left=%any [email protected] leftcert=gateway-cert.pem leftsubnet=0.0.0.0/0 # Route all client traffic through gateway right=%any rightsourceip=10.9.0.0/24 # Virtual IPs for VPN clients rightdns=10.9.0.1 ike=aes256-sha256-ecp256! esp=aes256-sha256! auto=add
conn parental-vpn keyexchange=ikev2 left=%any [email protected] leftcert=gateway-cert.pem leftsubnet=0.0.0.0/0 # Route all client traffic through gateway right=%any rightsourceip=10.9.0.0/24 # Virtual IPs for VPN clients rightdns=10.9.0.1 ike=aes256-sha256-ecp256! esp=aes256-sha256! auto=add - Squid-based web proxy with URL filtering (explicit and transparent modes)
- IPsec VPN server (StrongSwan, IKEv2) with client profile generation for iOS, macOS, Android, Windows, Linux
- Zone-based stateful firewall with built-in rules for mandatory proxy enforcement
- SSL mediation (Squid ssl-bump) for full HTTPS content inspection
- Optional URL blacklist subscription with regularly updated category databases
- Browser-based management interface — no CLI required for standard configuration