Skip to content

MariaDB - Wireguard

MariaDB
1 1 326
  • Ich hatte ja die Idee, das lokale Netz der Hetzner Cloud zu entfernen. Das kann man hier nachlesen. Dort hatte ich das mit der Redis Replication schon gemacht.

    Auf die Wireguard Installation gehe ich hier nicht nochmal ein, das sollte klar sein bzw. kann man im oben verlinkten Artikel nachlesen.

    Bedingungen

    10.10.1.1 Datenbank Server
    10.10.1.3 PHP Server
    10.0.0.3 Alte lokale Adressen
    

    MariaDB IP-Adresse

    In der Datei

    /etc/mysql/mariadb.conf/50-server.cnf
    

    müssen wir die IP-Adresse einstellen, auf welcher MariaDB lauscht.

    # Instead of skip-networking the default is now to listen only on
    # localhost which is more compatible and is not less secure.
    #bind-address            = 127.0.0.1
    bind-address            = 10.10.1.1
    

    Die bind-address muss der Wireguard Adresse des Datenbank Servers entsprechen. Vorher sollte der Wireguard Tunnel natürlich funktionieren.

    Neustart

    service mysqld restart
    

    Jetzt greifen die Anwendungen ja auf die Datenbank zu, dazu muss man in der jeweiligen Konfiguration die entsprechende Adresse einstellen.

    Beispiel Joomla Webseite

    nano configuration.php
    

    Dort findet man folgende Zeile

           public $host = '10.10.1.1';
    

    Die muss an die Wireguard Adresse des Datenbank Servers angepasst werden. Danach hatte ich immer noch Probleme die Datenbank zu erreichen. 🤔

    MariaDB Datenbank anpassen

    Schauen wir uns die User an.

    MariaDB [(none)]> SELECT User,Host FROM mysql.user;
    +-----------------+-----------+
    | User            | Host      |
    +-----------------+-----------+
    | joomla    | 10.0.0.3 |
    | root            | localhost |
    +-----------------+-----------+
    2 rows in set (0.001 sec)
    

    Ok, der User joomla hat nur Zugriff von 10.0.0.3, das war die alte lokale Adresse. Die Wireguard Adresse ist ja die 10.10.1.3 Somit bekommt der User auch keinen Zugriff auf die Datenbank. Also ändern.

    DROP USER 'joomla'@'10.0.0.3';
    CREATE USER 'joomla'@'10.10.1.3' IDENTIFIED BY 'PASSWORD';
    FLUSH PRIVILEGES;
    

    Dann sieht das so aus

    MariaDB [(none)]> SELECT User,Host FROM mysql.user;
    +-----------------+-----------+
    | User            | Host      |
    +-----------------+-----------+
    | joomla    | 10.10.1.3 |
    | root            | localhost |
    +-----------------+-----------+
    2 rows in set (0.001 sec)
    

    Gut, ich habe aber immer noch keinen Zugriff zur Datenbank. 🤔 🤔

    Es gibt ja noch folgenden Befehl in MariaDB

    grant all privileges on joomla.* to 'joomla'@'10.10.1.3' identified by 'PASSWORD';
    

    Damit gewährt man dem User joomla ja den Zugriff zur Datenbank und zwar genau von der IP-Adresse die man da rein schreibt. Die steht ja noch auf der alten IP-Adresse. Also den Befehl eingeben.

    grant all privileges on joomla.* to 'joomla'@'10.10.1.3' identified by 'PASSWORD';
    FLUSH PRIVILEGES;
    

    Danach funktioniert der Datenbank Zugriff.🤓

    Das muss man jetzt für alle User und Datenbanken machen. Wenn man sehr viele PHP-Seiten hat, kann das sehr aufwendig werden. Somit sollte man sich beim Konzept der Server schon vorher Gedanken drüber machen.

    iptables

    Sollte klar sein, das man die entsprechenden Regeln ergänzt, bzw. ändern muss.

  • 0 Votes
    1 Posts
    607 Views
    No one has replied
  • ROCKPro64 - Projekt Wireguard Server

    Moved ROCKPro64 linux rockpro64 wireguard
    2
    2
    0 Votes
    2 Posts
    594 Views
    FrankMF
    Hat ein wenig Nerven gekostet und der Artikel ist auch was länger geworden Viel Spaß beim Lesen und testen!
  • Wireguard 1.0.0

    Wireguard linux wireguard
    1
    0 Votes
    1 Posts
    511 Views
    No one has replied
  • MariaDB - Ein paar Befehle

    MariaDB mariadb
    1
    0 Votes
    1 Posts
    311 Views
    No one has replied
  • Wireguard - DNS für VPN-Server

    Wireguard unbound wireguard
    2
    2
    0 Votes
    2 Posts
    871 Views
    FrankMF
    Und mit wg auf dem Server kann man schön nachsehen, wie viel Daten da so durchlaufen. root@amadeus ~ # wg interface: wg0 public key: fGg7MkjzD6fVqxxxxxxxxxxxxxxxxxGa0NIBaTPRqqzU= private key: (hidden) listening port: 60563 peer: bDTE7Kr7Uw/Xxxxxxxxxxxxxxxxxxxxx46uHFZErWz8SGgI= endpoint: xx.xxx.194.117:58702 allowed ips: 10.10.0.3/32 latest handshake: 14 seconds ago transfer: 56.55 MiB received, 287.67 MiB sent
  • 0 Votes
    1 Posts
    402 Views
    No one has replied
  • Wireguard

    Moved Wireguard linux rockpro64 wireguard
    4
    0 Votes
    4 Posts
    974 Views
    FrankMF
    Etwas schnellerer Weg den Tunnel aufzubauen, Voraussetzung wireguard modul installiert Keys erzeugt Danach dann einfach ip link add wg0 type wireguard wg setconf wg0 /etc/wireguard/wg0.conf Datei /etc/wireguard/wg0.conf [Interface] PrivateKey = <Private Key> ListenPort = 60563 [Peer] PublicKey = <Public Key Ziel> Endpoint = <IPv4 Adresse Zielrechner>:58380 AllowedIPs = 10.10.0.1/32 Die Rechte der Dateien von wireguard müssen eingeschränkt werden. sudo chmod 0600 /etc/wireguard/wg0.conf Das ganze per rc.local beim Booten laden. Datei /root/wireguard_start.sh ############################################################################################### # Autor: Frank Mankel # Startup-Script # Wireguard # Kontakt: frank.mankel@gmail.com # ############################################################################################### ip link add wg0 type wireguard ip address add dev wg0 10.10.0.1/8 wg setconf wg0 /etc/wireguard/wg0.conf ip link set up dev wg0 Danach Datei ausführbar machen chmod +x /root/wireguard_start.sh In rc.local /root/wireguard_start.sh eintragen - Fertig!
  • MariaDB Datenbank wiederherstellen

    MariaDB mariadb
    1
    0 Votes
    1 Posts
    300 Views
    No one has replied