====== tinc ======
{{tag> rz shackoperations tinc vpn remote-rz}}
====== Beschreibung ======
Um Remote Dinge auf der RZ Infrastruktur machen zu können ist ein VPN über tinc vorhanden.
====== Einrichtung ======
Sprecht bitte makefu dafür an. Wenn ihr makefu noch nicht kennt seit ihr auch noch nicht lange genug im shack, dass ihr Remote-Zugang ins RZ braucht ;)
makefu findet ihr im IRC-Channel #krebs auf hackint
====== SSH ProxyJumping ======
Erstmal muss die SSH Konfig des aktuellen Users überarbeitet werden. Dazu bitte ''~/.ssh/config'' öffnen.
Host *.shack
User root
ForwardAgent yes
ProxyJump wolf.r
Host wolf.r
User root
ForwardAgent yes
Hostname 10.243.77.1
====== hosts-Datei ======
Bei der Einrichtung des tinc werdet ihr auch eure '' /etc/hosts '' Datei überarbeiten müssen. Alle Hosts, die über das tinc-retiolum Netz erreichbar sein sollen müssen in die hosts-Datei
chris@mgtsrv001:~$ cat /etc/hosts
127.0.0.1 localhost
10.243.77.2 puyak.r <<-- "Jumphost" im RZ
----
====== Webseiten im shack erreichen ======
Bitte vorher erstmal die IP des zu erreichenden Systems rausfinden. Dazu einfach auf ''wolf.r'' springen und ein '' ping '' absetzen.
** Beispiel: leases.shack **
===== IP Adresse =====
ssh wolf.r
Last login: Sat Jun 20 22:10:18 2020 from 10.243.226.216
[root@wolf:~]# ping -c 1 leases.shack
PING fallbackns.shack (10.42.0.200) 56(84) bytes of data.
64 bytes from 10.42.0.200: icmp_seq=1 ttl=64 time=0.257 ms
--- fallbackns.shack ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.257/0.257/0.257/0.000 ms
** ist also 10.42.0.200**
===== Bash Alias für Webseite anpassen =====
Um dies so einfach wie möglich zu machen benutzen wir einfach Bash Aliase mit einer Variable.
alias shackrz-tunnel-leases='shackrz_leases_ip="10.42.0.200";shackrz_leases_localport="8080";shackrz_leases_remoteport="8080"; ssh -fNT -L ${shackrz_leases_localport}:${shackrz_leases_ip}:${shackrz_leases_remoteport} wolf.r'
Hier müssen die ersten drei Variablen \\
* ''shackrz-leases-ip''
* ''shackrz-leases-localport''
* ''shackrz-leases-remoteport''
passend ersetzt werden. Bei den meisten normalen Webseiten reicht ein Remote-Port 80 ider 443, bei leases ist es leider ein anderer.
===== Zugriff auf die Webseite =====
Die Webseite kann nun im lokalen Browser mit der folgenden URL geöffnet werden:
http://localhost:$localport
http oder https ist natürlich entscheidet die Zielwebseite.
----
====== fertige Configs ======
Hier einfach ein paar fertige Konfigs und Befehle, um Infrastruktur im RZ maintainen zu können.
===== Tunnel-Management =====
alias shackrz-list-tunnels="echo -e 'Please use the number in the second column.';ps aux | grep 'ssh -fNT' | grep 'wolf.r'"
alias shackrz-close-tunnel='echo -e "Open SSH Tunnels to shack:\n";ps aux | grep "ssh -fNT" | grep "wolf.r"; echo -n "Number of second column: "; read -r sshprocess; kill -15 ${sshprocess}'
===== Webseite: DHCP Leases Liste (xq version) =====
# leases.shack ikskuh build
alias shackrz-tunnel-leases='shackrz_leases_ip="10.42.0.200";shackrz_leases_localport="8080";shackrz_leases_remoteport="8080"; ssh -fNT -L ${shackrz_leases_localport}:${shackrz_leases_ip}:${shackrz_leases_remoteport} wolf.r'
alias shackrz-open-leases='xdg-open http://localhost:${shackrz_leases_localport}/'
===== Webseite: iLO ibuprofen =====
# ilo Ibuprofen
alias shackrz-tunnel-iloibu='shackrz_ilo_ibu_ip="10.0.0.9";shackrz_ilo_ibu_localport="8081";shackrz_ilo_ibu_remoteport="443"; ssh -fNT -L ${shackrz_ilo_ibu_localport}:${shackrz_ilo_ibu_ip}:${shackrz_ilo_ibu_remoteport} wolf.r'
alias shackrz-open-iloibu='xdg-open https://localhost:${shackrz_ilo_ibu_localport}/'
===== Webseite: iLO phenylbutazon =====
# ilo phenyl
alias shackrz-tunnel-ilophenyl='shackrz_ilo_phenyl_ip="10.0.0.10";shackrz_ilo_phenyl_localport="8082";shackrz_ilo_phenyl_remoteport="443"; ssh -fNT -L ${shackrz_ilo_phenyl_localport}:${shackrz_ilo_phenyl_ip}:${shackrz_ilo_phenyl_remoteport} wolf.r'
alias shackrz-open-ilophenyl='xdg-open https://localhost:${shackrz_ilo_phenyl_localport}/'
===== Webseite: iLO naproxen =====
# ilo naproxen
alias shackrz-tunnel-ilonaproxen='shackrz_ilo_naproxen_ip="10.42.23.38";shackrz_ilo_naproxen_localport="8083";shackrz_ilo_naproxen_remoteport="443"; ssh -fNT -L ${shackrz_ilo_naproxen_localport}:${shackrz_ilo_naproxen_ip}:${shackrz_ilo_naproxen_remoteport} wolf.r'
alias shackrz-open-ilonaproxen='xdg-open https://localhost:${shackrz_ilo_naproxen_localport}/'
===== Webseite: Coreswitch Verwaltung =====
# coreswitch
alias shackrz-tunnel-coreswitch='shackrz_coreswitch_ip="10.42.0.1";shackrz_coreswitch_localport="8084";shackrz_coreswitch_remoteport="80"; ssh -fNT -L ${shackrz_coreswitch_localport}:${shackrz_coreswitch_ip}:${shackrz_coreswitch_remoteport} wolf.r'
alias shackrz-open-coreswitch='xdg-open http://localhost:${shackrz_coreswitch_localport}/'
===== SSH: jegliche Hosts, die über DNS IM shack auflösbar sind =====
Host *.shack
User root
ForwardAgent yes
ProxyJump wolf.r
===== SSH: naproxen (Storage Server) =====
Host naproxen.shack
User root
ForwardAgent yes
Proxyjump wolf.r
Hostname 10.42.22.67
===== SSH: ilo-naproxen (Storage Server) =====
Host ilo-naproxen.shack
User root
ProxyJump wolf.r
Hostname 10.42.23.38
===== SSH: Coreswitch =====
Host coreswitch.shack
User admin
Proxyjump wolf.r
Hostname 10.42.0.1
KexAlgorithms +diffie-hellman-group14-sha1