SELECT s.*, p.* FROM Shop s, ProductPrices p WHERE s.id = p.shopid AND NOT EXISTS (SELECT p2.id FROM ProductPrices p2, WHERE p2.shopid = p.shopid AND p.timestamp < p2.timestamp)
Falls ichs richtig interpretiert (und umgesetzt) habe.
SELECT s.*, p.* FROM Shop s, ProductPrices p WHERE s.id = p.shopid AND NOT EXISTS (SELECT p2.id FROM ProductPrices p2, WHERE p2.shopid = p.shopid AND p.timestamp < p2.timestamp)
Falls ichs richtig interpretiert (und umgesetzt) habe.
Ach ich glaub ich habe da etwas verwechselt. Meinst du die Mail - App (nach neuem Lesen denk ich das) oder die Mail Einstellungen für Benachrichtigungen?
Hi,
also grundsätzlich musst du bei der Nextcloud einen SMTP Port angeben (25, 465 und 587).
Was jedoch neben dem Port noch wichtig ist, ist welche Verschlüsselungsmethode der Mailserver verwendet.
Ich würde (rein zum Testen) einmal versuchen Port 25 und "None" (bzw "Keine") Verschlüsselung zu verwenden. Zur dauerhaften Verwendung ist aber eine Verschlüsselung empfehlenswert.
Falls das funktioniert hat würde ich gleich darauf hin Port 587 (wie du eh schon probiert hast, aber einmal mit STARTTLS und danach mit SSL ausprobieren).
Möglich aber eher unwahrscheinlich ist es, dass der Mailserver Port 465 verwendet.
Falls das nicht funktioniert würd ich mal an den Credentials (bzw Zugangsdaten) herumprobieren.
Am ehesten die Kombination aus benutzer@domain.de und dem Passwort.
Bei meiner Nextcloud verwende ich:
SMTP & STARTTLS
benutzer@domain.de
Login und Authentifizierung erforderlich
smtp.domain.de : 587
benutzer@domain.de <Passwort>
Hier Benchmarks vom VPS Ostern M, jedoch mit ZFS :
CPU 1 Thread
sysbench cpu --threads=1 --cpu-max-prime=20000 --time=0 --events=10000 run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 421.76
General statistics:
total time: 23.7091s
total number of events: 10000
Latency (ms):
min: 1.58
avg: 2.37
max: 52.38
95th percentile: 1.76
sum: 23700.84
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 23.7008/0.00
CPU 4 Thread
sysbench cpu --threads=4 --cpu-max-prime=20000 --time=0 --events=10000 run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1021.79
General statistics:
total time: 9.7849s
total number of events: 10000
Latency (ms):
min: 1.58
avg: 3.91
max: 250.68
95th percentile: 6.21
sum: 39123.53
Threads fairness:
events (avg/stddev): 2500.0000/133.85
execution time (avg/stddev): 9.7809/0.00
RAM 1 Thread
sysbench memory --threads=1 --memory-block-size=1M --memory-total-size=100G --time=0 --events=10000 run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1024KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 102400 (18746.14 per second)
102400.00 MiB transferred (18746.14 MiB/sec)
General statistics:
total time: 5.4615s
total number of events: 102400
Latency (ms):
min: 0.05
avg: 0.05
max: 13.43
95th percentile: 0.05
sum: 5445.53
Threads fairness:
events (avg/stddev): 102400.0000/0.00
execution time (avg/stddev): 5.4455/0.00
RAM 4 Thread
sysbench memory --threads=4 --memory-block-size=1M --memory-total-size=100G --time=0 --events=10000 run
sysbench 1.0.18 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 1024KiB
total size: 102400MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 102400 (15724.09 per second)
102400.00 MiB transferred (15724.09 MiB/sec)
General statistics:
total time: 6.5114s
total number of events: 102400
Latency (ms):
min: 0.05
avg: 0.25
max: 57.40
95th percentile: 0.24
sum: 25466.11
Threads fairness:
events (avg/stddev): 25600.0000/0.00
execution time (avg/stddev): 6.3665/0.09
DD Write
dd if=/dev/zero of=test bs=1M count=10000 oflag=direct
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 10.5927 s, 990 MB/s
DD Read
dd if=test of=/dev/null bs=1M count=10000
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB, 9.8 GiB) copied, 1.9778 s, 5.3 GB/s
Geekbench 5
Irgendwelche Wünsche/Skripts? Ich persönlich bin Fan von yabs.sh bzw wget.racing/nench.sh
iptables -t nat -A POSTROUTING -s '192.168.8.0/24' -o vmbr0 -j SNAT --to-source a.a.a.a
iptables -t nat -A POSTROUTING -s '192.168.8.102/32' -o vmbr0 -j SNAT --to-source y.y.y.yiptables -t nat -A POSTROUTING -s '192.168.8.103/32' -o vmbr0 -j SNAT --to-source z.z.z.z
Hab das Problem behoben. Die Reihenfolge wie sie ausgeführt werden (und dadurch auch wie sie in der /etc/network/interfacesstehen) ist essentiell.
Bei mir schaut das nun wie folgt aus:
post-up iptables -t nat -A POSTROUTING -s '192.168.8.103/32' -o vmbr0 -j SNAT --to-source z.z.z.z
post-down iptables -t nat -D POSTROUTING -s '192.168.8.103/32' -o vmbr0 -j SNAT --to-source z.z.z.z
post-up iptables -t nat -A POSTROUTING -s '192.168.102/32' -o vmbr0 -j SNAT --to-source y.y.y.y
post-down iptables -t nat -D POSTROUTING -s '192.168.8.102/32' -o vmbr0 -j SNAT --to-source y.y.y.y
post-up iptables -t nat -A POSTROUTING -s '192.168.8./24' -o vmbr0 -j SNAT --to-source a.a.a.a
post-down iptables -t nat -D POSTROUTING -s '192.168.8.0/24' -o vmbr0 -j SNAT --to-source a.a.a.a
Vielen Dank noch einmal für die Hilfe!
Da war ich einen Tick zu langsam
Iptables geht der Reihenfolge nach. Deine erste Regeln mit "192.168.8.0/24" trifft ja schon passend zu, deswegen wird die genommen.
Wenn du die Regeln mit /32 davor setzt, sollte es gehen.
Genau so ists!
So hallo, hab nicht mehr hier in den Thread geschaut, nachdem es (fast) funktioniert.
Braucht er nicht auch noch 3 s-nat regeln im Postrouting für den ausgehenden Traffic?
Dafür dann die Postrouting "MASQUERADE" regeln raus nehmen
Genau da hänge ich gerade. Tatsächlich habe ich meine MASQUERADE Regel entfernt und es mit SNAT probiert, die Source Adresse zu ändern, das klappt jedoch nicht ganz.
Hier die iptables Regeln
iptables -t nat -A POSTROUTING -s '192.168.8.0/24' -o vmbr0 -j SNAT --to-source a.a.a.a
iptables -t nat -A POSTROUTING -s '192.168.8.102/32' -o vmbr0 -j SNAT --to-source y.y.y.y
iptables -t nat -A POSTROUTING -s '192.168.8.103/32' -o vmbr0 -j SNAT --to-source z.z.z.z
Ich dachte, dass würde funktionieren, tuts aber nicht.
Ich erhalte nach außen dennoch meine a.a.a.a HauptIP wenn ich von den Containern .102 und .103 ins Internet gelange.
Zufällig eine Idee, ohne dass ich Interne Subnet hässlich in mehrere kleine aufsplitten muss?
Wieso routest Du die zusätzlichen IP Adressen nicht direkt in die Container?
Nun, wenn ich mehrere Services, die ich am laufen habe, wieder in einen einzelnen Container packe, nimmt das mMn so ziemlich den Sinn der Virtualisierung. Zumal ich ja die IPs auch für andere Anwendungen verwenden möchte und dennoch meine derzeitige Struktur beibehalten möchte.. Bei der Anzahl an Containern die ich derzeit schon habe wäre das nicht ganz praktikabel.
Zum Beispiel hast Du so auch keinen ordentlichen IPv6 Support in deinen Anwendungen.
Zur Komprimierung des Posts habe ich meine IPv6 Konfiguration weggelassen. Die ist sowieso nicht bridged sondern routed und spielt bei meinen Problem keine Rolle. Im Gegenteil, IPv6 macht mir hier das Leben einfacher durch die enorme Anzahl an Adressen die mir zur Verfügung gestellt wurden.
IMHO solltest Du da auf NAT gänzlich verzichten und es lieber richtig machen.
Was richtig oder falsch ist denke ich sollte jeder selbst entscheiden. Ich möchte dennoch ein internes Netz aufbauen, über das eine VM ins (IPv4) Internet gelangen kann ohne eine eigene PublicIP zu benötigen. Allein dafür benötige ich meines Wissen nach schon NAT. Und für zusätzliche (unnötige) IP Adressen muss ich auch nicht zahlen.
Wahnsinn es funktioniert! Vielen lieben Dank! Ich kann die Flag -d <IP-Adresse> nicht aber das hat das Problem gelöst. Ich hab das bis jetzt immer mit dem Interface erledigt.
hast du die zusätzlichen IPs dem System so hinzugefügt wie in dem Wiki Eintrag beschrieben?
Ah, stimmt, ja hab ich probiert. Ich hätte die IP Adressen auch per up ip route add z.z.z.z/32 dev vmbr0der Bridge hinzugefügt. Hat beides funktioniert
Dann das Alias-Interfaces der Bridge hinzufügen und die DNAT Regeln erstellen. Du musst dann aber bei den Regeln trotzdem für jede IP eine zusätzliche Regel erstellen, da ansonsten keine eindeutige Zuordnung besteht.
Wie meinst du das, das ist mir nicht ganz klar? Und wie würde so eine zusätzliche Regel aussehen? Die DNAT Regel würde ja nur den Port weiterleiten, aber da hätte ich ja Duplikate. Ich weiß genau da nicht wie ich Regeln erstellen kann um anhand einer ZusatzIP zu differenzieren. Danke schonmal für die Hilfe!
Ich hoffe mir kann jemand auf die Sprünge helfen, ich komm bei meinem Problem einfach nicht weiter.
Ich habe einen VPS Ostern M mit Proxmox am laufen und diesem zwei zusätzliche IP Adressen zugewiesen.
Mein ideales Ziel wäre, dass ich drei Container habe, die alle auf einer einzelnen internen Bridge (vmbr1) hängen und je nach IP Adresse (Haupt, Zus1 und Zus2) denselben Port zugewiesen bekommen.
Veranschaulicht sieht das so aus:
Haupt IP Adresse a.a.a.a Port 1337 wird auf die interne Adresse 192.168.8.101:1337 weitergeleitet.
Zus1 Adresse y.y.y.y Port 1337 auf 192.168.8.102:1337
Zus2 Adresse z.z.z.z Port 1337 auf 192.168.8.103:1337
Was ich bis jetzt probiert habe und was funktioniert.
Das interne Netz 192.168.8.0/24 steht bereits und funktioniert auch soweit. Falls ein Port "genatted" werden soll wird dieser jedoch von der Hauptadresse a.a.a.a weitergereicht.
Ich habe auch probiert die zusätzlichen IP Adressen direkt den zwei Containern .102 und .103 zuzuweisen (nicht die optimalste Lösung, ich könnte damit aber leben), das hat auch funktioniert (Container läuft -> Ping erreicht das Ziel, Container läuft nicht -> Keine Ping Antwort). Nur sobald ich versuche eine Verbindung über den Port 1337 aufzubauen lande ich jedoch immer auf dem Container der den Port von der Hauptadresse weitergereicht bekommt (192.168.8.101).
Ich habe auch versucht eine eigene Bridge + zusätzliche interne Bridge für jede Zusatzip zu erstellen, das hat jedoch auch nicht geklappt (und auch das wäre auch nicht die optimale Lösung).
Ich habe etliche Beiträge auf diesem und anderen Foren durchsucht, jedoch stecke ich noch immer fest. Was ich jedoch in einem Beitrag hier gefunden habe war ein Ansatz mit SNAT, jedoch hat das ebenfalls nicht funktioniert (oder eher ich nicht ganz verstanden), ich denke jedoch, dass das in die richtige Richtung geht.
Hier meine /etc/network/interfaces:
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto ens3
iface ens3 inet manual
auto vmbr0
iface vmbr0 inet static
address a.a.a.a
netmask 255.255.252.0
gateway a.a.a.1 # Gateway
bridge_ports ens3
bridge_stp off
bridge_fd 0
pointopoint a.a.a.1
up echo 1 > /proc/sys/net/ipv4/conf/ens3/proxy_arp
up echo 1 > /proc/sys/net/ipv4/ip_forward
auto vmbr1
iface vmbr1 inet static
address 192.168.8.254
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.8.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.8.0/24' -o vmbr0 -j MASQUERADE
...
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1337 -j DNAT --to 192.168.8.101:1337
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 1337 -j DNAT --to 192.168.8.101:1337
Ich danke bereits jedem der gewillt ist bis hier her zu lesen .
MfG Raphael