frankenrouter.py created online with Bitbucket
This commit is contained in:
parent
32c1fcd24a
commit
14f47abc67
1 changed files with 67 additions and 0 deletions
67
frankenrouter.py
Normal file
67
frankenrouter.py
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
# frankenrouter.py by afx (c) 2018 deflax.net [42/9073]
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
dburl = 'https://www.datapoint.bg/vmanager/slavetables/1'
|
||||||
|
clientiface = 'ens19'
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
def setpubips():
|
||||||
|
db_result = requests.get(dburl, headers={"content-type": "application/json"}, ti
|
||||||
|
meout=30 )
|
||||||
|
proxjson = db_result.json()
|
||||||
|
for key, value in proxjson['addresses'].items():
|
||||||
|
pass
|
||||||
|
#data += '#ip: ' + value['ipv4'] + ' mac:' + value['mac'] + '\n'
|
||||||
|
#data += 'iptables -P FORWARD DROP\n'
|
||||||
|
#data += 'iptables -P FORWARD -j ACCEPT -i '
|
||||||
|
|
||||||
|
data = """
|
||||||
|
ip addr add 87.120.110.43/24 dev $PUBIF label $PUBIF:0
|
||||||
|
ip addr add 87.120.110.44/24 dev $PUBIF label $PUBIF:1
|
||||||
|
ip addr add 87.120.110.45/24 dev $PUBIF label $PUBIF:2
|
||||||
|
"""
|
||||||
|
return data
|
||||||
|
|
||||||
|
def setvlans(vlanmin=101, vlanmax=200, clientiface)
|
||||||
|
#vlans
|
||||||
|
data = ''
|
||||||
|
for vlanid in range(vlanmin, vlanmax, 1):
|
||||||
|
data += """
|
||||||
|
kill -9 `cat /root/vlanconf/v{0}.dhpid`
|
||||||
|
rm /root/vlanconf/v{0}.dhpid
|
||||||
|
ip link del {1}.{0}
|
||||||
|
ip link add link {1} name {1}.{0} type vlan id {0}
|
||||||
|
ip link set dev {1}.{0} up
|
||||||
|
ip addr add 10.0.{0}.1/24 dev {1}.{0}
|
||||||
|
touch /root/vlanconf/v{0}.dhlease
|
||||||
|
dhcpd -4 -cf /root/vlanconf/v{0}.dhconf -lf /root/vlanconf/v{0}.dhlease -pf /root/vl
|
||||||
|
anconf/v{0}.dhpid {1}.{0}
|
||||||
|
""".format(vlanid, clientiface)
|
||||||
|
return data
|
||||||
|
|
||||||
|
def bashexec(workfile, data)
|
||||||
|
script = """
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# {0} generated at {1}
|
||||||
|
#
|
||||||
|
|
||||||
|
{2}""".format(workfile, datetime.datetime.now(), data)
|
||||||
|
wr = open(workfile, 'w')
|
||||||
|
wr.write(data)
|
||||||
|
wr.close()
|
||||||
|
subprocess.call('chmod +x {}'.format(workfile), shell=True)
|
||||||
|
subprocess.call('./{}'.format(workfile), shell=True)
|
||||||
|
|
||||||
|
def routerinit():
|
||||||
|
bashexec('globalfwconfig.sh', setglobalfw())
|
||||||
|
bashexec('vlanconfig.sh', setvlans())
|
||||||
|
bashexec('pubipconfig.sh', setpubips())
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
routerinit()
|
Loading…
Reference in a new issue