aboutsummaryrefslogtreecommitdiff
path: root/src/wan.html
blob: 3c3a5465f16554b91448657f434f87c6e70f6036 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
<!doctype html>
<html lang="de">
  <head>
    <meta charset="UTF-8" />
    <link rel="stylesheet" href="styles.css" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Einwahl und Zugangsdaten - RSDSL Verwaltungswerkzeug</title>
    <script type="module" src="/dashboard.js" defer></script>
    <script type="module" src="/wan.js" defer></script>
  </head>

  <body>
    <div class="container">
      <h1>Einwahl und Zugangsdaten</h1>

      <div class="row">
        <form id="dashboard-form">
          <button id="dashboard-submit" type="submit">↩ Zurück zur Übersicht</button>
        </form>

        <form id="wan-open-form">
          <button id="wan-open-submit" type="submit">Einwahl und Zugangsdaten</button>
        </form>

        <form id="lan-open-form">
          <button id="lan-open-submit" type="submit">LAN</button>
        </form>

        <form id="vpn-open-form">
          <button id="vpn-open-submit" type="submit">VPN</button>
        </form>

        <form id="log-open-form">
          <button id="log-open-submit" type="submit">Diagnoseprotokolle</button>
        </form>

        <form id="sys-open-form">
          <button id="sys-open-submit" type="submit">System</button>
        </form>

        <form id="disconnect-form">
          <button id="disconnect-submit" type="submit">🚪 Abmelden</button>
        </form>
      </div>

      <br />

      <form id="connection-form">
        <fieldset>
          <legend>Einwahl</legend>

          <span class="row" id="connection-status">Einwahlstatus: ❓ Abfrage...</span>
          <span class="row" id="connection-ipv4">IPv4: ❓ Abfrage...</span>
          <span class="row" id="connection-ipv6">IPv6: ❓ Abfrage...</span>

          <br />

          <div class="row">
            <button id="connection-warm-reconnect">🔄 Verbindungsparameter neu synchronisieren</button>
            <button id="connection-cold-reconnect">☎ Neu einwählen</button>
            <button id="connection-force-reconnect">🔧 Neueinwahl erzwingen</button>
          </div>

          <p>Information: Eine Neueinwahl dauert ca. 30 Sekunden und übernimmt
          Änderungen an den Zugangsdaten. Während diesem Zeitraum besteht keine
          Verbindung zum Internetanbieter. Eine Neusynchronisation der
          Verbindungsparameter dauert meist ca. 3 Sekunden oder weniger,
          übernimmt aber keine Änderungen an den Zugangsdaten und kann bei der
          Umstellung zwischen dynamischer und statischer Adressierung oder
          zwischen IPv4 und IPv6 hilfreich sein. Beide Vorgänge führen in der
          Regel zu einem Wechsel der öffentlichen IPv4-Adresse (ggf.  mehrmals
          wiederholen) und in selteneren Fällen auch zu einem Wechsel des
          IPv6-Präfixes, falls die Einwahl erst nach über eine Stunde
          erfolgreich ist.</p>

          <p>In einigen Fällen kann die Software einfrieren, insbesondere nach
          schnell aufeinander folgenden Verbindungsabbrüchen durch äußere
          Einflüsse. Meist genügt es, nur den Einwahldienst anstelle des ganzen
          Gerätes neu zu starten. Die Auswirkungen sind die gleichen wie bei
          einer Neueinwahl, allerdings wird nicht auf das Beenden der aktuellen
          Einwahl gewartet und ein Neustart des Einwahldienstes erzwungen. Wird
          diese Operation bei funktionierender Internetverbindung genutzt, kann
          es über 1 Minute dauern, bis der Anbieter die Einwahl wieder zulässt.
          Das gleiche gilt für Neustarts mittels Stromkabel.</p>
        </fieldset>
      </form>

      <br />

      <form id="credentials-form">
        <fieldset>
          <legend>PPPoE-Zugangsdaten</legend>

          <label for="credentials-username" form="credentials-form">Benutzername:</label>
          <div class="row">
            <input id="credentials-username" />
          </div>

          <br />

          <label for="credentials-password" form="credentials-form">Passwort:</label>
          <div class="row">
            <input id="credentials-password" type="password" />
          </div>
          <br />
          <div class="row">
            <button id="credentials-show">🔒 Passwort ein-/ausblenden</button>
          </div>

          <br />

          <div class="row">
            <button id="credentials-submit" type="submit">Zugangsdaten ändern</button>
          </div>

          <p id="credentials-status">Warte auf Initialisierung...</p>
        </fieldset>
      </form>

      <br />

      <form id="dhcpv6-form">
        <fieldset>
          <legend>DHCPv6-Client</legend>

          <div class="row">
            <label for="dhcpv6-timestamp" form="dhcpv6-form">Letzte Gültigkeitsbestätigung:</label>
            <output id="dhcpv6-timestamp">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-srvaddr" form="dhcpv6-form">Serveradresse für weitere Anfragen:</label>
            <output id="dhcpv6-srvaddr">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-srvid" form="dhcpv6-form">Server-DUID (Hexadezimal):</label>
            <output id="dhcpv6-srvid">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-t1" form="dhcpv6-form">Verlängerung (Renew):</label>
            <output id="dhcpv6-t1">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-t2" form="dhcpv6-form">Verlängerung mit Serversuche (Rebind):</label>
            <output id="dhcpv6-t2">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-prefix" form="dhcpv6-form">Präfix:</label>
            <output id="dhcpv6-prefix">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-wanaddr" form="dhcpv6-form">WAN-Adresse (aus Präfix abgeleitet):</label>
            <output id="dhcpv6-wanaddr">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-preflft" form="dhcpv6-form">Verwendungsdauer:</label>
            <output id="dhcpv6-preflft">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-validlft" form="dhcpv6-form">Gültigkeitsdauer:</label>
            <output id="dhcpv6-validlft">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-dns1" form="dhcpv6-form">Primärer DNS-Server (nur für DS-Lite AFTR):</label>
            <output id="dhcpv6-dns1">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-dns2" form="dhcpv6-form">Sekundärer DNS-Server (nur für DS-Lite AFTR):</label>
            <output id="dhcpv6-dns2">❓ Abfrage...</output>
          </div>

          <div class="row">
            <label for="dhcpv6-aftr" form="dhcpv6-form">DS-Lite:</label>
            <output id="dhcpv6-aftr">❓ Abfrage...</output>
          </div>

          <br />

          <div class="row">
            <button id="dhcpv6-kill">🔄 Verlängerung mit Serversuche</button>
          </div>

          <p>Information: Nur bei einem grünen Haken bei "Letzte
          Gültigkeitsbestätigung" ist das Präfix gültig und eine Verbindung mit
          dem IPv6-Internet hergestellt (die reine Einwahl, s. oben, genügt
          nicht). Bei abgelaufener Verwendungsdauer sollen laut Standard keine
          neuen Verbindungen mehr aufgebaut werden. Diese Implementation
          ignoriert diese Begrenzung, um im (anbieterseitigen
          Software-)Störungsfall eine höhere Verfügbarkeit zu erreichen. Eine
          Verlängerung mit Serversuche startet den DHCPv6-Client vollständig
          neu und dauert ca. 30 Sekunden, sollte die Internetverbindung aber
          nicht beeinträchtigen. Sie kann Abhilfe schaffen, wenn die
          IPv6-Einwahl gelingt, aber keine Verbindung zum IPv6-Internet besteht
          oder in dieser Übersicht das Präfix als ungültig angezeigt wird.</p>

          <label for="dhcpv6-duid" form="dhcpv6-form">Client-DUID (Hexadezimal):</label>
          <div class="row">
            <input id="dhcpv6-duid" />
          </div>

          <br />

          <div class="row">
            <button id="dhcpv6-submit" type="submit">Client-DUID ändern</button>
          </div>

          <p id="dhcpv6-status">Warte auf Initialisierung...</p>

          <p>Information: Der Client-DUID (<b>D</b>HCP <b>U</b>nique
          <b>ID</b>entifier) ist ein eindeutiger Wert, den der Internetanbieter
          für die IPv6-Präfixvergabe verwenden kann. Dieser Wert sollte
          konstant sein, um das Präfix konstant zu halten und somit weniger oft
          die Einträge des dynamisches DNS (für Serververfügbarkeit)
          aktualisieren zu müssen. Die eingesetzte Implementation nutzt den
          DUID-UUID-Untertyp, der hier eingegebene Wert bezieht sich aber auf
          den vollständigen DUID, nicht nur auf den UUID-Bestandteil. Er wird
          zufällig generiert, falls noch kein Wert gespeichert ist oder der
          gespeicherte Wert ungültig ist. Falls nötig kann der DUID hier
          eingesehen und verändert werden. Einige Internetanbieter schreiben
          die Nutzung eines bestimmten DUIDs vor.</p>
        </fieldset>
      </form>
    </div>
  </body>
</html>