Änderungen

Zur Navigation springen Zur Suche springen
640 Bytes entfernt ,  20:33, 30. Sep. 2006
Zeile 121: Zeile 121:  
<pre>
 
<pre>
 
#!/bin/sh
 
#!/bin/sh
 +
 +
get_name() {
 +
case $1 in
 +
        135) echo "m18---schwansee69";;
 +
        42) echo "m18---frauentor3";;
 +
        41) echo "m18---rembrandtweg";;
 +
        82) echo "m18---jakob2a";;
 +
        37) echo "m18---wbode13";;
 +
        62) echo "m18---trierer65";;
 +
        54) echo "m18---kunstturm";;
 +
        87) echo "m18---weimarwest";;
 +
          1) echo "m18---liszt18a";;
 +
          *) echo "m18---unbekannt";;
 +
esac
 +
}
 +
 +
write_olsr() {
 +
echo -e "\n{\nHelloInterval 5.0\nHelloValidityTime 90.0\nTcInterval 3.0\nTcValidityTime 270.0"
 +
echo -e "MidInterval 15.0\nMidValidityTime 270.0\nHnaInterval 15.0\nHnaValidityTime 90.0"
 +
}
    
THIS="$(nvram get wifi_ipaddr|cut -d'.' -f3)"
 
THIS="$(nvram get wifi_ipaddr|cut -d'.' -f3)"
OLSR="/etc/local.olsrd.conf"
+
OLSR="/etc/local.olsrd.conf"; VTUN="/etc/vtund.conf"
CFG="/etc/vtund.conf"
+
VPN="10.63.254"; SRV="214"; CNT="-1"
VPN="10.63.254"
  −
SRV="214"
   
LST="41 82 42 37 62 54 135 87 1"
 
LST="41 82 42 37 62 54 135 87 1"
#  0)  41 jens/rembrandt
  −
#  1)  82 jakob2a
  −
#  2)  42 kraska
  −
#  3)  37 lennerhardt/wbode13
  −
#  4)  62 trierer65
  −
#  5)  54 kunstturm
  −
#  6) 135 saxman/schwansee
  −
#  7)  87 alfi/weimarwest
  −
#  8)  1 liszt18a
  −
#  9)  ?????
  −
CNT="-1"
     −
rm $OLSR
+
test -e $OLSR && rm $OLSR
rm $CFG
+
test -e $OLSR && rm $CFG
 
killall vtund
 
killall vtund
 +
killall -9 vtund
   −
if [ "$THIS" = "214" ]
+
if [ "$THIS" = "$SRV" ]
 
  then
 
  then
  echo  >$CFG "default {"
+
  echo  >$VTUN "default { proto udp; type tun; compress no; encrypt no; keepalive yes; multi yes; stat no; }"
echo >>$CFG " proto udp;"
+
  for CLIENT in $LST;do let CNT+=1
echo >>$CFG " type tun;"
+
 
echo >>$CFG " compress no;"
+
   echo >>$VTUN "$(get_name $CLIENT) { passwd bla; device tun$CNT;"
echo >>$CFG " encrypt no;"
+
   echo >>$VTUN " up { program \"ip addr add $VPN.$THIS peer $VPN.$CLIENT dev %%; ip link set %% mtu 1450 up\"; }; }"
echo >>$CFG " keepalive yes;"
+
 
echo >>$CFG " multi yes;"
+
   echo >>$OLSR "Interface \"tun$CNT\"$(write_olsr)"
echo >>$CFG " stat no;"
+
   echo >>$OLSR -e "\nIp4Broadcast $VPN.$CLIENT\n}"
echo >>$CFG "}"
+
 
  for CLIENT in $LST
+
   iptables -I POSTROUTING -t nat -o tun$CNT -j MASQUERADE
  do let CNT+=1
  −
   echo >>$CFG "client$CNT {"
  −
  echo >>$CFG " passwd bla;"
  −
  echo >>$CFG " device tun$CNT;"
  −
   echo >>$CFG " up {"
  −
  echo >>$CFG "  program \"ip addr add $VPN.$THIS peer $VPN.$CLIENT dev %%; ip link set %% mtu 1450 up\";"
  −
  echo >>$CFG " };"
  −
  echo >>$CFG "}"
  −
   echo >>$OLSR "Interface \"tun$CNT\""
  −
  echo >>$OLSR "{"
  −
   echo >>$OLSR "HelloInterval          5.0"
  −
  echo >>$OLSR "HelloValidityTime      90.0"
  −
  echo >>$OLSR "TcInterval              3.0"
  −
  echo >>$OLSR "TcValidityTime          270.0"
  −
  echo >>$OLSR "MidInterval            15.0"
  −
  echo >>$OLSR "MidValidityTime        270.0"
  −
  echo >>$OLSR "HnaInterval            15.0"
  −
  echo >>$OLSR "HnaValidityTime        90.0"
  −
  echo >>$OLSR " "
  −
  echo >>$OLSR "Ip4Broadcast $VPN.$CLIENT"
  −
  echo >>$OLSR "}"
  −
   #iptables -I POSTROUTING -t nat -o tun$CNT -j MASQUERADE
   
  done
 
  done
 
  vtund -s
 
  vtund -s
 
else
 
else
 
  CNT=0;for IP in $LST;do if [ "$IP" = "$THIS" ];then NUMMER=$CNT;fi;let CNT+=1;done
 
  CNT=0;for IP in $LST;do if [ "$IP" = "$THIS" ];then NUMMER=$CNT;fi;let CNT+=1;done
  echo  >$CFG "client$NUMMER {"
+
 
echo >>$CFG " passwd bla;"
+
  echo  >$VTUN "$(get_name $THIS) { passwd bla; type tun; persist yes;"
echo >>$CFG " device tun$NUMMER;"
+
  echo >>$VTUN " up { program \"ip addr add dev %% $VPN.$THIS peer $VPN.$SRV; ip link set %% mtu 1450 up\"; }; }"
echo >>$CFG " persist yes;"
+
 
  echo >>$CFG " up {"
+
  echo >>$OLSR "Interface \"tun0\"$(write_olsr)"
echo >>$CFG "  program \"ip addr add dev %% $VPN.$THIS peer $VPN.$SRV; ip link set %% mtu 1450 up\";"
+
  echo >>$OLSR -e "\nIp4Broadcast $VPN.$SRV"
echo >>$CFG " };"
+
  echo >>$OLSR -e "LinkQualityMult $VPN.$SRV 0.1\n}"
echo >>$CFG "}"
+
 
  echo >>$OLSR "Interface \"tun$NUMMER\""
+
  vtund $(get_name $THIS) 141.54.160.25
echo >>$OLSR "{"
  −
  echo >>$OLSR "HelloInterval          5.0"
  −
echo >>$OLSR "HelloValidityTime      90.0"
  −
echo >>$OLSR "TcInterval              3.0"
  −
  echo >>$OLSR "TcValidityTime          270.0"
  −
echo >>$OLSR "MidInterval            15.0"
  −
echo >>$OLSR "MidValidityTime        270.0"
  −
echo >>$OLSR "HnaInterval            15.0"
  −
echo >>$OLSR "HnaValidityTime        90.0"
  −
echo >>$OLSR " "
  −
echo >>$OLSR "Ip4Broadcast $VPN.214"
  −
echo >>$OLSR "LinkQualityMult $VPN.214 0.1"
  −
echo >>$OLSR "}"
  −
  vtund client$NUMMER 141.54.160.25
   
fi
 
fi
 
+
<pre>
sleep 120
  −
</pre>
 

Navigationsmenü