Hallo die Runde6,<br><br>habe heute mit Joe und Gottfried mehrmals telefoniert (danke an die beiden).<br><br>Ziel war, dass wir ein RB750 (oe1xrmw2) so herrichten, dass es als Tunnelserver für 6in4 Tunnel herhält. Joe hätte es dann in die Crypta gestellt und wir hätten einen zentralen Tunnelpunkt und könnten IPv6 bis in Internet fahren.<br>
<br>Das funktioniert auch schon FAST!<br><br>Folgendes habe ich gemacht:<br> 1) opkg install 6in4 ip6tables kmod-ip6tables<br> 2) Interface in /etc/config/network dazufügen:<br>---<br>config interface '6in4'<br>    option proto 6in4<br>
    option ipaddr '193.238.156.35'<br>    option ip6addr '2a02:60:3:9fd5::6/128'<br>    option peeraddr '193.238.156.21'<br>---<br> 3) Firewall anpassen (Protokoll 41 zulassen & Interface in die Zone dazufügen):<br>
---<br>config rule<br>    option target 'ACCEPT'<br>    option name '6in4 crypta Stefan'<br>    option src '0xFF'<br>    option proto '41'<br>    option family 'ipv4'<br><br>config zone<br>
    option name '0xFF'<br>    option output 'ACCEPT'<br>    option forward 'ACCEPT'<br>    option masq '1'<br>    option input 'ACCEPT'<br>    option network 'air0 wan 6in4'    # <- hier das neue Interface rein!<br>
---<br> 4) OLSRd auf 6and4 stellen.<br><br>Mit diesen Schritten schaut's total super aus, ABER:<br>Das sit0-Interface bleibt down und wird offenbar nicht richtig initialisiert (hätte sonst auch eine andere MTU):<br>root@OE1XRW2:/etc/config# ifconfig sit0 up<br>
root@OE1XRW2:/etc/config# ifconfig sit0<br>sit0      Link encap:IPv6-in-IPv4  <br>          inet6 addr: ::<a href="http://193.238.156.35/96">193.238.156.35/96</a> Scope:Compat<br>          inet6 addr: ::<a href="http://192.168.1.250/96">192.168.1.250/96</a> Scope:Compat<br>
          inet6 addr: ::<a href="http://127.0.0.1/96">127.0.0.1/96</a> Scope:Unknown<br>          UP RUNNING NOARP  MTU:1480  Metric:1<br>          RX packets:195 errors:0 dropped:0 overruns:0 frame:0<br>          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0<br>
          collisions:0 txqueuelen:0 <br>          RX bytes:15600 (15.2 KiB)  TX bytes:0 (0.0 B)<br><br>Wenn man ein TCPdump macht, sieht man die Pakete von meiner Seite (ein Ubuntu-Rechner):<br>---<br>root@OE1XRW2:/etc/config# tcpdump -i sit0<br>
tcpdump: WARNING: sit0: no IPv4 address assigned<br>tcpdump: verbose output suppressed, use -v or -vv for full protocol decode<br>listening on sit0, link-type RAW (Raw IP), capture size 65535 bytes<br>13:24:02.408753 IP6 2a02:60:3:9fd5::5.698 > ff02::6d.698: OLSRv6, seq 0xa24c, length 32<br>
13:24:05.718633 IP6 2a02:60:3:9fd5::5.698 > ff02::6d.698: OLSRv6, seq 0xa24d, length 32<br>13:24:11.056702 IP6 2a02:60:3:9fd5::5.698 > ff02::6d.698: OLSRv6, seq 0xa24e, length 32<br>^C<br>3 packets captured<br>3 packets received by filter<br>
0 packets dropped by kernel<br>---<br>Siehe auch beiliegendes File für Wireshark.<br><br>Bedeutet für mich, dass der 6in4 Tunnel in eine Richtung schon recht fein funktioniert. Der OLSRd bindet sich nicht an das sit0-Interface:<br>
---<br>root@OE1XRW2:/etc/config# netstat -a | grep 698<br>udp        0      0 <a href="http://OE1XRW2.OZW.wien.funkfeuer.at:698">OE1XRW2.OZW.wien.funkfeuer.at:698</a> 0.0.0.0:*                           <br>udp     2240      0 <a href="http://0.0.0.0:698">0.0.0.0:698</a>             0.0.0.0:*                           <br>
udp        0      0 2a02:60:3:9c23::1:698   :::*                                <br>udp        0      0 :::698                  :::*                                <br>---<br><br>Wenn ich nun folgende Zeilen an die /var/etc/olsrd.conf.ipv6 anhänge:<br>
---<br>Interface "sit0"<br>{<br>    Mode "mesh"<br>}<br>---<br>und eine Ipv6-Adresse setze:<br>---<br>root@OE1XRW2:/etc/config# ifconfig sit0 add 2a02:60:3:9fd5::6/128<br>---<br>und manuell neu starte (nicht über /etc/init.d weil dann würde er die Konfig in /var/etc überschreiben).<br>
<br>Dann sehe ich im tcpdump, dass der OLSRd sich an das Interface bindet und Pakete rausschickt:<br>---<br>root@OE1XRW2:/tmp/etc# tcpdump -i sit0<br>tcpdump: WARNING: sit0: no IPv4 address assigned<br>tcpdump: verbose output suppressed, use -v or -vv for full protocol decode<br>
listening on sit0, link-type RAW (Raw IP), capture size 65535 bytes<br>13:34:39.061624 IP6 2a02:60:3:9fd5::6.698 > ff02::6d.698: OLSRv6, seq 0x7199, length 56<br>13:34:39.283978 IP6 2a02:60:3:9fd5::5.698 > ff02::6d.698: OLSRv6, seq 0xa2dd, length 32<br>
13:34:42.438045 IP6 2a02:60:3:9fd5::6.698 > ff02::6d.698: OLSRv6, seq 0x719a, length 56<br>13:34:42.737100 IP6 2a02:60:3:9fd5::5.698 > ff02::6d.698: OLSRv6, seq 0xa2de, length 32<br>^C<br>4 packets captured<br>4 packets received by filter<br>
0 packets dropped by kernel<br>---<br><br>Die Pakete vom Routerboard kommen aber bei meinem Ubuntu nicht an!<br><br><br>Könnt ihr mir helfen, wie ich in OpenWRT das Tunnelinterface richtig initialisiere, sodass nach einem Reboot die Einstellungen übernommen werden, die FW damit umgehen kann und auch OLSR das Interface akzeptiert? Habt ihr da Ideen oder Erfahrungen? Mir überscheiben die OpenWRT-Scripts immer die relevanten Werte und ich vermute dort das Problem.<br>
<br>Danke,<br>LgS<br><br>