ip6tables und Löcher im Traceroute

Lord Gurke

Nur echt mit 32 Zähnen
Hallo zusammen,

ich habe hier ein kleines Linux-System stehen, welches die Firewall für mein Heimnetz gibt. Aus unterschiedlichen Gründen habe ich mal die Firewallregeln aufgeräumt, jetzt habe ich bei Traceroutes von innen nach außen per IPv6 immer 3-4 Hops, die nicht antworten.
Sie antworten aber sehr wohl, wenn ich direkt von der Firewall aus pinge...

Jetzt frage ich mich, warum das passiert. Bis jetzt funktioniert alles noch so wie erwartet, aber unterm Strich ist das ein Verhalten was neu ist und welches ja auch durchaus Nebenwirkungen haben kann.


Gegeben ist:
* Debian 7
* DSL-Zugang der Telekom mit IPv6
* Mehrere virtuelle Interfaces für VLAN-Tagging
* Meine Windows-Workstation

Die Interfaces:
Code:
~# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
    inet6 fe80::225:90ff:fe92:2479/64 scope link
       valid_lft forever preferred_lft forever
5: brvlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    inet6 2003:XXXX:XXXX:4504:225:90ff:fe92:2478/64 scope global
       valid_lft forever preferred_lft forever
    inet6 2a02:XXXX:XXXX:599::e0f1:2/112 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::1:e1/128 scope link
       valid_lft forever preferred_lft forever
    inet6 fe80::225:90ff:fe92:2478/64 scope link
       valid_lft forever preferred_lft forever
7: brvlan2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    inet6 fe80::225:90ff:fe92:2478/64 scope link
       valid_lft forever preferred_lft forever
46: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qlen 3
    inet6 2003:XXXX:XXXX:eebc:d078:5221:34d4:32f1/64 scope global dynamic
       valid_lft 13859sec preferred_lft 1259sec
    inet6 fe80::d078:5221:34d4:32f1/10 scope link
       valid_lft forever preferred_lft forever
Die iptables-Regeln:

Code:
~# ip6tables -L -n -v
Chain INPUT (policy DROP 7 packets, 673 bytes)
 pkts bytes target     prot opt in     out     source               destination
   47 22616 ACCEPT     all      *      *       ::/0                 ::/0                 state RELATED,ESTABLISHED
  177 15525 ACCEPT     udp      brvlan1 *       fe80::/10            fe80::/10
    0     0 ACCEPT     tcp      brvlan1 *       fe80::/10            fe80::/10            tcp dpt:53
  150 20400 ACCEPT     icmpv6    brvlan1 *       ::/0                 ::/0                 ipv6-icmptype 134 HL match HL == 255
   95  6840 ACCEPT     icmpv6    brvlan1 *       ::/0                 ::/0                 ipv6-icmptype 135 HL match HL == 255
   91  6552 ACCEPT     icmpv6    brvlan1 *       ::/0                 ::/0                 ipv6-icmptype 136 HL match HL == 255
   33  8653 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 1
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 2
   39  5728 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 3
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 4
    2   208 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 128
    5   520 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 129
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 130
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 131
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 132
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 143
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 148
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 149
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 151
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 152
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 153
    7   344 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 133
    4   416 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 134
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 135
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 136
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 141
    0     0 ACCEPT     icmpv6    *      *       ::/0                 ::/0                 ipv6-icmptype 142

Chain FORWARD (policy DROP 35 packets, 3040 bytes)
 pkts bytes target     prot opt in     out     source               destination
22386 2607K ACCEPT     all      brvlan1 ppp0    ::/0                 ::/0
34141   35M ACCEPT     all      ppp0   brvlan1  ::/0                 ::/0                 state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT 192 packets, 24619 bytes)
 pkts bytes target     prot opt in     out     source               destination
Wenn ich nun von meiner Workstation aus einen Traceroute mache, sieht das so aus:

Code:
  >tracert k.root-servers.net

Routenverfolgung zu k.root-servers.net [2001:7fd::1] über maximal 30 Abschnitte:

  1    <1 ms    <1 ms    <1 ms  p200300XXXXXXX4504022590FFFE922478.dip0.t-ipconnect.de [2003:XXXX:XXXX:4504:225:90ff:fe92:2478]
  2     *        *        *     Zeitüberschreitung der Anforderung.
  3     *        *        *     Zeitüberschreitung der Anforderung.
  4     *        *        *     Zeitüberschreitung der Anforderung.
  5     *        *        *     Zeitüberschreitung der Anforderung.
  6    24 ms    26 ms    26 ms  fra31-loop0-v6.fra.seabone.net [2001:41a8:600::1e]
  7    30 ms    30 ms    29 ms  ge2.router.denic.k.ripe.net [2001:7f8::6240:0:1]
  8    32 ms    32 ms    32 ms  k.root-servers.net [2001:7fd::1]

Ablaufverfolgung beendet.
Ich sehe allerdings, dass bei den Lücken definitiv Antworten auf ppp0 reinkamen - allerdings kamen sie aus brvlan1 nicht wieder raus...
Code:
19:43:21.231834 IP6 2003:XXXX:XXXX:4504:9f7:8db8:c779:7577 > 2001:7fd::1: ICMP6, echo request, seq 956, length 72
19:43:21.250611 IP6 2003:0:5902:202::1 > 2003:XXXX:XXXX:4504:9f7:8db8:c779:7577: ICMP6, time exceeded in-transit for 2001:7fd::1, length 72
Ich verstehe nicht, wieso diese BESTIMMTEN Pakete nicht durchkommen, der Rest aber schon...

Kann mir da jemand einen heißen Tipp geben?
Danke!



NACHTRAG:
Die Routingtabelle könnte hilfreich sein ;)
Code:
~# ip -6 route show
2003:XXXX:XXXX:4504::/64 dev brvlan1  proto kernel  metric 256
2003:XXXX:XXXX:eebc::/64 dev ppp0  proto kernel  metric 256  expires 14269sec
2a02:XXXX:XXXX:599::e0f1:0/112 dev brvlan1  proto kernel  metric 256
fe80::1:e1 dev brvlan1  proto kernel  metric 256
fe80::/64 dev eth1  proto kernel  metric 256
fe80::/64 dev brvlan1  proto kernel  metric 256
fe80::/64 dev brvlan2  proto kernel  metric 256
fe80::/64 dev ppp0  proto kernel  metric 256
fe80::/10 dev ppp0  metric 1
fe80::/10 dev ppp0  proto kernel  metric 256
default via fe80::230:88ff:fe04:d dev ppp0  proto kernel  metric 1024  expires 1668sec
 
Last edited by a moderator:
Ich habe mir gerade die Routingtabellen nochmal angesehen und wollte sie hier reinkopieren... da viel mir auf, dass auf dem Gateway eine PBR-Regel für 2003::/23 existierte. Frage bitte nicht, wieso.
Jedenfalls hat mein Router bei Traceroutes immer brav alle Pakete von 2003::/23 wieder über ppp0 rausgedrückt. Bei Traceroutes vom Router aus selbst natürlich nicht, da musste er ja nicht weiterrouten.

Wo ist mein Kaffe... :rolleyes:
 
Back
Top