DHCP-/DNS-Admin VLAN Dateien erstellen

Erweiterung mit ipaddress-Modul möglich:

https://docs.python.org/3/howto/ipaddress.html

Iterating through the “usable” addresses on a network:

>>> net4 = ipaddress.ip_network('192.0.2.0/24')
>>> for x in net4.hosts():
...     print(x)  
192.0.2.1
192.0.2.2
192.0.2.3
192.0.2.4
...
192.0.2.252
192.0.2.253
192.0.2.254
dda_vlan_macher.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
#  dda_vlan_macher.py
 
print (""" === Erstellen einer neuen VLAN Datei === \n\n """)
 
while True:
    vlan = input("Welches VLAN soll erstellt werden? Bitte Nr. eingeben: ")
    try:
        i_vlan = int(vlan)
    except ValueError:
        print("Keine Nummer! Bitte nur Zahlen eingeben ...")
    # Alles in Ordnung:
    else:
        vlan = "{:04d}".format(i_vlan)    # Eingabe: 200 -> 0200
        break
 
devices = input("Präfix für Geräte. Bitte die ersten zwei Stellen eingeben: ")
 
## VLAN Konfigurations Datei zum schreiben öffnen
with open('vlans/vlan{}.in'.format(vlan), 'w') as vlanconf:    
    # "0200" -> 200
    s_vlan = str(int(vlan))
 
    if len(s_vlan) > 3:    # wenn 1400 -> 14
        s_vlan = s_vlan[:2]
    else:
        s_vlan = s_vlan[0]
 
    for zaehler in range(1, 50):
        s_devices = devices + "{:03d}".format(zaehler)
        ip  = "172.16.{}.{}".format(s_vlan, zaehler)
        mac = "{:02d}:22:33:44:55:66".format(zaehler)
        vlanconf.writelines("{} {} {}\n".format(s_devices, mac, ip))