#!/bin/sh export DATE="5.9.2005" export TITLE="Verwaltung: WAN" . ${0%/*}/cgi-bin-pre.sh cat<<EOF

# Verwaltung: WAN

EOF if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ -z "$QUERY_STRING" ]; then #Speedups wan_proto="$(nvram get wan_proto)" cat<<EOF

Schnittstellen-Konfiguration
WAN-Protokoll: |
WAN-IP: |
WAN-Netzmaske: |
WAN Default-Route: |
PPP User: |
PPP Password: |
PPP Einwahlwiederholung: |
PPP Idletime: |
PPP MTU: |

Hinweis: die DNS-Einstellungen sind global gültig.
EOF if [ -e /tmp/resolv.conf_ppp ]; then set_dns="none;"; pppoe_dns="block;" else set_dns="block;"; pppoe_dns="none;" fi cat<<EOF
aktuelle DNS-Server: $(nvram get lan_dns) (PPPoE)
Automatische Wahl der Gateways als DNS-Server
DNS-Server: |
DNS-Server bei PPPoE-Einwahl nicht ändern

EOF if [ -e /usr/sbin/ez-ipupdate ]; then cat<<EOF

Dynamischer IP DNS-Service (es müssen nicht alle Felder ausgefüllt werden)
Service: |
Nutzername: |
Passwort: |
Hostname: |
Server: |
EasyDNS-Partner: |

EOF fi cat<<EOF

EOF if ! [ -e /usr/sbin/ez-ipupdate ]; then cat<<EOF HINWEIS: Wenn Du nach der Internet-Einwahl einen dynamischen IP DNS-Service nutzen willst, musst Du das Paket ez-ipupdate installieren (link startet Installation). Ist dieses nicht verfügbar, musst Du vorher die Liste der verfügbaren Pakete aktualisieren.
EOF fi else eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}') DIRTY= if [ -n "$post_wan" ]; then if [ -e /usr/sbin/ez-ipupdate ]; then if [ -e /etc/ez-ipupdate.conf ]; then mv -f /etc/ez-ipupdate.conf /etc/ez-ipupdate.conf_bak; fi echo "## ---------------- config written by wan.html -----" >/etc/ez-ipupdate.conf if [ -n "$dyndns_service" ]; then echo "service-type=$dyndns_service" >>/etc/ez-ipupdate.conf; fi if [ -n "$dyndns_user" ] || [ -n $dyndns_pass ]; then echo "user=$dyndns_user:$dyndns_pass" >>/etc/ez-ipupdate.conf; fi if [ -n "$dyndns_host" ]; then echo "host=$dyndns_host" >>/etc/ez-ipupdate.conf; fi if [ -n "$dyndns_server" ]; then echo "server=$dyndns_server" >>/etc/ez-ipupdate.conf; fi if [ -n "$dyndns_partner" ]; then echo "partner=$dyndns_partner" >>/etc/ez-ipupdate.conf; fi echo "## changed cache-file location to persist after reboot" >>/etc/ez-ipupdate.conf echo "cache-file=/etc/ez-ipupdate.cache" >>/etc/ez-ipupdate.conf echo "## ------------ end config written by wan.html -----" >>/etc/ez-ipupdate.conf echo >>/etc/ez-ipupdate.conf echo "## ---------------- rest of default config -------------" >>/etc/ez-ipupdate.conf if [ -e /etc/ez-ipupdate.conf_bak ]; then awk 'BEGIN {FS="="} $1 !~ "service-type|user|host|server|partner|cache-file|^##" {print}' /etc/ez-ipupdate.conf_bak >>/etc/ez-ipupdate.conf; fi fi for V in wan_proto wan_ipaddr wan_netmask wan_gateway on_autodns lan_dns on_pppoe_keepdns ppp_username ppp_passwd ppp_redialperiod ppp_idletime ppp_mtu pppoe_keepdns; do if [ "$V" != "wan_proto" ]; then if [ "$(nvram get wan_proto)" != "static" ]; then if [ "$V" = "wan_ipaddr" ] || [ "$V" = "wan_netmask" ] || [ "$V" = "wan_gateway" ]; then continue; fi; elif [ "$(nvram get wan_proto)" != "pppoe" ]; then if [ "$V" = "ppp_username" ] || [ "$V" = "ppp_passwd" ] || [ "$V" = "ppp_redialperiod" ] || [ "$V" = "ppp_idletime" ] || [ "$V" = "ppp_mtu" ]; then continue; fi; fi; fi; eval "C=\$$V" C=$(unescape $C) if [ "$V" = "lan_dns" ]; then if [ "$(nvram get on_autodns)" = "on" ]; then continue; else C="$(echo $C | awk '{gsub(","," ")} {print}')" rm -rf /tmp/resolv.conf for dns in $C; do logger -t "wan.htm" "replacing /tmp/resolv.conf" echo "nameserver $dns" >> /tmp/resolv.conf done fi; fi; if [ "$C" != "$(nvram get $V)" ]; then DIRTY=1 nvram set $V="$C" fi done fi if [ -n "$DIRTY" ]; then wan_ifname="$(nvram get wan_ifname)" if [ "$wan_proto" = "pppoe" ]; then if [ "$wan_ifname" != "ppp0" ]; then # nvram set pppoe_ifname="$wan_ifname"; nvram set wan_device="$wan_ifname"; nvram set wan_ifname="ppp0"; # setze maxfail bei /etc/ppp/options auf 0 (wenn noch nicht vorhanden) if [ -z "$(grep maxfail /etc/ppp/options)" ]; then if [ -h /etc/ppp/options ]; then cp -f /etc/ppp/options /etc/ppp/options; fi; echo "maxfail 0" >>/etc/ppp/options; fi fi; else if [ "$wan_ifname" = "ppp0" ]; then nvram set wan_ifname="$(nvram get wan_device)"; # nvram unset pppoe_ifname; fi; fi; nvram commit>/dev/null 2>&1 cat<<EOF

Die geänderten Einstellungen wurden übernommen. Die Einstellungen sind erst beim nächsten Neustart aktiv.

EOF else cat<<EOF

Es wurden keine Einstellungen geändert. Wurden Einstellungen des dynamischen IP DNS-Service geändert, werden diese bei der nächsten (Re)Aktivierung des WAN-Anschlusses benutzt.

EOF fi fi . ${0%/*}/cgi-bin-post.sh