ZoRaC Skrevet 3. mars 2004 Del Skrevet 3. mars 2004 Hei! Har 4 maskiner i LAN'et og skal bruke ClarkConnect som gateway/firewall. Ønsker å ha muligheten til å sperre 2 av maskinene på LAN'et ute fra I-net ved hjelp av MAC-adresser. Dette må være "lett" å aktivere/deaktivere etter behov (script av et eller annet slag?). Er helt n00b på *NIX, så jeg lurte på om noen kunne skrive et slikt script for meg? (det trengs vel ikke mange linjene med kode?) Lenke til kommentar
kattemat Skrevet 3. mars 2004 Del Skrevet 3. mars 2004 iptables -I INPUT -p all -m mac --mac-source <MAC ADDR> -j DROP Lenke til kommentar
ZoRaC Skrevet 3. mars 2004 Forfatter Del Skrevet 3. mars 2004 iptables -I INPUT -p all -m mac --mac-source <MAC ADDR> -j DROP Takk for svar, men som sagt er jeg helt n00b. Hvordan lager jeg et script med dette i? Og hvordan lager jeg et script som "opphever" det igjen? Lenke til kommentar
kattemat Skrevet 3. mars 2004 Del Skrevet 3. mars 2004 (endret) Noe ala: #! /bin/bash # MAC=aa:bb:cc:dd:ee:ff case "$1" in block) echo -n "Blocking $MAC" iptables -I INPUT -p all -m mac --mac-source $MAC -j DROP ;; unblock) echo -n "Unblocking $MAC" iptables -D INPUT -p all -m mac --mac-source $MAC -j DROP ;; *) echo "Usage: macstop {block|unblock}" exit 1 ;; esac Burde funke. Lagre f.eks. som /usr/sbin/macstop og kjør med macstop block eller macstop unblock. Og bytt seff. aa:bb:cc:dd:ee:ff med den aktuelle macadressen. Husk at om du blokker to ganger må du også unblocke to ganger! Og jada - det finnes sikkert 1000 måter å gjøre dette penere på EDIT: takker langbein for at han gjorde meg oppmerksom på den typoen Endret 3. mars 2004 av kattemat Lenke til kommentar
Langbein Skrevet 3. mars 2004 Del Skrevet 3. mars 2004 Kattemat, de to case'ene dine gjør akkurat det samme. Du må endre unblock slik at den fjerner det du først blokkerte. Kan vel bare gjøre om parametren -I til -D Lenke til kommentar
ZoRaC Skrevet 3. mars 2004 Forfatter Del Skrevet 3. mars 2004 Takk for hjelpen! Er det mulig å "utvide" scriptet litt? F.eks en kommando som lister ut om MAC-adressen er sperret eller ikke? ("macstop status") Og en sak som gjør at det ikke er mulig å blokkere samme MAC flere ganger? Lenke til kommentar
xeon Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 uhm, uhm.. muligens: status) iptables -L -v | grep -i mac ;; Lenke til kommentar
xeon Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Og en sak som gjør at det ikke er mulig å blokkere samme MAC flere ganger? Tross alt ikke slavene dine da.. Lær deg scripting og iptables selv.. Lenke til kommentar
ZoRaC Skrevet 4. mars 2004 Forfatter Del Skrevet 4. mars 2004 xeon: Jeg har ikke sagt at noe skal gjøre det for meg Lører utrolig mye av dette! Kan jeg ikke gjøre det slik for å unngå at regelen ligger inne fra før? #! /bin/bash # MAC=aa:bb:cc:dd:ee:ff case "$1" in block) echo -n "Blocking $MAC" iptables -D INPUT -p all -m mac --mac-source $MAC -j DROP iptables -I INPUT -p all -m mac --mac-source $MAC -j DROP ;; unblock) echo -n "Unblocking $MAC" iptables -D INPUT -p all -m mac --mac-source $MAC -j DROP ;; status) iptables -L -v | grep -i $MAC ;; *) echo "Usage: macstop {block|unblock|status}" exit 1 ;; esac Hva er "esac"? Tusen takk for hjelpen! Lenke til kommentar
Torbjørn Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 Det er bedre å opprette en ny "user chain" i iptables, og legge MAC-reglene i denne. Så kan man bedre legge den inn i eksisterende chains eks: iptabels -N MACBLOCK # legges først i INPUT og FORWARD iptables -I INPUT 1 -j MACBLOCK iptables -I FORWARD 1 -j MACBLOCK # deretter slenger vi MAC'er inn i MACBLOCK iptables -A MACBLOCK ... etc videre kan det være greit å hente inn MAC adresse fra kommandolinja også? som $2 MAC=$2 Lenke til kommentar
ZoRaC Skrevet 4. mars 2004 Forfatter Del Skrevet 4. mars 2004 Hva er en "user chain"? (ja, jeg er n00b ) Hadde tenkt på det med $2, og hadde faktisk tenkt å bruke det Hvor skal det du skrev inn i scriptet? Lenke til kommentar
Torbjørn Skrevet 4. mars 2004 Del Skrevet 4. mars 2004 INPUT, OUTPUT og FORWARD er pre-definerte chains, men man kan lage så mange chains man vil. her vil det være relevant å lage seg en egen chain som holder oversikt over blokkerte MAC-addresser og så legge inn denne på rett sted en eller flere av de 3 over. Det gjør det også lettere og mer oversiktlig å sette inn hvis man har et 100 linjer langt firewall skript fra før med sin egne intærne oppbygging. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå