#!/usr/local/bin/python #-*- coding:utf-8 -*- import socket from time import strftime ########## KONFIGURACJA ##################################################################### konfig_vpn= '/mgmt/conf/ipfw__tabela_adresow_vpn.conf' # to są pliki konfig_citrix= '/mgmt/conf/ipfw__tabela_adresow_ctx.conf' # tworzone przez skrypt logowanie= '/var/log/noip.log' # log numer_tabeli_ctx='90' # to też firewallowe numer_tabeli_vpn='91' # z ipfw z FreeBSD citrix = [ "upc.agagis.com", # tu "profesan.pl", # i tu sobie dopisujesz hosty "spacecraft.sytes.net", ] # które mają być wpuszczane ########## / KONFIGURACJA ##################################################################### adresy_citrix=[] adresy_vpn=[] czas=strftime("%Y-%m-%d %H:%M:%S") loguj=open((logowanie),'a') for host in citrix: print "Resolvuje host %s: " % (host), socket.timeout(10) try: adres=socket.getaddrinfo(host, None, socket.AF_UNSPEC,socket.SOCK_STREAM, 0, socket.AI_PASSIVE) revdns_adresu=socket.getfqdn(adres[0][4][0]) print "%s -> %s" % (adres[0][4][0],revdns_adresu) adresy_citrix.append(adres[0][4][0]) except socket.error, err: print "BRAK ADRESU!" loguj.write("%s Host %s nie rozwiazuje sie na adres IP.\n" % (czas,host)) ilosc_adresow=len(adresy_citrix) print "Zapisuje plik %s z %s adresami w tabeli %s: " % (konfig_citrix,ilosc_adresow,numer_tabeli_ctx), piszkonfig=open((konfig_citrix),'w') piszkonfig.write("# %s\n# Tabela z adresami NO-IP z dostepem do Citrix\n# Wygenerowano: %s\n\ntable %s flush\n" % (konfig_citrix,czas,numer_tabeli_ctx)) for adresip in adresy_citrix: piszkonfig.write("table %s add %s/32\n"% (numer_tabeli_ctx,adresip)) piszkonfig.close print "udane" loguj.write("%s Zapisany plik %s z tabela %s o wielkosci %s adresow.\n" % (czas,konfig_citrix,numer_tabeli_ctx,ilosc_adresow))