OpenMesh/Robin Konfiguration

Kernel Konfiguration

kernel.panic = 3 # reboot after 3 seconds
kernel.panic_on_oops = 1 # Panic on kernel oops
vm.panic_on_oom = 1 # 0 = Kill some procs at "Out Of Memory", 1 = panic

checkin-batman.php

Format

Settings

init_6

wait for network

Soll der Knoten regelmäßig rebootet werden? Zu welcher Zeit, in welchen Fällen?

  • Wenn das Internet nicht verfügbar ist, stimmt entweder etwas nicht mit der externen oder internen Infrastruktur, oder aber der Knoten selbst hat ein Problem. Egal was es ist, lassen wir den vom Dashboard herbeigerufenen Technikern eine Dreiviertelstunde, mögliche Problem zu beheben. Schaffen die es nicht in der Zeit, rebooten wir einfach den Knoten, um sicherzustellen, dass nicht er selbst ein (ernsthaftes) Problem hat.
#@#config init_6
max_fails.w4n 8

überprüfen mit:
root@node:~# uci get init_6.max_fails.w4n

management

strict_mesh

Soll sich jeder als Knoten am Mesh-Netz beteiligen dürfen? - (De)Aktivierung eines Iptables-Rulesets, siehe /sbin/strict-mesh. Werte:

  • 0: deaktiviert
  • 1: aktiviert, iptables IP-basiert
  • 2: aktiviert, iptables MAC-basiert
#@#config management
enable.strict_mesh 2

überprüfen mit:
root@node:~# uci get management.enable.strict_mesh

dropbear

Derzeit kann sich jeder als root an jedem Knoten anmelden, der das Passwort kennt (gesnifft hat). Abhilfe: dropbear mit “-g“ (Disable password logins for root) starten. SSH-Key in /etc/dropbear/authorized_keys hinterlegen.

TODO:

  • Konfigurations-Einstellungen
#@#config dropbear
PasswordAuth      0          # eval uci set $(uci show dropbear | grep PasswordAuth | cut -d"=" -f1)=0 
                             # uci commit dropbear 
                             # /etc/init.d/dropbear stop
                             # /etc/init.d/dropbear start
root_ssh_keys $SSH_PUB_KEYS  # echo "$SSH_PUB_KEYS" > /etc/dropbear/authorized_key
  • Skript /usr/sbin/update-dropbear schreiben
  • Änderung /etc/init.d/settings, dropbear-Sektion einbinden

Dashboard

uci set management.enable.https=0 # falls kein https
uci set general.services.updt_srv=mesh.menole.net #

Oder vor dem Build eines Custom Images:

vi ~/packages_11949/net/robin-mesh/files/etc/config/general
cat ~/packages_11949/net/robin-mesh/files/etc/config/general
config 'general' 'services'
option 'updt_srv' 'mesh.menole.net'
option 'upgd_srv' 'www.open-mesh.com/firmware/mr3201a/'
option 'beat_srv' 'mesh.menole.net'
option 'ntpd_srv' 'tick.greyware.com'
option 'cstm_srv' 'www.open-mesh.com/firmware/mr3201a/'
option 'name_srv' ''
option 'upstream' '0'

Hostapd mit wpa/radius

Beispiel vom MadWifi Project

##### hostapd configuration file ##############################################
bridge=br0 # bridge interface usually br0
interface=ath0 #atheros interface
driver=madwifi #driver type
ssid=wpa-test #set essid
#macaddr_acl=2 #optional macaddress authentication instead of user/password pair -- macaddr_acl=2 tells hostapd to use radius 
#accept_mac_file=/etc/hostapd.accept
#deny_mac_file=/etc/hostapd.deny
ieee8021x=1
auth_algs=1
eap_server=0
eapol_key_index_workaround=1
###Radius Setup
own_ip_addr=10.0.0.1
nas_identifier=test.5gwireless.com
auth_server_addr=10.0.0.200
auth_server_port=1812
auth_server_shared_secret=testing123
acct_server_addr=10.0.0.200
acct_server_port=1813
acct_server_shared_secret=testing123
###WPA
wpa=1
wpa_key_mgmt=WPA-EAP
wpa_pairwise=TKIP
wpa_group_rekey=300
wpa_gmk_rekey=640

/etc/config/wireless:

config 'wifi-iface' 'private'
	option 'device' 'wifi0'
	option 'network' 'ap2'
	option 'mode' 'ap'
	option 'isolate' '1'
	option 'ssid' 'menole_secure_test'
	option 'hidden' '0'
	option 'encryption' 'wpa2'
	option 'key' 'The Radius Secret'
	option 'server' 'Radius Server IP'
	option 'nasid' 'other'
	option 'port' '1812'
/etc/init.d/network restart

/var/run/hostapd-ath2.conf

driver=madwifi
interface=ath2

ssid=menole_secure_test
debug=0
wpa=2
wpa_pairwise=CCMP
auth_server_addr=Radius Server IP
auth_server_port=1812
auth_server_shared_secret=The Radius Secret
nas_identifier=other
eapol_key_index_workaround=1
radius_acct_interim_interval=300
ieee8021x=1
auth_algs=1
wpa_key_mgmt=WPA-EAP
wpa_group_rekey=300
wpa_gmk_rekey=640

siehe ieee 802.11x mit radius (wpa2 tls radius)

Außerdem muss noch /usr/sbin/update-wifi.sh aus dem Paket robin-mesh angepasst werden:

diff -urNad orig/update-wifi.sh /usr/sbin/update-wifi.sh 
--- orig/update-wifi.sh	2009-05-22 09:39:43.000000000 +0200
+++ /usr/sbin/update-wifi.sh	2009-06-03 13:15:02.000000000 +0200
@@ -43,7 +43,40 @@
 				k_restart=1
 			fi
 		;;			
-			
+				
+		"public.encryption")
+			option="${CONF}.${SECTION_OPTION}"
+			TX_VALUE=$(echo $VALUE |tr -d '\r')
+				
+			CURRENT_VALUE=$(uci get ${option})
+			if ! [ "$CURRENT_VALUE" == "$TX_VALUE" ] ; then
+				uci set $option="${TX_VALUE}"
+				k_restart=1
+			fi
+		;;	
+				
+		"public.server")
+			option="${CONF}.${SECTION_OPTION}"
+			TX_VALUE=$(echo $VALUE |tr -d '\r')
+				
+			CURRENT_VALUE=$(uci get ${option})
+			if ! [ "$CURRENT_VALUE" == "$TX_VALUE" ] ; then
+				uci set $option="${TX_VALUE}"
+				k_restart=1
+			fi
+		;;	
+				
+		"public.nasid")
+			option="${CONF}.${SECTION_OPTION}"
+			TX_VALUE=$(echo $VALUE |tr -d '\r')
+				
+			CURRENT_VALUE=$(uci get ${option})
+			if ! [ "$CURRENT_VALUE" == "$TX_VALUE" ] ; then
+				uci set $option="${TX_VALUE}"
+				k_restart=1
+			fi
+		;;	
+						
 		### AP2
 		"private.ssid")
 			if [ "$(uci get mesh.Myap.up)" -eq 1 ] ; then
@@ -74,6 +107,48 @@
 				fi
 			fi
 		;;	
+				
+		"private.encryption")
+			if [ "$(uci get mesh.Myap.up)" -eq 1 ] ; then
+
+				option="${CONF}.${SECTION_OPTION}"
+				TX_VALUE=$(echo $VALUE |tr -d '\r')
+					
+				CURRENT_VALUE=$(uci get ${option})
+				if ! [ "$CURRENT_VALUE" == "$TX_VALUE" ] ; then
+					uci set $option="${TX_VALUE}"
+					k_restart=1
+				fi
+			fi
+		;;	
+				
+		"private.server")
+			if [ "$(uci get mesh.Myap.up)" -eq 1 ] ; then
+
+				option="${CONF}.${SECTION_OPTION}"
+				TX_VALUE=$(echo $VALUE |tr -d '\r')
+					
+				CURRENT_VALUE=$(uci get ${option})
+				if ! [ "$CURRENT_VALUE" == "$TX_VALUE" ] ; then
+					uci set $option="${TX_VALUE}"
+					k_restart=1
+				fi
+			fi
+		;;	
+				
+		"private.nasid")
+			if [ "$(uci get mesh.Myap.up)" -eq 1 ] ; then
+
+				option="${CONF}.${SECTION_OPTION}"
+				TX_VALUE=$(echo $VALUE |tr -d '\r')
+					
+				CURRENT_VALUE=$(uci get ${option})
+				if ! [ "$CURRENT_VALUE" == "$TX_VALUE" ] ; then
+					uci set $option="${TX_VALUE}"
+					k_restart=1
+				fi
+			fi
+		;;	
 						
 		*) echo "skip" 
 		;;

Eigene Werkzeuge
Werbung