Kommandoen IPSET er et verktøy som lar deg administrere sett med IP-adresser i Linux. Fordelen med å bruke ipset er at settene kan administreres individuelt i forhold til de aktive iptables/netfilter-regelsettene. Å legge til, endre og fjerne IP-adresser i settet kan derfor gjøres raskt og enkelt.
En annen fordel med IPSET er at det fungerer bedre når brannmuren din har mange regeloppføringer. IPTABLES er kjent for å bli tregere når antallet oppføringer overstiger 128, men med ipset vil brannmuren i Linux fortsatt kunne rute pakker effektivt.
For å installere IPSET i linux, skriv:
sudo apt update
sudo apt install ipset
1. Opprette et IPset
Når IPSET er installert, kan du opprette et regelsett slik som dette:
sudo ipset create mitt_ipsett hash:net
Dette vil lage et regelsett med navnet mitt_ipsett som lar deg filtrere på et sett med IP-adresser/nettverk (CIDR).
Det finnes andre typer enn hash:net, som f.eks. bitmap:ip, bitmap:port, hash:ip, hash:ip,port, m.m, men i dette eksemplet vil vi kun fokusere på «hash:net» av hensyn til enkelthet.
2. Legge til en IPadresse eller nettverk til et sett
For å legge til adresser til regelsettet ditt, bruk kommandoen:
sudo ipset add mitt_ipsett 10.0.0.0/24
sudo ipset add mitt_ipsett 10.10.10.1
Dette vil legge til nettet 10.0.0.0-10.0.0.255 og IP adressen 10.10.10.1
3. Oppdater iptables/netfilter reglene
For å koble mitt_ipsett sammen med netfilter/iptables, kan du lage en iptables regel slik som dette:
sudo iptables -I INPUT -m set --match-set mitt_ipsett src -j DROP
Dette vil filtrere for inkommende IP pakker, og droppe disse hvis disse matcher noen av reglene i settet.
Fjerne alle oppføringer i settet
For å fjerne alle oppføringer i et allerede eksisterende IPset kan du bruke kommandoen ipset flush slik som dette:
sudo ipset flush mitt_ipsett
IP-settet mitt_ipsett fil fortsatt finnes, men alle oppføringer vil nå være fjernet.
Fjerne en enkelt oppføring
Hvis du ønsker å fjerne en enkelt oppføring fra settet ditt, kan du bruke kommandoen ipset del <ipsett-avnet> <oppføring> slik som dette:
sudo ipset del mitt_ipsett 10.10.10.1
Dette vil fjerne IP adressen 10.10.10.1 som vi la til tidligere fra IP-settet mitt_ipsett