09. november 2005 - 14:19Der er
21 kommentarer og 2 løsninger
de fandens iptables igen
det jeg vil laver er at jeg en scripts som heder ping_on og en der heder ping_off det er mening at jeg skal kunne skrive ./ping_on også kør den comando iptables -I INPUT 1 -p icmp -j ACCEPT nu kommer problemet så for så er meningen at jeg skulle kunne skrive ./ping_off når det skal slås fra igen men jeg ander ikke hvordan jeg skal skrive den iptabels regel jeg skal bruge. jeg har prøvet iptables -I INPUT 1 -p icmp -j DROP
men så kommer det til at se så ud target Prot opt source ACCEPT icmp -- Anywhere ... DROP icmp -- Anywhere ... ACCEPT all -- Anywhere ... osv
problemet er at det vil være alt for brøvlet at flush min regler også ligge dem ind igen. Det har noget med den måde jeg bruger det på.. men er der ikke en måden jeg kan fjerne ACCEPT icmp... uden at flush regelerne
"de fandens iptables igen" - Nei absolutt ikke :-)
Hvis jeg ønsker å kjøre med forskjellige firewall oppsett ved forskjellige anledninger, så pleier jeg normalt å lage to komplette script som flusher firewall og setter den opp på nytt. Det er jo ofte bare noen små detaljer som skal endres i de to scriptene.
Istedet for at have to firewall scripts kunne du samle dine regler i ET script, lad os sige det hedder rc.firewall, starter du den med sh rc.firewall pingon, flusher du dine regler og kører de regler du har under pingon.
#!/bin/bash
case "$1" in pingon) iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP dine pingon regler her ;;
pingoff) # flush IPTABLE rules here iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP dine pingoff regler her ;; blabla) andre regler ;; *) echo 'kommandoer, pingon pingoff blablabla' exit 1 ;; esac exit 0 ;;
x86 er det mulig at lave så at jeg skriev ./iptables og ./iptables ping_on. lad mig forkar når jeg kør ./iptables kør jeg sctiptes som jeg altid har gjort
når jeg kør ./iptables ping_on så kør jeg det sammen men så har dit screpts sat en veriabel som jeg genkalder. og igen når jeg kør ./iptables så er veriablen tom for de din scripts ikke har sat den da jeg ikke skrev ping_on bag efter
øh ps jeg kender ikke vild mig til scripts.. så god vejledin vil jeg være glad for :-)
ups glemet at skrive noget for jeg har kigget på dit scripts og det jeg kan se er at jeg skal lave sammen regel 2 gang for at det virker.. men som jeg sage i ps jeg kan ikke maget scripts men ok hvis jeg skal lave en regel 2 gang kan jeg godt det.. at b løsning er noget man bruger så lidt som mulig. så hvis du gider bliver jeg glad og jeg kan lære mere om scripts
De 2 regler som emnet handler om kan du ikke køre på samme tid, derfor er du nød til at flushe dine regler, hvorfor ikke lave et enkelt script i stil med det jeg skrev foroven, så tilføjer du alle dine regler til pingon og pingoff, pingon skal selvfølgelig indeholde iptables -I INPUT eth0 -p icmp -j ACCEPT og pingoff iptables -I INPUT eth0 -p icmp -j DROP
exit 1 = afslut hvis der er fejl, der kunne ha stået under exit 1 echo "der opstod en fejl i at udføre bla bla" den kommando der står over exit 1 exit 0 = afslut scriptet når det er indlæst, uden fejl.
esac bliver brugt hvis du bruger flere kommandoer eller variabler, hvilket ikke lige er tilfældet der, det er pastet fra mit eget firewall script hvor der bliver brugt en hel del variabler og kommandoer.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.