Benutzer-Werkzeuge

Webseiten-Werkzeuge


technik:hardware:futro-s550

Futro S550 und Futro S550-2

Diese Platform bietet für wenig Geld einen lautlosen schnellen VPN-Offloader.

UPDATE 1'2017: Zusätzlich zu dieser Anleitung gibt es hier eine bebilderte Anleitung für FFS auf dem Futro S550

Installation

Einfach die unterstützte Freifunk x86-generic factory-firmware herunterladen.

# fetch/wget https://firmware.freifunk-stuttgart.de/gluon/stable/factory/gluon-ffs-x86-generic.img.gz

Diese dann entpacken und auf die CFcard schreiben. Dies ist der schwierige Teil ohne Cardreader. Zur Not gibt es auch die Möglichkeit das Image über Gluon2Futro zu installieren.

# gzip -d gluon-ffs-x86-generic.img.gz
# dd if=gluon-ffs-x86-generic.img of=/dev/path-to-cfcard

Diese beschriebene CFcard wieder in den Futro bauen (ohne zusätzliche Netzwerkkarte) und booten.

Konfiguration

Den Clientcomputer mit dem Netzwerkkabel an dem onboard-Netzwerkport des Futros anschliessen und die IP des Clientcomputers auf 192.168.1.2/24 stellen oder warten bis der DHCP-Server auf dem Futro seinen Dienst erledigt hat.

Dann mit dem Browser eurer Wahl http://192.168.1.1 aufrufen. Nun sollte die LuCi Oberfläche des embedded-Linux auftauchen.

Dort zuerst unter dem Reiter „Expert Mode“ (Experteneinstellung) die SSH-Keys einfügen und kontrollieren, ob diese auch übernommen worden sind. Einfach nach dem Speichern auf den Info-Reiter klicken und wieder zurück zu den SSH-Einstellungen, tauchen die Keys wieder auf ist alles gut. Eine nachträgliche Korrektur ist nur mit Monitor/Tastatur möglich, falls der Futro nicht wieder geöffnet werden soll.

Die restlichen Einstellungen vornehmen und Speichern & Neustarten.

zusätzliche Netzwerkschnittstellen

Jetzt kann eine zweite Netzwerkkarte über die PCI-Risercard eingebaut werden. Dadurch ändert sich die Reihenfolge der Netzwerkkartennumerierung, und die onboard-Karte lautet vermutlich nicht mehr eth0 (falls sich die andere Netzwerkkarte vor die interne Realtek Karte drängelt, z.B. Intel Karten), sondern eth1 (eine zusätzliche Netzwerkkarte) bzw. eth2 (Dual-Port Netzwerkkarte).

Diesem Umstand werden wir entgegenwirken, in dem wir uns per SSH auf die Kiste einloggen. Der DHCP-Server im Netzwerk sollte einem der Ports bei eingestecktem Kabel eine IP zuweisen. Diese benutzten, um sich mit `ssh root@$IP` auf dem Futro einzuloggen.

Am Beispiel eines Futro S550-2 mit einer Intel DualPort Netzwerkkarte:

In der Datei /etc/config/network: Unter „config interface 'wan'“ folgende Zeile ändern:

option ifname 'eth0'

→ auf die interne NIC

option ifname 'eth2'

In der Kommandozeile noch folgende Befehle ausführen, um die zusätzlichen Interfaces einzubinden:

uci set network.mesh_lan=interface
uci set network.mesh_lan.ifname=eth0
uci set network.mesh_lan.macaddr=bor(m1,0x02):m2+1:m3+1:m4:m5:m6
uci set network.mesh_lan.mesh=bat0
uci set network.mesh_lan.proto=batadv
uci set network.mesh_lan.auto=0
uci set network.mesh_lan1=interface
uci set network.mesh_lan1.ifname=eth1
uci set network.mesh_lan1.macaddr=bor(m1,0x02):m2+1:m3+2:m4:m5:m6
uci set network.mesh_lan1.mesh=bat0
uci set network.mesh_lan1.proto=batadv
uci set network.mesh_lan1.auto=1

Die zusätzlichen Interfaces eth0 oder eth1 zum client Netzwerk „config interface 'client'“ hinzufügen, wenn network.mesh_lan.auto=0:

list ifname 'eth0'

oder wenn network.mesh_lan1.auto=0:

list ifname 'eth1'

Das ganze geht auch schöner mit einem Bridge-Interface:

uci set network.mesh_lan=interface
uci set network.mesh_lan.type='bridge'
uci set network.mesh_lan.ifname='eth0 eth1'
uci set network.mesh_lan.mesh_no_rebroadcast='1'
uci set network.mesh_lan.auto='1'
uci set network.mesh_lan.macaddr='bor(m1,0x02):m2+1:m3+1:m4:m5:m6'
uci set network.mesh_lan.mesh='bat0'
uci set network.mesh_lan.proto='batadv'

Dann jeweils die Interfaces (eth0, eth1) in jeweils nur eine der Bridge-Interfaces client oder mesh_lan hinzufügen.

list ifname 'eth0'
list ifname 'eth1'

Für den Fall beider LAN-Interfaces als Mesh-on-LAN:

uci set network.mesh_lan.type='bridge';uci set network.mesh_lan.ifname='eth0 eth1';uci set network.mesh_lan.auto=1;uci commit

Für den Fall beider LAN-Interfaces als Clientnetzwerk:

uci set network.client.ifname='bat0 eth0 eth1';uci set network.mesh_lan.auto=0;uci commit

Für den Fall eines Clientnetzwerkes auf eth0 und des Mesh-on-LAN auf eth1:

uci set network.mesh_lan.type='bridge';uci set network.mesh_lan.ifname='eth1';uci set network.mesh_lan.auto=1;uci set network.client.ifname='bat0 eth0';uci commit

Und zum Abschluss noch ein

uci commit

auf die Kommandozeile abfeuern, um diese Änderungen zu speichern. Danach sollte mit einem

reboot

das System neugestartet werden.

Wenn auf einem LAN-Interface Mesh gesprochen (oder nicht mehr gesprochen) werden soll, bitte diese Vorgehensweise befolgen.

MAC Adressen

m1:m2:m3:m4:m5:m6 (z.B.: 00:19:99:a7:2d:ba)

Die MAC Adressen werden von der primären MAC Adresse abgeleitet.

Für das WAN-Interface wird die erste Stelle (m1) der MAC mit einem bitwise or mit 0x02 modifiziert und die zweite Stelle (m2) um 1 hochgezählt.

Für das LAN-Interface wird die erste Stelle (m1) der MAC mit einem bitwise or mit 0x02 modifiziert und die zweite Stelle (m2) um 1 hochgezählt. Außerdem wird die dritte Stelle (m3) um 1 hochgezählt. Bei einem weitern LAN-Interface kann die dritte Stelle (m3) weiter hochgezählt werden.

Beispiel Testumgebung:

network.client.macaddr='00:19:99:a7:2d:ba'
network.bat0.macaddr='00:19:99:a7:2d:ba'
network.wan.macaddr='02:1a:99:a7:2d:ba'
network.mesh_lan.macaddr='02:1a:9a:a7:2d:ba'
network.mesh_lan1.macaddr='02:1a:9b:a7:2d:ba'
network.mesh_vpn.macaddr='02:1d:99:a7:2d:ba'

Persistenz

Um diese Einstellungen auch nach einem factory-reset beizubehalten, sollten in /lib/gluon/core/sysconfig/wan_ifname das WAN-Interface angegeben (z.B. eth2), in /lib/gluon/core/sysconfig/lan_ifname die LAN-Interface angegeben (z.B. eth0), in /lib/gluon/core/sysconfig/lan1_ifname optional ein zweites LAN-Interface angegeben (z.B. eth1) und in /lib/gluon/core/sysconfig/primary_mac die Primäre MAC auf die interne Netzwerkkarte geändert werden.

technik/hardware/futro-s550.txt · Zuletzt geändert: 2017/02/14 09:51 von alfonx