[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: