[Ninux-Wireless] rete mesh con gentoo e fonere, problemi con ipv6

Gioacchino Mazzurco gmazzurco89 a gmail.com
Mer 9 Maggio 2012 19:18:34 CEST


Non sono mai riuscito a far funzionare il bridging con bat0 su SO
diversi da openwrt

On 05/09/12 19:04, Luca Postregna wrote:
> Salve, 
>   sto cercando di configurare una piccola rete mesh, chissà forse in
> futuro entrerà a far parte di ninux, ma per ora ancora non funziona.
> 
> Al momento ho a disposizione un server/gateway gentoo ed una coppia di
> fonera2.0g con openwrt. Per il routing utilizzo batman-adv 2012.1
> (installato su tutti i nodi)e per ora vorrei basare il network dei nodi
> e tutta la rete solo su ipv6 (se in futuro avrò la necessità
> probabilmente fornirò ipv4 ai client via vpn con tinc). A tutti i nodi
> gli ipv6 nella 2001:470:7023:2::/64 sono assegnati staticamente.
> 
> Questo è un disegno esplicitativo http://ompldr.org/vZG9rYQ della
> seguente configurazione,
> 
> *1*. il server con due interfaccie di rete (br1 come wan e br2 per la
> mesh, i bridge mi servono per eventuali macchine virtuali). Sul server
> la br2 è creata a partire dalla bat0. Sul server gentoo nel runlevel di
> default ho net.br1, net.br2 e radvd (questo mi serve per assegnare gli
> ipv6 ai client della mesh, oltre che ai client della rete domestica).
> 
> Di seguito le configurazioni di /etc/conf.d/net:
> 
>     > cat /etc/conf.d/net
>     config_eth0="null"
> 
>     rc_need_br1="net.eth0"
> 
>     brctl_br1="setfd 0"
>     bridge_br1="eth0"
>     config_br1="192.168.1.20/24 <http://192.168.1.20/24>
>                 2001:470:7023:1::f8d1:114b:2e50/64"
>     routes_br1="default via 192.168.1.1"
>     dns_servers_br1="192.168.1.1 8.8.8.8"
> 
>     brctl_br2="setfd 0"
>     bridge_br2="bat0"
>     config_br2="192.168.2.20/24 <http://192.168.2.20/24>"
>     config_br2="192.168.2.20/24 <http://192.168.2.20/24>
>                 2001:470:7023:2::f8d1:114b:2e50/64"
> 
>     preup (){
>             if test $IFACE == "br2"; then
>                     modprobe batman-adv
>                     ifconfig eth1 up
>                     batctl if add eth1
>             fi
>             return 0
>     }
> 
> 
> e di radvd.conf:
> 
>     > cat /etc/radvd.conf
>     interface br1
>     {
>             AdvLinkMTU 1452;
>             AdvSendAdvert on;
>             AdvManagedFlag off;
>             AdvOtherConfigFlag off;
>             prefix 2001:470:7023:1::/64
>             {
>                     AdvOnLink on;
>                     AdvAutonomous on;
>                     AdvRouterAddr off;
>             };
>     };
> 
>     interface br2
>     {
>             AdvLinkMTU 1452;
>             AdvSendAdvert on;
>             AdvManagedFlag off;
>             AdvOtherConfigFlag off;
>             prefix 2001:470:7023:2::/64
>             {
>                     AdvOnLink on;
>                     AdvAutonomous on;
>                     AdvRouterAddr off;
>             };
>     };
> 
> quindi lo stato della rete ipv6 sul server:
> 
>     > ip -6 a s 
>     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
>         inet6 ::1/128 scope host 
>            valid_lft forever preferred_lft forever
>     2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
>         inet6 fe80::250:fcff:fec0:d980/64 scope link 
>            valid_lft forever preferred_lft forever
>     3: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qlen 1000
>         inet6 fe80::206:93ff:fe30:317/64 scope link 
>            valid_lft forever preferred_lft forever
>     5: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>         inet6 2001:470:7023:1:0:f8d1:114b:2e50/64 scope global 
>            valid_lft forever preferred_lft forever
>         inet6 fe80::206:93ff:fe30:317/64 scope link 
>            valid_lft forever preferred_lft forever
>     6: bat0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 
>         inet6 fe80::885b:46ff:fe22:2874/64 scope link 
>            valid_lft forever preferred_lft forever
>     7: br2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>         inet6 2001:470:7023:2:0:f8d1:114b:2e50/64 scope global 
>            valid_lft forever preferred_lft forever
>         inet6 fe80::885b:46ff:fe22:2874/64 scope link 
>            valid_lft forever preferred_lft forever
>     8: tun: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qlen 500
>         inet6 2001:5c0:1400:a::51/128 scope global 
>            valid_lft forever preferred_lft forever
> 
> 
> 
>     > ip -6 r s
>     2001:470:7023:1::/64 dev br1  proto kernel  metric 256 
>     2001:470:7023:2::/64 dev br2  proto kernel  metric 256 
>     2001:5c0:1400:a::51 dev tun  proto kernel  metric 256  mtu 1280
>     2000::/3 dev tun  metric 1 
>     fe80::/64 dev eth0  proto kernel  metric 256 
>     fe80::/64 dev br1  proto kernel  metric 256 
>     fe80::/64 dev eth1  proto kernel  metric 256 
>     fe80::/64 dev bat0  proto kernel  metric 256 
>     fe80::/64 dev br2  proto kernel  metric 256 
>     fe80::/64 dev tun  proto kernel  metric 256 
>     ff00::/8 dev eth0  metric 256 
>     ff00::/8 dev br1  metric 256 
>     ff00::/8 dev eth1  metric 256 
>     ff00::/8 dev bat0  metric 256 
>     ff00::/8 dev br2  metric 256 
>     ff00::/8 dev tun  metric 256 
>     default dev tun  metric 1 
> 
> 
> *2*. entrambe le fonera hanno la stessa configurazione: due interfaccie
> wifi ap0 ed adhoc0. adhoc0 e eth0.2 sono in pasto a batman-adv e mi
> fanno la bat0. ap0, eth0.1, e bat0 mi fanno al br-lan. I file di
> configurazione delle due fonera sono identici. Di seguito i dati presi
> dalla fonA connessa in ethernet al server gentoo:
> 
>     root a drei:~# cat /etc/config/network 
>     config 'interface' 'loopback'
>             option 'ifname' 'lo'
>             option 'proto' 'static'
>             option 'ipaddr' '127.0.0.1'
>             option 'netmask' '255.0.0.0'
> 
>     config 'interface' 'lan'
>             option 'type' 'bridge'
>             option 'proto' 'none'
>             option 'accept_ra' '1'
>             option 'ifname' 'eth0.1'
> 
>     config 'interface' 'mesh0'
>             option 'ifname' 'adhoc0'
>             option 'mtu' '1528'
>             option 'proto' 'none'
> 
>     config 'interface' 'mesh1'
>             option 'ifname' 'eth0.2'
>             option 'proto' 'none'
> 
> 
>     root a drei:~# cat /etc/config/wireless 
>     config wifi-device  wifi0
>             option type     atheros
>             option channel  11
> 
>     config wifi-iface
>             option device           wifi0
>             option ifname           ap0
>             option mode             ap
>             option network          lan
>             option ssid             kozlicAP
> 
>     config wifi-iface
>             option device           wifi0
>             option ifname           adhoc0
>             option mode             adhoc
>             option network          mesh0
>             option ssid             kozlicMESH
> 
> 
>     root a drei:~# cat /etc/config/batman-adv 
>     config 'mesh' 'bat0'
>             option 'interfaces' 'mesh0 mesh1'
>             option 'aggregated_ogms'
>             option 'ap_isolation'
>             option 'bonding'
>             option 'fragmentation'
>             option 'gw_bandwidth'
>             option 'gw_mode' 'client' 
>             option 'gw_sel_class'
>             option 'log_level'
>             option 'orig_interval'
>             option 'vis_mode'
> 
> 
>     root a drei:~# cat /etc/rc.local 
>     #!/bin/sh
> 
>     IPV6PREFIX="2001:470:7023:2"
>     LAN="br-lan"
> 
>     IPV6=$IPV6PREFIX::$(cat /sys/class/net/eth0/address |awk -F: '{print
>     $1$2":"$3$4":"$5$6}')
>     echo $IPV6
> 
>     ip addr add $IPV6/64 dev $LAN
>     ip addr add 192.168.254.1/24 <http://192.168.254.1/24> dev $LAN
> 
>     batman-adv reload
> 
>     exit 0
> 
> 
> 
>     root a drei:~# ip -6 a s
>     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 
>         inet6 ::1/128 scope host 
>            valid_lft forever preferred_lft forever
>     2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
>         inet6 fe80::218:84ff:fed0:559c/64 scope link 
>            valid_lft forever preferred_lft forever
>     4: eth0.1 a eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>         inet6 fe80::218:84ff:fed0:559c/64 scope link 
>            valid_lft forever preferred_lft forever
>     5: eth0.2 a eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>         inet6 fe80::218:84ff:fed0:559c/64 scope link 
>            valid_lft forever preferred_lft forever
>     6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>         inet6 2001:470:7023:2:0:18:84d0:559c/64 scope global 
>            valid_lft forever preferred_lft forever
>         inet6 fe80::218:84ff:fed0:559c/64 scope link 
>            valid_lft forever preferred_lft forever
>     8: ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 
>         inet6 fe80::218:84ff:fed0:559d/64 scope link 
>            valid_lft forever preferred_lft forever
>     9: adhoc0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1528 
>         inet6 fe80::418:84ff:fed0:559d/64 scope link 
>            valid_lft forever preferred_lft forever
> 
> 
>     root a drei:~# ip -6 r s
>     2001:470:7023:2::/64 dev br-lan  proto kernel  metric 256  mtu 1500
>     advmss 1440 hoplimit 0
>     fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440
>     hoplimit 0
>     fe80::/64 dev eth0.1  proto kernel  metric 256  mtu 1500 advmss 1440
>     hoplimit 0
>     fe80::/64 dev br-lan  proto kernel  metric 256  mtu 1500 advmss 1440
>     hoplimit 0
>     fe80::/64 dev eth0.2  proto kernel  metric 256  mtu 1500 advmss 1440
>     hoplimit 0
>     fe80::/64 dev ap0  proto kernel  metric 256  mtu 1500 advmss 1440
>     hoplimit 0
>     fe80::/64 dev adhoc0  proto kernel  metric 256  mtu 1528 advmss 1468
>     hoplimit 0
> 
> 
> Questa è la situazione di batman sul server:
> 
>     > batctl o
>     [B.A.T.M.A.N. adv 2012.1.0, MainIF/MAC: eth1/00:50:fc:c0:d9:80 (bat0)]
>       Originator      last-seen (#/255)           Nexthop [outgoingIF]:
>       Potential nexthops ...
>     06:18:84:d0:80:bd    0.393s   (232) 00:18:84:d0:55:9c [      eth1]:
>     00:18:84:d0:55:9c (232)
>     00:18:84:d0:55:9c    0.373s   (253) 00:18:84:d0:55:9c [      eth1]:
>     00:18:84:d0:55:9c (253)
>     06:18:84:d0:55:9d    0.342s   (255) 00:18:84:d0:55:9c [      eth1]:
>     00:18:84:d0:55:9c (255)
> 
> Questo è batman sulla fonera connessa in ethernet al server:
> 
>     root a drei:~# batctl o
>     [B.A.T.M.A.N. adv 2012.1.0, MainIF/MAC: adhoc0/06:18:84:d0:55:9d (bat0)]
>       Originator      last-seen (#/255)           Nexthop [outgoingIF]:
>       Potential nexthops ...
>     00:50:fc:c0:d9:80    0.260s   (255) 00:50:fc:c0:d9:80 [    eth0.2]:
>     00:50:fc:c0:d9:80 (255)
>     06:18:84:d0:80:bd    0.280s   (233) 06:18:84:d0:80:bd [    adhoc0]:
>     06:18:84:d0:80:bd (233)
> 
> Qual'è il problema? I nodi nella 2001:470:7023:2::/64 non si pingano!
> 
> Ogni aiuto è apprezzato.
> 
> Saluti,
> LP
> 
> 
> 
> 
> 
> -- 
> 
> http://luca.postregna.name
> Luca Postregna
> 
> 
> 
> _______________________________________________
> Wireless mailing list
> Wireless a ml.ninux.org
> http://ml.ninux.org/mailman/listinfo/wireless



Maggiori informazioni sulla lista Wireless