Compare commits

..

4 Commits

Author SHA1 Message Date
be3c1f3c2b smtp_onprem_relay 2025-12-30 09:36:10 +01:00
873ea868b5 . 2025-12-30 07:40:05 +01:00
b2896f3ec2 korrigieren mysql and n8n image 2025-12-29 15:20:31 +01:00
649bc1d7ed toolbox start. 2025-12-29 12:41:55 +01:00
19 changed files with 266 additions and 12 deletions

1
Dev/fedora_toolbox/.env Normal file
View File

@@ -0,0 +1 @@
SSH_PASSWORD=virgI6774

View File

@@ -0,0 +1,47 @@
# Fedora alapimage használata
FROM fedora:latest
# Metaadatok az image-hez
LABEL maintainer="Your Name"
LABEL description="Fedora-based toolbox with SSH, nmap, and other utilities."
# Build-time argumentum a jelszóhoz
ARG SSH_PASSWORD
# Szükséges csomagok telepítése
RUN dnf -y update && \
dnf -y install \
openssh-server \
sudo \
nmap \
iputils \
procps-ng \
net-tools && \
dnf clean all
# SSH host kulcsok generálása
RUN ssh-keygen -A
# 'wpanda' felhasználó létrehozása és jelszó beállítása
# A jelszót a build-time argumentumból kapja
RUN useradd -m -s /bin/bash wpanda && \
echo "wpanda:${SSH_PASSWORD}" | chpasswd
# Jelszavas SSH bejelentkezés engedélyezése
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config && \
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
# 'wpanda' felhasználó hozzáadása a sudo csoporthoz jelszó bekérése nélkül
RUN echo 'wpanda ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
# Váltás a 'wpanda' felhasználóra
USER wpanda
# Munkakönyvtár beállítása a felhasználó home könyvtárára
WORKDIR /home/wpanda
# Az SSH port (22) megnyitása
EXPOSE 22
# Az SSH szerver indítása előtérben
CMD ["/usr/sbin/sshd", "-D"]

View File

@@ -0,0 +1,22 @@
version: '3.8'
services:
toolbox:
# Az image a jelenlegi könyvtárban lévő Dockerfile-ból épül
build:
context: .
args:
# Átadja az .env fájlból beolvasott SSH_PASSWORD változót a Dockerfile-nak
- SSH_PASSWORD=${SSH_PASSWORD}
# Konténer neve a könnyebb azonosíthatóságért
container_name: fedora-toolbox
# Hoszt port 2222 átirányítása a konténer 22-es portjára
# Azért nem a 22-t használjuk a hoszton, hogy ne ütközzön a gép saját SSH szolgáltatásával
ports:
- "2222:22"
# A külső 'data' könyvtár felcsatolása a konténeren belüli /home/wpanda helyre
# A 'data' könyvtár a Dev/fedora_toolbox/data útvonalon található
volumes:
- ./data:/home/wpanda
# A konténer automatikusan újraindul, hacsak nem állítod le kézzel
restart: unless-stopped

12
Dev/mysql/mysql_all/.env Normal file
View File

@@ -0,0 +1,12 @@
# Docker-Compose Environment Variables for MySQL
# Path for MySQL data storage on the host machine
# Az adatbázis adatai a 'Dev/mysql/data' mappába kerülnek mentésre.
# Ezt az elérési utat tetszés szerint módosíthatod.
MYSQL_DATA_PATH=/home/wpanda/mysql_data/sw_all_db
# MySQL Credentials
MYSQL_ROOT_PASSWORD=virgI6774
#MYSQL_DATABASE=switch_ip
#MYSQL_USER=switchip
#MYSQL_PASSWORD=virgI6774

View File

@@ -0,0 +1,20 @@
CREATE TABLE clients (
id INT AUTO_INCREMENT PRIMARY KEY,
switch_name VARCHAR(255) NOT NULL COMMENT 'A switch hosztneve, amelyhez a kliens csatlakozik',
mac_address VARCHAR(17) NOT NULL UNIQUE COMMENT 'A kliens MAC címe (egyedi azonosító)',
interface VARCHAR(50) NOT NULL COMMENT 'A switch interfésze, amelyhez a kliens csatlakozik (pl. 1/1/3)',
vlan VARCHAR(10) NOT NULL COMMENT 'A kliens VLAN azonosítója',
ip_address VARCHAR(45) NOT NULL COMMENT 'A kliens IP címe (IPv4 vagy IPv6)',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT 'A rekord létrehozásának időpontja',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'A rekord utolsó frissítésének időpontja'
) COMMENT='Hálózati kliensek adatainak tárolása switchenként';
**Magyarázat:**
* `id INT AUTO_INCREMENT PRIMARY KEY`: Egy automatikusan növekvő egyedi azonosító minden bejegyzéshez.
* `switch_name VARCHAR(255) NOT NULL`: A switch neve, amihez a kliens csatlakozik.
* `mac_address VARCHAR(17) NOT NULL UNIQUE`: A kliens MAC címe. `VARCHAR(17)` elég a `XX:XX:XX:XX:XX:XX` formátumhoz, és `UNIQUE` constraint-et is kapott, mivel ez az elsődleges egyedi azonosítója egy hálózati kliensnek.
* `interface VARCHAR(50) NOT NULL`: Az interfész, amelyhez a kliens csatlakozik.
* `vlan VARCHAR(10) NOT NULL`: A VLAN, amihez a kliens tartozik. `VARCHAR`-ként kezeltem, hogy rugalmasabb legyen, ha esetleg nem csak számok lennének.
* `ip_address VARCHAR(45) NOT NULL`: A kliens IP címe.
* `created_at` és `updated_at`: Automatikus időbélyegek a bejegyzés létrehozására és utolsó módosítására.

View File

@@ -0,0 +1,25 @@
# MySQL Docker Container
This directory contains the configuration for running MySQL in a Docker container.
## Configuration
The configuration is managed through the `.env` file. You can change the following variables:
- `MYSQL_DATA_PATH`: The local directory where the database data will be stored. By default, it's set to `./data` within this directory.
- `MYSQL_ROOT_PASSWORD`: The root password for the MySQL instance.
- `MYSQL_DATABASE`: The name of the database to be created on startup.
- `MYSQL_USER`: The username for a non-root user.
- `MYSQL_PASSWORD`: The password for the non-root user.
## Usage
To start the container, navigate to this directory (`Dev/mysql`) and run the following command:
```bash
docker-compose up -d
```
To stop the container:
```bash
docker-compose down
```

View File

@@ -0,0 +1,20 @@
services:
mysql_ip:
image: mysql:latest
container_name: mysql_all_db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
# MYSQL_DATABASE: ${MYSQL_DATABASE}
# MYSQL_USER: ${MYSQL_USER}
# MYSQL_PASSWORD: ${MYSQL_PASSWORD}
ports:
- '3306:3306'
volumes:
- ${MYSQL_DATA_PATH}:/var/lib/mysql
networks:
- shared-network
networks:
shared-network:
external: true

View File

@@ -1,2 +0,0 @@
{"__type":"$$EventMessageAudit","id":"10636aec-f055-4a49-8093-4f7f253589e7","ts":"2025-12-24T10:28:22.058+00:00","eventName":"n8n.audit.workflow.created","message":"n8n.audit.workflow.created","payload":{"userId":"83518984-8079-471d-bb46-b38676ef4115","_email":"i.meszely@aps-hh.de","_firstName":"Istvan","_lastName":"Meszely","globalRole":"global:owner","workflowId":"BXlx8AYRPLgg2wuh","workflowName":"My workflow"}}
{"__type":"$$EventMessageConfirm","confirm":"10636aec-f055-4a49-8093-4f7f253589e7","ts":"2025-12-24T10:28:22.058+00:00","source":{"id":"0","name":"eventBus"}}

View File

@@ -1,2 +0,0 @@
{"__type":"$$EventMessageAudit","id":"fe8b31f4-b3b1-4435-af25-9aaff5b202b1","ts":"2025-12-24T10:31:02.003+00:00","eventName":"n8n.audit.workflow.updated","message":"n8n.audit.workflow.updated","payload":{"userId":"83518984-8079-471d-bb46-b38676ef4115","_email":"i.meszely@aps-hh.de","_firstName":"Istvan","_lastName":"Meszely","globalRole":"global:owner","workflowId":"BXlx8AYRPLgg2wuh","workflowName":"My workflow"}}
{"__type":"$$EventMessageConfirm","confirm":"fe8b31f4-b3b1-4435-af25-9aaff5b202b1","ts":"2025-12-24T10:31:02.004+00:00","source":{"id":"0","name":"eventBus"}}

View File

@@ -1,8 +0,0 @@
{"__type":"$$EventMessageWorkflow","id":"4b635760-7723-47a3-95f8-67139b116090","ts":"2025-12-24T11:29:00.747+00:00","eventName":"n8n.workflow.started","message":"n8n.workflow.started","payload":{"executionId":"8","workflowId":"BXlx8AYRPLgg2wuh","isManual":false,"workflowName":"My workflow"}}
{"__type":"$$EventMessageConfirm","confirm":"4b635760-7723-47a3-95f8-67139b116090","ts":"2025-12-24T11:29:00.749+00:00","source":{"id":"0","name":"eventBus"}}
{"__type":"$$EventMessageNode","id":"e185ff35-3fd8-4f33-b8b8-6eecb6b49993","ts":"2025-12-24T11:29:00.755+00:00","eventName":"n8n.node.started","message":"n8n.node.started","payload":{"workflowId":"BXlx8AYRPLgg2wuh","workflowName":"My workflow","executionId":"8","nodeType":"n8n-nodes-base.executeCommand","nodeName":"Execute Command","nodeId":"2f6d68f5-7b04-4eee-a813-1dc88c83b018"}}
{"__type":"$$EventMessageConfirm","confirm":"e185ff35-3fd8-4f33-b8b8-6eecb6b49993","ts":"2025-12-24T11:29:00.755+00:00","source":{"id":"0","name":"eventBus"}}
{"__type":"$$EventMessageNode","id":"58338f1f-29af-4c74-b285-c9e5331c3efe","ts":"2025-12-24T11:29:00.927+00:00","eventName":"n8n.node.finished","message":"n8n.node.finished","payload":{"workflowId":"BXlx8AYRPLgg2wuh","workflowName":"My workflow","executionId":"8","nodeType":"n8n-nodes-base.executeCommand","nodeName":"Execute Command","nodeId":"2f6d68f5-7b04-4eee-a813-1dc88c83b018"}}
{"__type":"$$EventMessageConfirm","confirm":"58338f1f-29af-4c74-b285-c9e5331c3efe","ts":"2025-12-24T11:29:00.927+00:00","source":{"id":"0","name":"eventBus"}}
{"__type":"$$EventMessageWorkflow","id":"2bec70a4-10e1-4661-95a0-809296ed8b84","ts":"2025-12-24T11:29:00.938+00:00","eventName":"n8n.workflow.failed","message":"n8n.workflow.failed","payload":{"userId":"83518984-8079-471d-bb46-b38676ef4115","executionId":"8","success":false,"isManual":true,"workflowId":"BXlx8AYRPLgg2wuh","workflowName":"My workflow","lastNodeExecuted":"Execute Command","errorNodeType":"n8n-nodes-base.executeCommand","errorMessage":"The connection cannot be established, this usually occurs due to an incorrect host (domain) value"}}
{"__type":"$$EventMessageConfirm","confirm":"2bec70a4-10e1-4661-95a0-809296ed8b84","ts":"2025-12-24T11:29:00.938+00:00","source":{"id":"0","name":"eventBus"}}

View File

@@ -1,11 +1,13 @@
services:
n8n:
image: n8nio/n8n:latest
container_name: panda_n8n
restart: always
ports:
- "5678:5678"
volumes:
- ./n8n-data:/home/node/.n8n
- ./n8n-scripts:/home/node/scripts
environment:
- N8N_HOST=${N8N_HOST:-localhost}
- N8N_PORT=5678
@@ -16,5 +18,11 @@ services:
# - N8N_BASIC_AUTH_ACTIVE=true
# - N8N_BASIC_AUTH_USER=user
# - N8N_BASIC_AUTH_PASSWORD=password
networks:
- shared-network
labels:
- com.centurylinklabs.watchtower.enable=true
networks:
shared-network:
external: true

111
GEMINI_smtp_relay_opprem.md Normal file
View File

@@ -0,0 +1,111 @@
# Postfix SMTP Relay beállítása On-Premise Exchange szerverhez
Ez az útmutató leírja, hogyan lehet egy Postfix SMTP relay szervert beállítani egy Linux VM-en, amely a belső hálózati eszközökről (pl. nyomtatók, IoT eszközök) érkező e-maileket továbbítja egy helyi (on-premise) Microsoft Exchange szerver felé. A hitelesítés IP-cím alapú bizalmi kapcsolaton (Receive Connector) keresztül történik, nem igényel felhasználónevet és jelszót.
## Komponensek és IP-címek
* **Postfix Relay Szerver (Linux VM):** `10.101.0.251`
* **On-Premise Exchange Szerver:** `aps-exch01.aps.local`
* **Kliens Hálózat (Nyomtatók):** `10.102.9.0/24`
---
## 1. Lépések a Postfix Szerveren (`10.101.0.251`)
Ezeket a parancsokat a Linux VM-en kell futtatni.
### 1.1. Telepítés
Válassza ki a megfelelő parancsot a Linux disztribúciójának megfelelően.
**Fedora/CentOS/RHEL esetén:**
```bash
sudo dnf install postfix mailx cyrus-sasl-plain -y
```
**Debian/Ubuntu esetén:**
```bash
sudo apt update
sudo apt install postfix mailutils libsasl2-modules -y
```
*A telepítés során válassza az **'Internet Site'** opciót. A "System mail name" mezőbe írjon be egy tetszőleges, de beszédes nevet, pl. `postfix-relay.aps.local`.*
### 1.2. Konfiguráció
Nyissa meg a `/etc/postfix/main.cf` konfigurációs fájlt egy szövegszerkesztővel (`sudo nano /etc/postfix/main.cf`), törölje a teljes tartalmát, és illessze be az alábbiakat:
```ini
# A belső, on-premise Exchange szerver címe, ahova továbbítjuk a leveleket.
relayhost = aps-exch01.aps.local
# A belső hálózatok, ahonnan a Postfix fogadja a leveleket (nyomtatók, stb.)
# Itt szerepel a loopback, és az Ön által megadott nyomtató hálózat.
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.102.9.0/24
# Nincs szükség kliens oldali hitelesítésre, mivel az Exchange-en beállítjuk az IP-alapú bizalmat.
smtp_sasl_auth_enable = no
# Ajánlott beállítás a TLS használatára, még belső hálózaton is
smtp_use_tls = yes
smtp_tls_security_level = may
```
### 1.3. Szolgáltatás újraindítása
A konfiguráció érvénybe léptetéséhez indítsa újra a Postfix szolgáltatást, és engedélyezze az automatikus indulást.
```bash
sudo systemctl restart postfix
sudo systemctl enable postfix
```
### 1.4. Tesztelés
Küldjön egy teszt e-mailt a parancssorból, hogy ellenőrizze a működést.
```bash
echo "Ez egy teszt üzenet a Postfix relay szerverről." | mail -s "Postfix Teszt" valaki@az_on_domain_e.hu
```
*Cserélje ki a `valaki@az_on_domain_e.hu` címet egy valós e-mail címre a szervezetén belül.*
A levélforgalom naplóját a `/var/log/mail.log` (Debian/Ubuntu) vagy `/var/log/maillog` (Fedora/RHEL) fájlban követheti.
---
## 2. Lépések az On-Premise Exchange Szerveren (`aps-exch01.aps.local`)
Ezeket a lépéseket az Exchange adminisztrátorának kell elvégeznie az Exchange szerveren.
### 2.1. Receive Connector Létrehozása (Grafikus felületen)
1. Nyissa meg az **Exchange Admin Center (EAC)** webes felületét.
2. Navigáljon a **Mail flow > Receive connectors** menüpontra.
3. Kattintson az `+` ikonra egy új Receive Connector létrehozásához.
4. Adjon neki egy beszédes nevet: `Postfix_Relay_10.101.0.251`.
5. Válassza a **Frontend Transport** szerepkört.
6. A "Remote network settings" (Távoli hálózati beállítások) alatt távolítsa el az alapértelmezett `0.0.0.0-255.255.255.255` tartományt, és adja hozzá **csak a Postfix szerver IP-címét**: `10.101.0.251`.
7. A biztonsági beállításoknál győződjön meg róla, hogy az **Anonymous users** opció be van jelölve.
8. Mentse el a beállításokat.
### 2.2. Külső Relay Engedélyezése (PowerShell)
**Ez a lépés kritikus ahhoz, hogy a relay szerver a szervezeten kívüli címzetteknek is tudjon levelet küldeni!**
1. Nyisson meg egy **Exchange Management Shell-t** rendszergazdaként az Exchange szerveren.
2. Futtassa az alábbi parancsot (a connector nevének egyeznie kell a 2.1. pontban megadottal):
```powershell
Get-ReceiveConnector "Postfix_Relay_10.101.0.251" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
```
A parancs lefutása után a beállítás élesedik.
---
## 3. Kliens Eszközök beállítása
A nyomtatókon, szkennereken, és egyéb IoT eszközökön a következő SMTP beállításokat kell használni:
* **SMTP Szerver:** `10.101.0.251`
* **SMTP Port:** `25`
* **Hitelesítés / Authentication:** Nincs / None
* **Titkosítás / Encryption:** Nincs / None (vagy STARTTLS, ha az eszköz támogatja)