Select your language

Mida teha kui kasutate muutuvat IP aadressi ja soovite ligipääsu oma seadmetele välisvõrgust.
Põhimõtteliselt olen leidnud  kaks erinevat läehenemist:

1. Mõne teenusepakkuja, näiteks https://www.noip.com/ , kaasabil.
Minu seadmes jookseb teenusepakkuja service ja nende serveris seotakse minu muutuv IP ja domeen
(näiteks käesolev kodukas on registreeritud pupujuku.ddns.net domeenina).

2. Sõltumatu.
Minu seadmes (Raspberry)  jooksutatakse perioodiliselt progr. (minul python) mis kontrollib välist IP -d.
Kui IP muutub, siis saadetakse teavitus (näiteks Telegram vahendusel)  admin-le.
Uue IP teadmine võimaldab taas ligipääsu välisvõrgust, turvalisuse huvides on VPN ja SSH mõistlikud valikud.
käivita fail ip.py kasutades crontab
ip.txt failis hoitakse viimase IP aadressi väärtust
Kõik 3 faili (ip ; ip.py ; ip.txt) on kataloogis /home/.../ip
failis ip.py muuda bot ja chat_id vastavaks oma telegram seadistusele
=============================
#file: ip.py
------------
#!/usr/bin/python
# saada intervalliga kui on muutunud

import sys
import time
import subprocess
import telepot

ipaddr = '/home/.../ip/ip' 
bot = telepot.Bot('xxxxxxx:yyyyyyyyyyyyyyyyyyyyyyy')
chat_id = 'zzzzzzzzzz'
fn = '/home/.../ip/ip.txt' 

out = subprocess.check_output([ipaddr]) 
ip = dict([line.split('=') for line in out.decode('ascii').strip().split('\n')]) 

file = open(fn,"r") 

if ip['Public'] != file.read():
	reply = 'http://%s/' % (ip['Public'])
    	bot.sendMessage(chat_id, reply)
file.close()
file = open(fn,"w")
file.write(ip['Public'])
file.close()

sys.exit()
===============================
# file: ip
-----------
#!/bin/bash

#out=$(upnpc -l)

internalip=$(echo "$out" | grep "Local LAN ip address" | cut -d: -f2 | sed 's/^ *//')
externalip=$(echo "$out" | grep "ExternalIPAddress" | cut -d= -f2 | sed 's/^ *//')
publicip=$(curl 'https://api.ipify.org' --silent)

echo "Internal=$internalip"
echo "External=$externalip"
echo "Public=$publicip"
-------------------------------​