Programmeringsproblemet
Till er som undrar hur jag gjorde.
Har ni andra lösningar som är smartare så tar jag gärna emot dessa.
Det finns en nackdel som jag inte hittat någon lösning på, med mina kunskaper.
När en av dom adresserna som ligger i filen "host.god" byter IP så stängs brandväggen för alla i "host.god"
för att strax därefter öppnas för alla. Om jag på något sätt kund ta host för host och jämföra och bara
ändra för just den host som har bytt ip, då skulle jag vara nöjd.
Scripten körs i en ramdisk på en router utan hårddisk och som startas upp med diskett.
Dist för routern är "freesco" och innanför den finns 4 andra maskiner som man kan koppla upp sig till om man har
en dyndns klient och adressen finns med i "host.god".
Detta är min script som körs var 5 minut av cron:
#!/bin/sh
rm /mnt/ram2/ip.new
#Loopen skapar en ny "ip.new"
for i in `cat /mnt/ram2/host.god`; do
nslookup "$i" > /mnt/ram2/ip.temp
for j in `cat /mnt/ram2/ip.temp`;do
done
echo "$j" >>/mnt/ram2/ip.new # "j" innehåller här ip nummert
done
T1=`cat /mnt/ram2/ip.new`
T2=`cat /mnt/ram2/ip.old`
if [ "$T1" = "$T2" ]; then
exit
else
for i in `cat /mnt/ram2/ip.old`; do
#Här stänger jag portarna för det GAMLA ip nummert
done
for j in `cat /mnt/ram2/ip.new`; do
#Här öppnar jag portarna för det NYA ip nummert
done
fi
cp /mnt/ram2/ip.new /mnt/ram2/ip.old
Reply to: