Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## IP-Adressen zur netcup-Firewall hinzufügen
- ## Veröffentlicht unter der GPL
- ## Geschrieben von Rico Dittrich (riditt.de)
- ## Als Inspiration diente mir mein guter Freund Peter Drosihn (https://rechner80.de/), der
- ## sich für diese Aufgabe und für iptables einen Daemon programmierte, der genauso funkt.
- ## Danke! :)
- #Variablen setzen
- #Deine dyn-dns, no-ip, whatever-Domain
- #Ich empfehle no-ip.com, damit hab' ich bisher keine Probleme gehabt.
- domain="xxx.no-ip.org"
- #Deine netcup-Daten
- #Kunden-ID
- login="00000"
- #Passwort für das VCP
- pwd="***"
- #Server-Name
- name="vXXXXXXXXXXXXXXXX"
- #Hier wird die IP-Version gesetzt. Du darfst sie gern ändern, ich übernehme aber keine Garantie dafür, dass v6 funktioniert.
- type="IPv4"
- version="&ipType=$type&ownip=0.0.0.0/0"
- #Hier werden die IP-Adressen geholt
- new=$(host $domain|cut -d" " -f4)
- # Zuerst einloggen...
- curl -b cookie.txt -c cookie.txt -d "doLogin=Login&username=$login&password=$pwd" --url https://www.vservercontrolpanel.de/Login
- #Die Server-ID wird mit dem Server-Name aus der Homepage des VCP extrahiert
- curl -b cookie.txt -o name.txt --url https://www.vservercontrolpanel.de/Login
- tr -d \\012 < name.txt > id.txt
- id=grep -o "selectedVServerId=[0-9]\{1,10\}[^0-9]*$name" id.txt | grep -m 1 -o "Id=[0-9]*" | grep -o [0-9]*
- #...dann alle IP-Regeln holen...
- curl -b cookie.txt -o rules.txt --url "https://www.vservercontrolpanel.de/VServers?selectedVServerId=$id&page=filter§ion=$type"
- #...nach dem enabler-comment suchen und die Regel-ID extrahieren...
- ruleid=$(cat rules.txt|grep "name=\"comment\" value=\"enabler\""|cut -d"\"" -f4|cut -d"\"" -f1|cut -d"t" -f3)
- #...und schließlich die alte IP in die Variable old schreiben
- old=$(cat rules.txt|grep "onchange=\"fwEditRule($ruleid)\""|grep "id=\"foreignip\""|cut -d"\"" -f8)
- add="addRule=addRule&addRuleSubmit=hinzuf%C3%BCgen&direction=INPUT&foreignip=$new&match=STATE&NEW=NEW&RELATED=RELATED&ESTABLISHED=ESTABLISHED&proto=ANY&sortINPUT=1&sortOUTPUT=1&target=ACCEPT&comment=enabler&$version"
- rem="deleteId=$ruleid&direction=INPUT&foreignip=$old&proto=ANY&sortINPUT=1&submit$ruleid=&target=ACCEPT&match=&$version"
- #Die alte IP (vor dem IP-Wechsel) wird entfernt...
- curl -b cookie.txt -d "${rem}${version}" --url "https://www.vservercontrolpanel.de/VServers?selectedVServerId=$id&page=filter§ion=$type"
- curl -b cookie.txt -d "updateRules=updateRules" --url "https://www.vservercontrolpanel.de/VServers?selectedVServerId=$id&page=filter§ion=$type"
- #...und die IP wird hier hinzugefügt
- curl -b cookie.txt -d "${add}${version}" --url "https://www.vservercontrolpanel.de/VServers?selectedVServerId=$id&page=filter§ion=$type"
- curl -b cookie.txt -d "updateRules=updateRules" --url "https://www.vservercontrolpanel.de/VServers?selectedVServerId=$id&page=filter§ion=$type"
- #Und schlussendlich loggen wir uns noch aus
- curl -b cookie.txt --url https://www.vservercontrolpanel.de/Logout
- #Und nun noch die temporären Daten löschen
- rm id.txt tmp.txt name.txt rules.txt cookie.txt
- #Fertsch
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement