Download free

All releases

gate42 2.0: NGFW, protection and web filtering

The second gate42 release. Every network is protected from the first boot, and each network can block categories of websites and apps, with safe search, all built from open-source parts and set up the gate42 way. Released 2026-11-10, based on OPNsense® 26.7.8_2 on FreeBSD 15.1-RELEASE-p6.

Release
gate42 2.0, build 77 (the newest)
Upstream
OPNsense 26.7.8_2 (series 26.7): upstream release notes
System version
The firewall reports OPNsense's version, 26.7.8_2, so updates and plugins work as upstream's; the console banner shows gate42 2.0 and its build.
Files
https://downloads.gate42.in/releases/2.0/
FileSizeSHA-256
gate42-2.0-b77-amd64.iso2.2 GBa4ce33dc1106efd306c4a48b7c704807fd07bb7afc4e6d0758a5b92c0ed73d7f
gate42-2.0-b77-amd64.iso.sha25691 byteschecksum file
gate42-2.0-b77-amd64.manifest.txt5.4 KB6a6d2465a5e001e190f84db306ca850e166f8862278c837d503f62b9210678f1
gate42-2.0-b77-amd64.qcow2858.5 MB8afef2904aeab8bd8006c5dd0025e53a6aa42a69e9282c9c06baf28d3ee07151
gate42-2.0-b77-amd64.qcow2.sha25693 byteschecksum file
SHA256SUMS, SHA256SUMS.ascsigned checksum list (verify)

What is new

Protection from the first boot

Every gate42 2.0 protects its networks with no setup at all:

  • Malicious sites are blocked for every network: gate42's DNS answers 0.0.0.0 for about 190,000 names of malware, phishing, scam and command-and-control sites (Hagezi's threat intelligence list), updated every day.
  • Intrusion detection watches the LAN: Suricata with about 40,000 rules (Proofpoint's Emerging Threats Open and abuse.ch) raises an alert for attacks, exploits and infected devices, naming the device on your network.
  • The firewall downloads the rules and lists itself after its first boot, retries every hour until it has them, and then updates them daily, each firewall at its own time of day.

Guide: protection

Web filtering for each network

A new page, Services › Web filtering. For each network (LAN, guest, office …) choose a policy:

Policy Blocks
Office adult content, gambling, social networks, and services that get around filters (DNS over HTTPS, VPN, proxies)
Strict Office, plus scams, piracy, dynamic DNS, badware hosts and search engines without safe search
  • Stop DNS bypass: devices must use gate42 for DNS; a device with its own DNS server gets gate42's answer anyway, and DNS over TLS and public DNS-over-HTTPS servers are refused.
  • Force safe search: Google, Bing and DuckDuckGo show only safe results, and YouTube runs in its moderate Restricted Mode.
  • Always allow: domains a network may always reach, such as a social network your marketing team uses.

Guide: web filtering

Intrusion prevention and application control, step by step

Turn detection into blocking, and block applications such as WhatsApp, Telegram or TikTok: two new guides walk through upstream's intrusion prevention and application detection on gate42, tested on this release.

Guide: block attacks (IPS) · Guide: block applications · Guide: see what gate42 blocked

Also new

  • Installer ISO for VMware, Hyper-V, VirtualBox and physical machines, with the same system as the cloud image (guide).
  • MTU from DHCP: the WAN takes the MTU its network offers, such as 1442 on OpenStack, so large packets are no longer lost there.
  • gate42's own release numbers: this is gate42 2.0, the second release. The console and SSH banner shows the release and its build; the system version stays OPNsense's, so updates and plugins work as upstream's.
  • The browser tab says gate42 on every page.

System requirements

Use vCPU Memory Disk
Firewall, VPN, protection on 2 2 GB 10 GB
Plus web filtering (Office or Strict) 2 4 GB 20 GB
Plus intrusion prevention and application control on busy links 4 8 GB 40 GB
  • Protection on uses about 650 MB of memory; Office's lists about 600,000 more names. On a firewall with less than 3.5 GB, web filtering uses Hagezi's smaller gambling list.
  • The cloud image boots with BIOS or UEFI (without Secure Boot) on virtio-blk or virtio-scsi disks and virtio network cards: host42, OpenStack, Proxmox VE, KVM. The ISO installs on VMware, Hyper-V, VirtualBox and physical machines.
  • Internet access from the WAN, for updates and for the daily rules and lists.

Moving from 1.8.2

Like every gate42 release, 2.0 is an image for new firewalls. A 1.8.2 firewall keeps installing OPNsense's updates from the official mirror, but gate42's own features come with the image. To move: back up the configuration (System › Configuration › Backups), start a 2.0 firewall, and restore it there. A restored 1.8.2 configuration has no protection settings: switch them on as the protection guide shows, or ask Padmini Systems to do it.

Known limits

  • Web filtering works on names (DNS), as most firewalls do without decrypting traffic: it does not see page content, and a blocked site shows as "can't be reached", with no block page.
  • A site opened by its IP address, or through a VPN the lists do not know, is not filtered by DNS; the intrusion detection still watches it.
  • Intrusion detection alerts but does not block until you switch on prevention (guide).
  • Forced safe search works for IPv4.

Open-source credits

gate42 is Padmini Systems' build of OPNsense® (BSD 2-Clause, © Deciso B.V.), which runs on FreeBSD. gate42 2.0 adds no closed parts. Its NGFW features come from these open-source projects and open data:

Part What it does in gate42 Licence
Suricata (in OPNsense) intrusion detection and prevention GPL-2.0
Unbound (in OPNsense) DNS, with OPNsense's blocklist policies BSD
Emerging Threats Open rules, by Proofpoint attacks, exploits, malware, command and control BSD, older rules GPL-2.0
abuse.ch Feodo Tracker and SSL Blacklist botnet servers and malicious certificates CC0
OPNsense application detection rules applications by name, for the application-control guide BSD 2-Clause
Hagezi DNS blocklists threat intelligence, gambling, social networks, filter bypass, the Strict lists, DNS-over-HTTPS server addresses GPL-3.0
OISD NSFW list adult content GPL-3.0
Google's list of search domains, and the safe-search addresses Google, Bing, DuckDuckGo and YouTube publish forced safe search published by those companies for this use

The firewall downloads the rules and lists from their publishers; none of them ships in the image. Every package in the image, with its licence, is listed below; the open-source notices say where the source is.

Packages and licences

171 packages in the image
PackageVersionLicences
beep1.0_2BSD4CLAUSE
boost-libs1.92.0BSL
brotli1.2.1,1MIT
ca_root_nss3.132MPL20
choparp20150613_1BSD3CLAUSE
colordiff1.0.22GPLv2+
cpdup1.22_1BSD2CLAUSE
cpustats0.1
curl8.23.0MIT
cyrus-sasl2.1.28_6BSD4CLAUSE
cyrus-sasl-gssapi2.1.28BSD4CLAUSE
dhcp6c20260122_1BSD3CLAUSE
dhcrelay1.0BSD3CLAUSE
dnsmasq2.93,1GPLv2
dpinger3.7BSD2CLAUSE
easy-rsa3.2.6,1GPLv2
expat2.9.0MIT
filterlog0.9BSD3CLAUSE
flock2.37.2_1GPLv2
flowd0.9.1_5BSD2CLAUSE, BSD3CLAUSE, MIT
gettext-runtime1.0_1GPLv3+, LGPL21+
glib2.88.3,2LGPL20
gmp6.3.0LGPL3
hostapd2.12_2BSD3CLAUSE
hostwatch1.0.13BSD2CLAUSE
hyperscan5.4.2BSD3CLAUSE
icu76.1,1ICU
ifinfo13.0_1MIT
iftop1.0.p4_1GPLv2
indexinfo0.3.1_1BSD2CLAUSE
ivykis0.43.2_1LGPL21
jansson2.15.1_1MIT
jq1.8.2MIT
json-c0.19_1MIT
kea3.0.4MPL20
krb51.22.2_4MIT
ldns1.9.2BSD3CLAUSE
libcbor0.14.0MIT
libedit3.1.20260512,1BSD2CLAUSE
libevent2.1.13BSD3CLAUSE
libffi3.8.0MIT
libfido21.17.0BSD2CLAUSE
libiconv1.18_1GPLv3
libidn22.3.8GPLv3
libltdl2.6.2LGPL21
liblz41.10.0_2,1BSD2CLAUSE, GPLv2
libmcrypt2.5.8_4LGPL21+
libnet1.3,1BSD2CLAUSE
libnghttp21.70.0MIT
libpfctl0.17BSD2CLAUSE
libpsl0.23.3MIT
libsodium1.0.22ISCL
libucl0.9.4BSD2CLAUSE
libunistring1.4.2GFDL, GPLv2, LGPL3+
libuuid2.42.4BSD3CLAUSE
libxml22.15.4MIT
libyaml0.2.5MIT
lighttpd1.4.85BSD3CLAUSE
log4cplus2.2.1APACHE20
lua545.4.8MIT
lzo22.10_2GPLv2
monit6.0.0AGPLv3
mpd55.9_20BSD3CLAUSE
mpdecimal4.0.1BSD2CLAUSE
nettle3.10.2LGPL3, GPLv2+
nspr4.39MPL20
nss3.132MPL20
ntp4.2.8p18_6
oniguruma6.9.10BSD2CLAUSE
openldap26-client2.6.16OPENLDAP
openssh-portable10.6.p1,1OPENSSH
openssl353.5.9APACHE20
openvpn2.7.8GPLv2
opnsense26.7.8_2BSD2CLAUSE
opnsense-installer26.7BSD2CLAUSE
opnsense-lang26.1.7BSD2CLAUSE
opnsense-update26.7.8BSD2CLAUSE
os-qemu-guest-agent1.3BSD2CLAUSE
pam_opnsense24.1BSD2CLAUSE
pcre210.49BSD3CLAUSE
perl55.42.3ART10, GPLv1+
pftop0.13BSD2CLAUSE
php858.5.12_2PHP301
php85-ctype8.5.12_2PHP301
php85-curl8.5.12_2PHP301
php85-dom8.5.12_2PHP301
php85-filter8.5.12_2PHP301
php85-gettext8.5.12_2PHP301
php85-ldap8.5.12_2PHP301
php85-mbstring8.5.12_2PHP301
php85-pcntl8.5.12_2PHP301
php85-pdo8.5.12_2PHP301
php85-pear1.10.18PHP301
php85-pear-Crypt_CHAP1.5.0_1BSD3CLAUSE
php85-pecl-mcrypt1.0.9PHP301
php85-pecl-radius1.4.0b1_4BSD3CLAUSE
php85-phalcon5.23.0BSD3CLAUSE
php85-phpseclib3.0.57MIT
php85-session8.5.12_2PHP301
php85-simplexml8.5.12_2PHP301
php85-sockets8.5.12_2PHP301
php85-sqlite38.5.12_2PHP301
php85-xml8.5.12_2PHP301
php85-zlib8.5.12_2PHP301
pkcs11-helper1.31.0BSD3CLAUSE, GPLv2
pkg2.8.4_1BSD2CLAUSE
py313-Babel2.18.0BSD3CLAUSE
py313-Jinja23.1.6BSD3CLAUSE
py313-aioquic1.3.0_1BSD3CLAUSE
py313-anyio4.15.1MIT
py313-async_generator1.10_1MIT, APACHE20
py313-attrs26.1.0MIT
py313-bottleneck1.6.0_2BSD2CLAUSE
py313-certifi2026.7.22MPL20
py313-cffi2.1.1MIT
py313-charset-normalizer3.5.1MIT
py313-cryptography50.0.1_1,1APACHE20, BSD3CLAUSE
py313-dnspython2.9.0,1ISCL
py313-duckdb1.5.6MIT
py313-h110.16.0MIT
py313-h24.4.1MIT
py313-hpack4.2.0MIT
py313-httpcore1.0.9BSD3CLAUSE
py313-httpx0.28.1_2BSD3CLAUSE
py313-hyperframe6.1.0MIT
py313-idna3.20BSD3CLAUSE
py313-jq1.11.0BSD2CLAUSE
py313-ldap32.9.1_1LGPL3
py313-markupsafe3.0.3BSD3CLAUSE
py313-numexpr2.14.2MIT
py313-numpy2.4.6_1,1BSD3CLAUSE
py313-outcome1.3.0_2MIT, APACHE20
py313-packaging26.3BSD2CLAUSE, APACHE20
py313-pandas2.3.3_4,1BSD3CLAUSE
py313-pyasn10.6.4BSD2CLAUSE
py313-pycparser3.0BSD3CLAUSE
py313-pylsqpack0.3.24BSD3CLAUSE
py313-pyopenssl26.4.0,1APACHE20
py313-pysocks1.7.1_1BSD3CLAUSE
py313-python-dateutil2.9.0BSD3CLAUSE
py313-pytz2026.5,1MIT
py313-pyyaml6.0.3_1MIT
py313-requests2.34.2APACHE20
py313-service-identity26.1.0MIT
py313-six1.17.0MIT
py313-sniffio1.3.1MIT, APACHE20
py313-socksio1.0.0_1MIT
py313-sortedcontainers2.4.0_1APACHE20
py313-sqlite33.13.16_10PSFL
py313-trio0.34.0MIT, APACHE20
py313-truststore0.10.4_1MIT
py313-typing-extensions4.16.0PSFL
py313-tzdata2026.5APACHE20
py313-ujson6.0.0BSD3CLAUSE, TclTk
py313-urllib32.8.0,1MIT
py313-vici6.0.3MIT
python3133.13.16PSFL
qemu-guest-agent11.1.2_1GPLv2
radvd2.20RADVD
readline8.3.6GPLv3
rrdtool1.11.0GPLv2
samplicator1.3.8.r1_1GPLv2
sqlite33.53.4,1PD
strongswan6.1.0GPLv2
sudo1.9.17p2_2sudo
suricata8.0.8GPLv2
syslog-ng4.12.0_5GPLv2+, LGPL21+
unbound1.26.2BSD3CLAUSE
wpa_supplicant2.12_1BSD3CLAUSE
zip3.0_6BSD3CLAUSE
zstd1.5.7_2BSD3CLAUSE, GPLv2

The same list is in the release's manifest. Where the source comes from: open-source notices.