Filtering MLD messages

Marek Küthe <[email protected]> Sun, 30 Nov 2025 21:04:01 +0000
Newsgroups gmane.comp.security.firewalls.netfilter.general
Message-ID <20251130210401.77c74ee1@ciel>
Hello,

I would like to filter MLD messages:
1. Only MLD listener queries and MLD2 listener reports should be
allowed.
2. The messages must have a hop limit of 1.
3. The messages must have a hop-by-hop extension header.
4. The messages must have the router alert option set in the hop-by-hop
extension header.
5. The source address is in the link-local range.

```
set icmp6_mld {
    type icmpv6_type . icmpv6_code;
    flags interval;
    elements = {
        mld-listener-query . 0,
        mld2-listener-report . 0
    };
}

[...]

icmpv6 type . icmpv6 code @icmp6_mld ip6 hoplimit 1 exthdr hbh exists ip6 saddr fe80::/10 counter accept;
```

I have managed to write 1-3 and 5, but I don't know how to filter
the Router Alert option. I have seen that there is `ip option ra`, but
it doesn't seem to work for IPv6. Does anyone know how to write such a
filter?

I would really appreciate some help!

Best regards,
Marek Küthe

-- 
Marek Küthe
[email protected]
er/ihm he/him
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEmqKBWfzrPNg7whIBfoaRRmmRCMcFAmkssUIACgkQfoaRRmmR
CMcaHQ/+P+choBdpYl7jQCdrTkF7+Koy/zD4Eh6vsdnm4vDlgKtdLmvOJrQAwPRv
sKQGDjjRdQTBIkGMJIPyOVZjNgiIBaq8A86pjLl/XurPnZ5D/xZN4qeS0ky6ivy5
zuO8yrP5t0luOQjTsaPlOax6nx7z9nhEAD3Wab/jBFBqrD7qx/hNkxTiqqDh779T
MZZAHe0/M+/7ga0XLdKAM3l+7tq44mB+rSb7Fkh8bsVq2S1gSb8D3XgNA7ferZ62
TbC3LWbrH0GN/biAL0QjkXhyNBn3VUy5ke1Tt1Y5QiHU2ThqBgtFmTrKa1XZu98S
3xRUVdo5ILiF8QEnlHOHDQqtfrQxWfa0zZcddLdydiWZ+qi26+6+FXUXDhmd4ueN
ADJPW7A+rycskUnLmVovAgLQAvreVmVlXRK4n04s46ihoKrXSYmiAJwehwt3ppg2
OJFOcvPwKqIXnYJkdYJxsMTCHtnSf7PUoGnr67Kmp1ArMy7s0PtLgL4lKqiYReN9
cAWK68MeHHB8vZpCmFzUJk1aFHvPNzCYsphSfaCNyjQkmnpCNtOZt8uNiIR9isNr
pI4xo2DEDVCxq2zRZoRYBMVoRZLskruYlUj2Oz34Nxms1FDHClpM0TpTRgsErCId
D8U5mIiXGrk1Aj+LMIZWktZlbgu8qtz4I49UIvfU1d/YU/qvkLk=
=Hi/k
-----END PGP SIGNATURE-----