Benutzer:Cptechnik/pimp-my-router-cp: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen
(Prompt in Farbe)
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
'2a03:2260:0118:0063:dont:ask4:my2:ipv6' und 'myff1'/'myff2' sind fiktive, erfundene IP-Adressen und Hostnamen, mir fällt das leichter zu erkennen als Platzhalter wie "<Link-lokale Adresse des Nodes>".
'2a03:2260:0118:0063:dont:ask4:my2:ipv6' und 'myff1'/'myff2' sind fiktive, erfundene IP-Adressen und Hostnamen, mir fällt das leichter zu erkennen als Platzhalter wie "<Link-lokale Adresse des Nodes>".


==== reine shell wrapper ====
===== Map/Karte aus/an =====
Vorbereitung:
echo "uci set gluon-node-info.@location[0].share_location='1'">gluon-mapon;echo "uci set gluon-node-info.@location[0].share_location='0'">gluon-mapoff;chmod +x gluon-map*;mv gluon-map* /usr/bin
Anwenden:
gluon-mapon  # schaltet das Anzeigen auf der Karte ein (Vorrausgesetzt dass es Konfiguriert wurde)
gluon-mapoff  # schaltet das Anzeigen auf der Karte aus
===== switch domain =====
Vorbereitung
echo "gluon-switch-domain ffkbu_hood_bonn">gluon-swbn;echo "gluon-switch-domain ffkbu_hood_umland">gluon-swum;chmod +x gluon-*;mv gluon-sw* /usr/bin
Anwenden
gluon-swbn  # wechselt nach Bonn
gluon-swum  # wechselt nach Umland
===== Neustart/Reboot in den Konfigurationsmodus =====
uci set gluon-setup-mode.@setup_mode[0].enabled=1
uci commit gluon-setup-mode
reboot
oder
uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot
geht einfacher
* ab 2022: gluon-enter-setup-mode
* bis 2021:
** ` echo  uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot">ges;chmod +x ges;mv ges /usr/bin `
==== Schnittstellen neustarten ====
* echo "wifi;ip link set wr-wan down;ip link set wr-wan up;">iprefresh
* besteht aus
** wifi
** ip link set wr-wan down
** ip link set wr-wan up
das ganze in eine Datei geschrieben... iprefresh , ausführbar gemacht (chmod +x iprefresh) und in /usr/bin (mv iprefresh /usr/bin/) verfrachtet.
(könnte auch br-wan heissen... )
==== Hostnamen statt IP-Adressen benutzen ====
==== Hostnamen statt IP-Adressen benutzen ====
===== Hinzufügen mit echo =====
  echo "2a03:2260:0118:0063:dont:ask4:my1:ipv6 myff1" >>/etc/hosts
  echo "2a03:2260:0118:0063:dont:ask4:my1:ipv6 myff1" >>/etc/hosts
  echo "2a03:2260:0118:0063:dont:ask4:my2:ipv6 myff2" >>/etc/hosts
  echo "2a03:2260:0118:0063:dont:ask4:my2:ipv6 myff2" >>/etc/hosts
Zeile 17: Zeile 55:
  ssh myff1
  ssh myff1
("root@" wurde hier schon weggekürzt, da man schon in einem ff-Router ist, dort ist man ja schon Root)
("root@" wurde hier schon weggekürzt, da man schon in einem ff-Router ist, dort ist man ja schon Root)
===== Bearbeiten =====
Mit dem auf dem Freifunk-Router installierten VIM Editor (vi)
[[https://wiki.ubuntuusers.de/VIM/ ubuntuusers.de/VIM]]
können die Einträge bearbeitet werden.
Dazu muss man sich ein wenig mit vi auseinandersetzen, die wichtigsten Befehle sind
* i - Editormodus
* ESC - Viewermodus
** :q - Schließen ohne Speichern ...und wenn er meckert...
** :q! - Schließen ohne Speichern, auch wenn was verändert wurde...
** :wq - Speichern und Schließen
** dd - Zeile löschen




Zeile 33: Zeile 84:
  scp /etc/dropbear/authorized_keys myff1:/etc/dropbear/authorized_keys
  scp /etc/dropbear/authorized_keys myff1:/etc/dropbear/authorized_keys
¹hier wird die ganze Schlüsseldatei kopiert, hier wird nicht zwischen unterschiedlichen Admins und unterschiedlich verwalteten Routern unterschieden!
¹hier wird die ganze Schlüsseldatei kopiert, hier wird nicht zwischen unterschiedlichen Admins und unterschiedlich verwalteten Routern unterschieden!
==== whatsup ====
ssh dh4 batctl tl |grep W ;ssh dh2 batctl tl |grep W;ssh dh1 batctl tl |grep W
=== Aliase ===
echo "alias gluon-esm='uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot'">>/etc/shinit
...irgendwie funktioniert das nicht...


== Prompt in Farbe ==
== Prompt in Farbe ==
* echo "PS1='\[\033[38;5;199;1m\]\h \[\033[38;5;227;1m\]\$PWD\[\033[0m\] \[\033[38;5;199;1m\]\$\[\033[0m\] '" >.profile
** magenta/gelb
* echo "PS1='\[\033[38;5;199;1m\]\h \[\033[38;5;227;1m\]\$PWD\[\033[0m\] \[\033[38;5;199;1m\]\$\[\033[0m\] '" >/tmp/ffprofile
* echo "PS1='\[\033[38;5;199;1m\]\h \[\033[38;5;227;1m\]\$PWD\[\033[0m\] \[\033[38;5;199;1m\]\$\[\033[0m\] '" >/tmp/ffprofile
* scp .profile ffrouterhostname:.profile
* scp .profile ffrouterhostname:.profile
* for COLOR in $(seq 1 254); do echo -e "\033[38;5;${COLOR}m${COLOR}\033[0m"; done;
* for COLOR in $(seq 1 254); do echo -e -n " \033[38;5;${COLOR}m${COLOR}\033[0m"; done;
* PS1='\[\033[38;5;170;1m\]\h \[\033[38;5;185;1m\]$PWD\[\033[0m\] \[\033[38;5;170;1m\]$\[\033[0m\] '
* for FF in $(seq 0 4); do scp ffprofile cpt0${FF}:.profile; done;
* echo "PS1='\[\033[31;1m\]\h \[\033[32;1m\]\$PWD\[\033[0m\] \[\033[31m\]\$\[\033[0m\] '" >/root/.profile
** hellrot / grün
*https://en.wikipedia.org/wiki/ANSI_escape_code#graphics
== Alias(e) ==
Ein Alias oder mehrere Aliase können für komplizierte wiederkehrende Befehle eingetragen werden.
Zum Beispiel:
"ll" statt "ls- l" --oder-- beim aufruf von "ls" immer coloriert darstellen (--color=auto)
Der Eintrag
"alias ll='ls -l'"
erzeugt das.
(Der ist in der 'v2022.1.1-6-gccd7fa3+ / ca486f1' schon eingetragen)
Gespeichert werden die Aliase in
* Bash  in ~/.bashrc
* Z-Shell  in ~/.zshrc
und im Freifunk-Router (2022)
* -ash  in /etc/shinit
Dort könnt ihr dann auch weitere Abkürzungen vornehmen!
== Videos von Martin Leyrer ==
* Martin Leyrer, "Fortgeschrittene IT-Magie" https://martin.leyrer.priv.at
Martin Leyrer hält leidenschaftlich und gute Vorträge für Einsteiger auf verschiedenen Veranstaltungen. Ich habe einpaar hier mal verlinkt die man unter Linux, mit ssh gebrauchen kann.
=== Besser leben mit SSH ===
~/.ssh/config
* https://www.youtube.com/watch?v=qvdlLTyUJ5I #GPN20
* Für Einsteiger hat Leyrer einen Vortrag in der #GPN20 (Gulasch Programmier-Nacht) über SSH und die passende Konfigurationsdatei .ssh/config einen Vortrag gehalten. Auch für Windows/Putty hat er einen kleinen Abstecher gemacht.
=== Moderne Linux Kommandozeilenwerkzeuge ===
==== #GPN20 Edition "Allein zu Haus" ====
==== 2019 ====
==== 2018 ====
Kommandos: ''dig'', tracepath, mtr, oping, iprout2, ''tmux'', ''zsh'', ranger, HTTPie, aria2c, ''jq'', icdiff, colordiff, ''ripgrep'', fd, z, exa, ''fzf'', pv, progress

Aktuelle Version vom 19. Februar 2023, 13:05 Uhr

Meine (cptechnik) SSH Vereinfachungen

Wer faul ist ist auch schlau. Wer die Linux Konsole kennt und erlernt hat, kennt Abkürzungen, ich stelle meine vor.

Randbemerkung

'2a03:2260:0118:0063:dont:ask4:my2:ipv6' und 'myff1'/'myff2' sind fiktive, erfundene IP-Adressen und Hostnamen, mir fällt das leichter zu erkennen als Platzhalter wie "<Link-lokale Adresse des Nodes>".

reine shell wrapper

Map/Karte aus/an

Vorbereitung:

echo "uci set gluon-node-info.@location[0].share_location='1'">gluon-mapon;echo "uci set gluon-node-info.@location[0].share_location='0'">gluon-mapoff;chmod +x gluon-map*;mv gluon-map* /usr/bin

Anwenden:

gluon-mapon   # schaltet das Anzeigen auf der Karte ein (Vorrausgesetzt dass es Konfiguriert wurde)
gluon-mapoff  # schaltet das Anzeigen auf der Karte aus
switch domain

Vorbereitung

echo "gluon-switch-domain ffkbu_hood_bonn">gluon-swbn;echo "gluon-switch-domain ffkbu_hood_umland">gluon-swum;chmod +x gluon-*;mv gluon-sw* /usr/bin

Anwenden

gluon-swbn  # wechselt nach Bonn
gluon-swum  # wechselt nach Umland
Neustart/Reboot in den Konfigurationsmodus
uci set gluon-setup-mode.@setup_mode[0].enabled=1
uci commit gluon-setup-mode
reboot

oder

uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot

geht einfacher

  • ab 2022: gluon-enter-setup-mode
  • bis 2021:
    • ` echo uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot">ges;chmod +x ges;mv ges /usr/bin `

Schnittstellen neustarten

  • echo "wifi;ip link set wr-wan down;ip link set wr-wan up;">iprefresh
  • besteht aus
    • wifi
    • ip link set wr-wan down
    • ip link set wr-wan up

das ganze in eine Datei geschrieben... iprefresh , ausführbar gemacht (chmod +x iprefresh) und in /usr/bin (mv iprefresh /usr/bin/) verfrachtet.

(könnte auch br-wan heissen... )

Hostnamen statt IP-Adressen benutzen

Hinzufügen mit echo
echo "2a03:2260:0118:0063:dont:ask4:my1:ipv6 myff1" >>/etc/hosts
echo "2a03:2260:0118:0063:dont:ask4:my2:ipv6 myff2" >>/etc/hosts

fügt den Hostnamen am lokalen ff-Router für die IPv6 Adresse hinzu.
(gilt für ff-Router und Linux-PC, an dem das aber auch root machen muss)

Statt

ssh root@2a03:2260:0118:0063:dont:ask4:my1:ipv6

nur noch

ssh myff1

("root@" wurde hier schon weggekürzt, da man schon in einem ff-Router ist, dort ist man ja schon Root)


Bearbeiten

Mit dem auf dem Freifunk-Router installierten VIM Editor (vi) [ubuntuusers.de/VIM] können die Einträge bearbeitet werden. Dazu muss man sich ein wenig mit vi auseinandersetzen, die wichtigsten Befehle sind

  • i - Editormodus
  • ESC - Viewermodus
    • :q - Schließen ohne Speichern ...und wenn er meckert...
    • :q! - Schließen ohne Speichern, auch wenn was verändert wurde...
    • :wq - Speichern und Schließen
    • dd - Zeile löschen


Kopieren des ssh Schlüssels

vom Linux-PC zum anderen ff-Router
scp -6 id_rsa4096.pub root@[2a03:2260:0118:0063:dont:ask4:my1:ipv6%eth0]:/etc/dropbear/authorized_keys

bzw

scp -6 ~/.ssh/id_rsa.pub root@[2a03:2260:0118:0063:dont:ask4:my1:ipv6%eth0]:/etc/dropbear/authorized_keys

oder

cat ~/.ssh/id_rsa4096.pub | ssh root@[<Link-lokale Adresse des Nodes>%eth0] 'umask 077; cat >>/etc/dropbear/authorized_keys'

bzw

cat ~/.ssh/id_rsa.pub | ssh myff1 'umask 077; cat >>/etc/dropbear/authorized_keys'
vom ff-Router zum anderen ff-Router

Kopieren (des ssh Schlüssels) die ssh-Schlüssel¹ vom lokalen Freifunkrouter auf den (neuen) entfernten Freifunk-Router

scp /etc/dropbear/authorized_keys myff1:/etc/dropbear/authorized_keys

¹hier wird die ganze Schlüsseldatei kopiert, hier wird nicht zwischen unterschiedlichen Admins und unterschiedlich verwalteten Routern unterschieden!

whatsup

ssh dh4 batctl tl |grep W ;ssh dh2 batctl tl |grep W;ssh dh1 batctl tl |grep W

Aliase

echo "alias gluon-esm='uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot'">>/etc/shinit

...irgendwie funktioniert das nicht...

Prompt in Farbe

  • echo "PS1='\[\033[38;5;199;1m\]\h \[\033[38;5;227;1m\]\$PWD\[\033[0m\] \[\033[38;5;199;1m\]\$\[\033[0m\] '" >.profile
    • magenta/gelb
  • echo "PS1='\[\033[38;5;199;1m\]\h \[\033[38;5;227;1m\]\$PWD\[\033[0m\] \[\033[38;5;199;1m\]\$\[\033[0m\] '" >/tmp/ffprofile
  • scp .profile ffrouterhostname:.profile
  • for COLOR in $(seq 1 254); do echo -e "\033[38;5;${COLOR}m${COLOR}\033[0m"; done;
  • for COLOR in $(seq 1 254); do echo -e -n " \033[38;5;${COLOR}m${COLOR}\033[0m"; done;
  • PS1='\[\033[38;5;170;1m\]\h \[\033[38;5;185;1m\]$PWD\[\033[0m\] \[\033[38;5;170;1m\]$\[\033[0m\] '
  • for FF in $(seq 0 4); do scp ffprofile cpt0${FF}:.profile; done;
  • echo "PS1='\[\033[31;1m\]\h \[\033[32;1m\]\$PWD\[\033[0m\] \[\033[31m\]\$\[\033[0m\] '" >/root/.profile
    • hellrot / grün
  • https://en.wikipedia.org/wiki/ANSI_escape_code#graphics

Alias(e)

Ein Alias oder mehrere Aliase können für komplizierte wiederkehrende Befehle eingetragen werden.

Zum Beispiel: "ll" statt "ls- l" --oder-- beim aufruf von "ls" immer coloriert darstellen (--color=auto)

Der Eintrag "alias ll='ls -l'" erzeugt das. (Der ist in der 'v2022.1.1-6-gccd7fa3+ / ca486f1' schon eingetragen)

Gespeichert werden die Aliase in

  • Bash in ~/.bashrc
  • Z-Shell in ~/.zshrc

und im Freifunk-Router (2022)

  • -ash in /etc/shinit

Dort könnt ihr dann auch weitere Abkürzungen vornehmen!


Videos von Martin Leyrer

Martin Leyrer hält leidenschaftlich und gute Vorträge für Einsteiger auf verschiedenen Veranstaltungen. Ich habe einpaar hier mal verlinkt die man unter Linux, mit ssh gebrauchen kann.

Besser leben mit SSH

~/.ssh/config

  • https://www.youtube.com/watch?v=qvdlLTyUJ5I #GPN20
  • Für Einsteiger hat Leyrer einen Vortrag in der #GPN20 (Gulasch Programmier-Nacht) über SSH und die passende Konfigurationsdatei .ssh/config einen Vortrag gehalten. Auch für Windows/Putty hat er einen kleinen Abstecher gemacht.

Moderne Linux Kommandozeilenwerkzeuge

#GPN20 Edition "Allein zu Haus"

2019

2018

Kommandos: dig, tracepath, mtr, oping, iprout2, tmux, zsh, ranger, HTTPie, aria2c, jq, icdiff, colordiff, ripgrep, fd, z, exa, fzf, pv, progress