1 |
Hallo, |
2 |
|
3 |
ich habe meinen Fehler gefunden: Ich habe einfach vergessen auf R1 das |
4 |
Gateway für die auf R2 gerouteten Netze noch festzulegen. |
5 |
|
6 |
Nach dem ich dies nachgeholt habe geht alles. |
7 |
|
8 |
Grüße und noch einen schönen Sonntag, |
9 |
Stephan |
10 |
|
11 |
|
12 |
|
13 |
Am Samstag, 17. Juni 2017, 20:30:18 schrieb Kai Krakow: |
14 |
> Am Sat, 17 Jun 2017 17:35:38 +0200 |
15 |
> |
16 |
> schrieb gentoo@×××××××××.de: |
17 |
> > Hallo, |
18 |
> > |
19 |
> > ich habe das Gefühl, dass ich den Wald vor lauter Bäume nicht mehr |
20 |
> > sehe und hoffe das mir jemand einen erhellenden Hinweis liefern kann. |
21 |
> > Da der Tunnelbroker Sixxs den Dienst eingestellt hat, möchte ich nun |
22 |
> > IPv6 von der Telekom nutzen. Dies funktioniert aber leider nur |
23 |
> > halbwegs. |
24 |
> > |
25 |
> > Folgend mein Netzwerkaufbau |
26 |
> > |
27 |
> > Internet |
28 |
> > |
29 |
> > ^ |
30 |
> > |
31 |
> > v |
32 |
> > |
33 |
> > ppp100 |
34 |
> > |
35 |
> > Router (R1) |
36 |
> > |
37 |
> > eth0.103 eth0.102 eth0.104 |
38 |
> > |
39 |
> > / | \ |
40 |
> > |
41 |
> > / | \ |
42 |
> > |
43 |
> > / eth1 \ |
44 |
> > |
45 |
> > Gäste Gentoo (R2) DMZ |
46 |
> > |
47 |
> > eth0 |
48 |
> > |
49 |
> > Lokales Lan --> Notebook |
50 |
> > |
51 |
> > Auf R1 erhalte ich von der Telekom fürs PPP-Device eine IPv6-Adresse. |
52 |
> > Auch erhalte ich per DHCPv6 ein entsprechend geroutetes /56-Netz, |
53 |
> > woraus ich mir ein /60 nehme. |
54 |
> |
55 |
> Müsstest du dir nicht für jedes VLAN ein 60er Subnetz auf dem 56er |
56 |
> Subnetz nehmen? Oder geht es nur um das VLAN 102, das mit IPv6 versorgt |
57 |
> werden soll? |
58 |
> |
59 |
> Ich bin mit IPv6 Subnetz-Routing noch nicht viel unterwegs, aber wenn |
60 |
> |
61 |
> ich das einigermaßen richtig verstanden habe, dann meine Gedanken dazu: |
62 |
> > Auf R1 sind folgende IPv6 -Adressen und Routen vergeben: |
63 |
> > IPs |
64 |
> > ppp100 : 2003:d0:33bf:275b:36ee:995e:6dd7:1a2b/64 |
65 |
> > eth0.102 : 2003:d0:33f8:5000::1/60 |
66 |
> > eth0.102 : fe80::1/64 |
67 |
> |
68 |
> ppp100 und eth0.102 befinden sich in verschiedenen Netzwerk-Segmenten |
69 |
> (laut Präfix). Ich würde erwarten, dass die 60-Bit-Präfixe identisch |
70 |
> sind, unterscheiden sich aber bereits bei 33bf vs. 33f8. Außerdem hat |
71 |
> ppp100 ja bereits ein 64er-Subnetz, kein 56er... |
72 |
> |
73 |
> Deine unteren Netze (laut Schaubild) sollten also alle ein 64er-Präfix |
74 |
> "2003:d0:33bf:275b" haben. Dann würdest du das Präfix weiter |
75 |
> unterteilen, z.B. indem du ein Nibble (4 Bit) dazu nimmst und somit 16 |
76 |
> weitere Subnetze erhältst. Das Subnetz "3" wäre dann durch ppp0 bereits |
77 |
> belegt. Die restlichen könntest du verteilen: |
78 |
> |
79 |
> eth0.102: 2003:d0:33f8:275b:4000::1/68 |
80 |
> ^ |
81 |
> +-- Subnetzkennung (64+4 = 68) |
82 |
> [-----------------] |
83 |
> ^ |
84 |
> +------- Präfix des Uplinks (64) |
85 |
> |
86 |
> > Routen |
87 |
> > 2003:d0:33bf:275b::/64 dev ppp100 |
88 |
> > 2003:d0:33f8:5000::/60 dev eth0.102 |
89 |
> > default via fe80::100:100:3e9b:f606 dev ppp100 |
90 |
> |
91 |
> Das Routing ergibt sich dann eigentlich von allein, da du Richtung |
92 |
> Uplink in fremde Netze gehst und Richtung Downlink nur in kleinere |
93 |
> Subnetze innerhalb des selben (übergeordneten) Präfix. |
94 |
> |
95 |
> Auch für die weiter unten angesiedelten Subnetze ist es dann das |
96 |
> gleiche Bild: Übergeordnete Router befinden sich in fremden Subnetzen. |
97 |
> |
98 |
> IPv6 sollte eigentlich ein wenig zurückbringen, was Subnetze eigentlich |
99 |
> wirklich bedeuten. Bei IPv4 hat man das inzwischen meist anders |
100 |
> gehandhabt. |
101 |
> |
102 |
> Theoretisch zum Beispiel müsstest du auch mit IPv4 eine Konstellation |
103 |
> wie diese aufbauen können: |
104 |
> |
105 |
> ppp0 = 192.168.0.1/16 |
106 |
> eth0.102 = 192.168.102.1/24 |
107 |
> eth0.103 = 192.168.103.1/24 |
108 |
> eth0.104 = 192.168.104.1/24 |
109 |
> |
110 |
> Das stellt eigentlich keinen Konflikt dar. Die Interface-Routen für die |
111 |
> eth0-Interfaces ist spezifischer und wiegt damit mehr und stellt keinen |
112 |
> Routing-Konflikt mit 192.168.0.0/16 dar. |
113 |
> |
114 |
> Ich würde allerdings der Übersichtlichkeit halber vermeiden, auf einem |
115 |
> Downlink "192.168.0.0/24" zu nutzen, so wie oben für IPv6 ja auch |
116 |
> angedeutet. |
117 |
> |
118 |
> Die Default-Route (wenn kein Präfix passt) geht dann auf ppp0. |
119 |
> |
120 |
> Bei IPv6 hast du nun statt lokalen 192.168er Adressen eben öffentliche |
121 |
> Präfixe - aber das ist nicht wirklich anders. |
122 |
> |
123 |
> Der unterschied ist hier nur das Scoping: Je nach Scope können Pakete |
124 |
> einen Boundary passieren oder nicht. Es gibt link-local (quasi alles am |
125 |
> gleichen Switch bzw. Subnetz), site-local (alles unterhalb von ppp0) |
126 |
> sowie global. Die ersten Stellen der IPv6-Adresse unterscheiden das: |
127 |
> 2003 ist z.B. global, fe80 ist link-local. |
128 |
> |
129 |
> Bei IPv6 haben Interfaces deshalb auch immer mehrere Adressen, |
130 |
> mindestens eine pro Scope, jeweils ausgestattet mit einer |
131 |
> Gültigkeitsdauer (die such überschneiden, so dass dynamische IP-Wechsel |
132 |
> ohne Verbindungsabbrüche möglich sind). |
133 |
> |
134 |
> Deine Default-Routen kannst du jeweils immer auf die fe80-Adresse |
135 |
> setzen, da du die gleich lassen kannst, während das RA dir neue Public |
136 |
> Prefixes durch deine Subnetze schicken kann. |
137 |
> |
138 |
> Um site-local mit festen IPs zu adressieren, kannst du site scope |
139 |
> Adressen verwenden und so zwischen deinen VLANs kommunizieren (aber |
140 |
> natürlich auch mit den global scope Adressen, die aber je nach Provider |
141 |
> nicht immer gleich bleiben müssen). |
142 |
> |
143 |
> > Auf R2 sind folgende IPv6-Adresse vergeben: |
144 |
> > eth1 : 2003:d0:33f8:5000:280:c9ff:fe00:3ef/64 |
145 |
> > eth0 : 2003:d0:33f8:500e::1/64 |
146 |
> > eth0 : fe80::1/64 |
147 |
> |
148 |
> ^^^^^^^^^ |
149 |
> Wieder andere Präfixes. Dies sind potentiell andere Rechner oberhalb |
150 |
> des Uplinks. |
151 |
> |
152 |
> > Routen |
153 |
> > 2003:d0:33f8:5000::/64 dev eth1 |
154 |
> > 2003:d0:33f8:500e::/64 dev eth0 |
155 |
> > default via fe80::1 dev eth1 |
156 |
> |
157 |
> ^^^^^^^^^ |
158 |
> Wieder nicht dein global scope Subnetz. |
159 |
> |
160 |
> > Auf R2 wird per per dnsmasq das entsprechende IPv6 bekannt gemacht |
161 |
> |
162 |
> > und die Geräte erhalten auch entsprechende IPv6-Adressen: |
163 |
> Du musst nach unten die größeren Prefixes verteilen, deren von oben |
164 |
> geerbtes Prefix aber immer gleich sein muss (also der 64er Teil |
165 |
> identisch, und nach unten ein 68er Subnetz verteilen). |
166 |
> |
167 |
> Leider ist ein 64er-Präfix vom Provider eigentlich schon zu klein, um |
168 |
> stateless IP Vergabe zu nutzen, dafür wäre ein 48er-Subnetz besser, wie |
169 |
> es das von SixXS gab. Denn der stateless Modus erstellt automatisch |
170 |
> eine global scope IP aus dem vorgegebenen Präfix und nutzt die |
171 |
> 48-Bit-MAC, um sich daraus eine 64-Bit-Host-Adresse zu basteln. |
172 |
> Zusammen mit dem 64-Bit-Präfix sind das dann schon die 128 Bit. Du |
173 |
> wirst also die Downlink-Subnetze mit DHCPv6 versorgen müssen. |
174 |
> |
175 |
> > z.B. Linux-Notebook |
176 |
> > IPs |
177 |
> > eth0 : 2003:d0:33f8:500e:11fc:60db:35f2:5582/64 |
178 |
> > |
179 |
> > Routen: |
180 |
> > 2003:d0:33f8:500e::/64 dev eth0 |
181 |
> > default via fe80::1 dev eth0 |
182 |
> > |
183 |
> > |
184 |
> > Von R1 und R2 komme ich ohne Probleme per IPv6 ins Internet, |
185 |
> > z.B. per: ping6 heise.de |
186 |
> > Ich kann auch die IPs von R1 und R2 von einem Server im Internet aus |
187 |
> > erreichen: |
188 |
> > ping6 2003:d0:33bf:275b:36ee:995e:6dd7:1a2b |
189 |
> > ping6 2003:d0:33f8:5000::1 |
190 |
> > und |
191 |
> > ping6 2003:d0:33f8:5000:280:c9ff:fe00:3ef |
192 |
> > sind erfolgreich. |
193 |
> |
194 |
> Ja, nur erreichst du keinen öffentlichen Rechner mit dem Präfix |
195 |
> 2003:d0:33f8:5000 mehr - das gehört ja nicht dir. |
196 |
> |
197 |
> > Was jetzt NICHT geht ist, dass ich die Adresse 2003:d0:33f8:500e::1 |
198 |
> > von R1 aus anpingen kann; auch kann ich aus dem lokalen LAN keine |
199 |
> > IPv6-Adresse hinter eth1 (von R2) erreichen. |
200 |
> |
201 |
> So funktioniert das Routing bei IPv6 eigentlich auch nicht. Bzw. dir |
202 |
> fehlen vermutlich Routen. Ich würde lieber erstmal echte Subnetze |
203 |
> probieren (also größere Präfixe je weiter unten im Diagramm). |
204 |
> |
205 |
> > Es sieht so aus als würde kein Routing auf R2 gemacht werden, aber |
206 |
> > in /proc ist es entsprechend aktiviert: |
207 |
> > cat /proc/sys/net/ipv6/conf/{all,eth0,eth1}/forwarding --> 1, 1, 1 |
208 |
> > |
209 |
> > Lasse ich während ich vom Notebook aus eine externe Adresse anpinge |
210 |
> > ein tcpdump auf R1 laufen, sehe ich, dass dort versucht wird die |
211 |
> > Adresse des Notebooks per neighbor solicitation zu ermitteln, was |
212 |
> > aber ins leere zu laufen scheint. Ein ip -6 neigh zeigt an: |
213 |
> > 2003:d0:33f8:500e:11fc:60db:35f2:5582 dev eth0.102 FAILED |
214 |
> > |
215 |
> > Firewall-Regeln sind auf R2 keine eingerichtet und auf R1 nur |
216 |
> > rudimentär auf ppp100. |
217 |
> > |
218 |
> > Also irgendwie ist da er Wurm drin und ich würde mich freuen, wenn |
219 |
> > mir jemand einen Tipp geben könnte ;) |
220 |
> |
221 |
> Wie eingangs erwähnt: Nur meine Gedanken dazu... Ich habe das bisher |
222 |
> nur in der Theorie gemacht. ;-) |
223 |
> |
224 |
> Feedback und Gedanken dazu sind willkommen. |