[*nix] .procmailrc --> ARP cache flushen

Pagina: 1
Acties:

  • PjotrP
  • Registratie: Augustus 2001
  • Laatst online: 15-02 10:56
Elke 30 minuten stuurt mijn ADSL modem een ARP bericht naar mijn FreeBSD router/server, waardoor de externe NIC van mijn server down gaat.

Nu heb ik 'arpwatch' draaien, waardoor ik een mailtje krijg als er een ARP conflict ontstaat. In mijn .procmailrc staat het volgende:
:0
* ^To:.root\@porthome\.nl
* ^Subject:.flip\ flop.*
| /usr/home/pieter/refreshARP.sh
refreshARP.sh ziet er alsvolgt uit:
#!/bin/sh
/usr/sbin/arp -d -a && /sbin/ping -c2 82.199.140.1
Ik heb het SUID bit bij 'arp' gezet, zodat user 'pieter' het kan uitvoeren met root-rechten.

Commandline werkt refreshARP.sh perfect, maar vanuit .procmailrc niet.
Kan ik dit soort commando's niet uitvoeren vanuit .procmailrc?

Zonnepaneel installateur


Verwijderd

-> Non-Windows Operating Systems

[ Voor 65% gewijzigd door Verwijderd op 29-03-2004 15:37 ]


Verwijderd

Heb je ook foutmeldingen? (redirect de output van refreshARP.sh anders ff naar een text file oid)

  • rvm
  • Registratie: November 2000
  • Niet online

rvm

En als je dit doet, wat gebeurt er dan en wat staat er in procmail.log:
code:
1
2
3
4
5
6
7
8
9
10
11
12
LOGFILE=/path/to/pieter/homedir/procmail.log
VERBOSE=yes

:0
* ^To:.root\@porthome\.nl
* ^Subject:.flip\ flop.*
{
   DUMMY=`/usr/home/pieter/refreshARP.sh`

   :0
   /dev/null
}

  • PjotrP
  • Registratie: Augustus 2001
  • Laatst online: 15-02 10:56
@rvm:
jouw idee lijkt te werken... Hoe het precies komt weet ik niet, maar nu krijg ik deze berichten in mijn /var/log/messages:
Mar 29 22:12:03 router /kernel: arp: 00:d0:41:0d:67:7b is using my IP address 82.199.141.179!
Mar 29 22:12:04 router arpwatch: flip flop 82.199.141.179 0:d0:41:d:67:7b (0:50:fc:23:27:8d)
Mar 29 22:12:04 router arpwatch: flip flop 82.199.141.179 0:50:fc:23:27:8d (0:d0:41:d:67:7b)
In gewoon Nederlands: mijn internetverbinding is maar 1 seconde weg (dit eens per half uur; te verwaarlozen dus).

Wat doen die {} en dat DUMMY= precies?

Zonnepaneel installateur


  • active2
  • Registratie: Juni 2001
  • Laatst online: 26-10-2024

active2

Google is your friend

Volgens mij moet jij je provider is effe bellen en vragen hoe dit mogelijk is...

't lijkt er namelijk op dat je een ip conflict hebt.

Google, Het mirakel van de 21e eeuw!!!!


  • PjotrP
  • Registratie: Augustus 2001
  • Laatst online: 15-02 10:56
't is geen gewoon IP conflict, maar een of ander probleem om mijn E-Tech modem fatsoenlijk in bridging mode te kunnen gebruiken

Zie http://bsdfreaks.nl/index.php/forum_msgs/14/20/600
of [rml][ FreeBSD] ADSL in bridging mode --> ARP conflict[/rml] voor meer info.

[ Voor 4% gewijzigd door PjotrP op 30-03-2004 12:00 ]

Zonnepaneel installateur


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

PjotrP schreef op 29 maart 2004 @ 22:24:
Wat doen die {} en dat DUMMY= precies?
{} doet hetzelfde als in de meeste programmeertalen die ik ken (en dat zijn er niet zo veel). Geeft een blok code aan. Als aan de voorgaande conditie wordt voldaan, dan wordt dat blok code uitgevoerd. Op het eind de /dev/null is om de mail weg te gooien, want die is alleen nodig om dat scriptje te triggeren.

DUMMY is precies wat de naam suggereert: een dummy variabele, waarin het resultaat komt te staan van hetgeen door het commando tussen backtics wordt uitgevoerd.

  • elTigro
  • Registratie: November 2000
  • Laatst online: 20-02 06:15

elTigro

Es un Gringo!

Even nog iets anders. Ik dacht dat je een shellscriptje niet met suid kon draaien...

/edit: Sorry, ik had niet goed gelezen. Op arp zal het een heel stuk beter gaan ja :7

[ Voor 35% gewijzigd door elTigro op 30-03-2004 12:00 ]

Lazlo's Chinese Relativity Axiom:No matter how great your triumphs or how tragic your defeats --approximately one billion Chinese couldn't care less.


  • PjotrP
  • Registratie: Augustus 2001
  • Laatst online: 15-02 10:56
Ik dacht dat je een shellscriptje niet met suid kon draaien...
Klopt, daarom heb ik het SUID bit op ARP gezet.

Zonnepaneel installateur


  • elTigro
  • Registratie: November 2000
  • Laatst online: 20-02 06:15

elTigro

Es un Gringo!

en als je bij je flags heet dat geloof ik (ik bedoel in ieder geval die :0) ook een i zet. volgens mij wil procmail namelijk naar dat programma pijpen, maar als die geen standaardinput accepteert, kan ik me voorstellen dat er voortijdig een eind komt aan het uitgevoerde scriptje.

i is voor ignoren van write errors naar die pipe

Lazlo's Chinese Relativity Axiom:No matter how great your triumphs or how tragic your defeats --approximately one billion Chinese couldn't care less.


  • PjotrP
  • Registratie: Augustus 2001
  • Laatst online: 15-02 10:56
Wat rvm voorstelde komt op hetzelfde neer;
met DUMMY=`command` wordt command ge-evalueerd, dus uitgevoerd zonder dat er iets naar gepiped wordt.
Ik denk dat het probleem idd bij het pipen zat.

Nu in alle rust mn E-Tech router fatsoenlijk leren bridgen :)

Zonnepaneel installateur

Pagina: 1