moin Leute,
derzeit klingelt täglch um 5:15 mein Wecker und ich gucke dann ob folgender cronjob
10 5 * * * /root/cronjob-blockfastd.sh
mit cat /root/cronjob-blockfastd.sh
#!/bin/bash while [[ $(batctl -m bat-default gwl | grep -c MB) -eq 0 ]];do sleep 1;done;/home/lrnzo/block.sh
und cat /home/lrnzo/block.sh
#!/bin/bash for i in $(/sbin/ifconfig | grep -oP "bat-[0-9a-z]*"); do for j in $(sudo batctl -m "$i" gwl | grep MB | grep -oE '([a-f0-9]{2}:){5}[a-f0-9]{2}' | tail -1); do #for j in 56:3d:f9:ec:ca:37 ba:23:d0:12:e1:af; do if [[ $(echo "$j" | tee mac-addr | grep -cE '([a-f0-9]{2}:){5}[a-f0-9]{2}') -eq 1 ]];then echo "MAC: $(cat mac-addr)" addr=$(/home/lrnzo/fastdlook.py "$j") if [[ $(echo "$addr" | tee ip-addr | grep -cE '([0-9]+.){3}[0-9]+') -eq 1 ]];then echo "IP: $(cat ip-addr)" echo "die Anschluss-IP $(cat ip-addr) zur Tunnel-MAC $(cat mac-addr) wird geblockt" iptables -A INPUT -s $addr -j DROP iptables -L INPUT | grep DROP fi fi done done
den täglich neu auftretenden Kurzschluss gekillt hat. Schuld ist irgendein Router mit der fastd-MAC 8e:83:b2:79:67:3f. Immer gegen 5:10 gibt es für diesen von EWE eine frische Anschluss-ip. ich kann zwar mit
ps aux | grep cron root 389 0.0 0.1 29664 2916 ? Ss Okt07 0:02 /usr/sbin/cron -f root 2865 0.0 0.0 4288 720 ? Ss 05:10 0:00 /bin/sh -c /root/cronjob-blockfastd.sh root 2866 0.1 0.1 11184 2944 ? S 05:10 0:01 /bin/bash /root/cronjob-blockfastd.sh
sehen, dass der cronjob selber gestartet wird. allerdings sollten sie ja laut code gerade nicht mehr laufen und die Dateien
/root/ip-addr /root/mac-addr
haben immer noch den timestamp meiner letzten manuellen Ausführung von /root/cronjob-blockfastd.sh. Der Output davon sah heute zB so aus:
root@default02:~# ./cronjob-blockfastd.sh MAC: 8e:83:b2:79:67:3f IP: 91.97.13.199 die Anschluss-IP 91.97.13.199 zur Tunnel-MAC 8e:83:b2:79:67:3f wird geblockt DROP icmp -- anywhere anywhere icmp router-advertisement DROP udp -- anywhere anywhere udp spt:bootps dpt:bootpc DROP icmp -- anywhere anywhere icmp router-advertisement DROP udp -- anywhere anywhere udp spt:bootps dpt:bootpc DROP all -- host-091-097-013-199.ewe-ip-backbone.de anywhere
läuft also. nur eben nicht per cronjob. Weiß jemand wieso? habe nämlich auf diese Nummer mit dem Wecker um kurz nach 5 dauerhaft keinen Bock.
Ja, man sollte natürlich noch in den code einbauen, dass er die zuletzt automatisch geblockte ip zu der aktuelle gefundenen fastd-MAC wieder freigibt. Mach ich irgendwann.
LG Lorenz