Flashback bygger pepparkakshus!
2018-11-30, 21:47
  #1
Medlem
Vet inte om jag skrivit i rätt forumdel, annars får ni gärna flytta den till rätt.

Jag kör VPN på servern, men jag vill att port 80, 443 och 21145 ska vara öppna och gå genom eth0. Hur löser man det med detta scriptet, som jag förövrigt inte får till att fungera.

Kod:
#!/bin/bash
#allow a dyndns name

HOSTNAME=MIN DYNDNS ADRESS
LOGFILE=loggfil-for-ip.log

Current_IP=$(host $HOSTNAME | cut -f4 -d' ')

if [ $LOGFILE = "" ] ; then
  iptables -I INPUT -i eth0 -s $Current_IP -j ACCEPT
  echo $Current_IP > $LOGFILE
else

  Old_IP=$(cat $LOGFILE)

  if [ "$Current_IP" = "$Old_IP" ] ; then
    echo IP address has not changed
  else
    iptables -D INPUT -i eth0 -s $Old_IP -j ACCEPT
    iptables -I INPUT -p tcp -s $Current_IP --dport 21145 -i eth0 -j ACCEPT
    iptables -I INPUT -p tcp -s $Current_IP --dport 80 -i eth0 -j ACCEPT
    sudo iptables-save > /etc/iptables.rules
    echo $Current_IP > $LOGFILE
    echo iptables have been updated
  fi
fi

Anledningen att jag vill köra detta scriptet med cron på servern är för att den håller koll på mitt ipnummer och ska släppa in mig, kommer man från annat IP nummer så blir man blockerad.

Tacksam för hjälp!
Citera
2019-01-11, 12:08
  #2
Medlem
Ser att du nämner både iptables, cron och Ubuntu 18.
Det är inte så att problemet heter systemd?
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in