Blockerad från egen server (Debian, apache)

Permalänk
Medlem

Blockerad från egen server (Debian, apache)

Hejsan.

Ja som rubriken säger så har jag en virtuell debian-server med apache och ett par hemsidor.
Problemet är att jag inte längre kommer åt hemsidorna, men går jag via en annan ip-adress så fungerar det.
Det är alltså bara mitt egna ip som har blivit blockerat av någon anledning.

Jag har kollat loggen för fail2ban men kan inte hitta något där som är blockerat.
Om man avinstallerar fail2ban, tas då alla inställningar bort som är kopplade mot det?

Är det någon som har tips på vart jag ska börja felsöka?
Jag är inte så jäkla haj på linux, men det om ni kan peka mig i rätt riktning ska det nog lösa sig.

Är det något relevant jag missat så hojta till!

Edit: Har testat att stoppa fail2ban men jag kommer fortfarande inte åt sidorna, så det måste vara något annat.

Visa signatur

Server: Core i5 13500 | ASRock B760M Pro RS/D4 | Kingston Fury 64GB DDR4 3200MHz | OS Unraid | 14TB lagring | Cache 2x M.2 NVMe 500GB

Permalänk
Medlem

Antar att reglerna ligger kvar i iptables efter att fail2ban tagits bort, kör:

iptables -L

Se om inte ipadressen dyker upp i listan någonstans. Ligger den som blockerad så är det bara att ta bort den, http://stackoverflow.com/questions/10197405/iptables-remove-s....

Visa signatur

WS: Fractal Design Pop Silent | Seasonic Prime G12 GC 550W | Gigabyte B650 Eagle AX | Ryzen 7 7700 | Corsair 64GB DDR5 | Asus Xonar DX | Arch Linux (x86_64) | Eizo EV2795
HTPC: Philips 50PUS8804, Kodi samt extern usb-disk
Server: Raspberry Pi 4 | 8GB RAM | HDD 750GB | Arch Linux (armv7h)

Permalänk
Medlem
Skrivet av '[vEX:

;13710953']Antar att reglerna ligger kvar i iptables efter att fail2ban tagits bort, kör:

iptables -L

Se om inte ipadressen dyker upp i listan någonstans. Ligger den som blockerad så är det bara att ta bort den, http://stackoverflow.com/questions/10197405/iptables-remove-s....

Nu är fail2ban helt avinstallerat , men jag är fortfarande utlåst från mina hemsidor

root@debianiptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination

.

Vad kan det vara som blockerar?

Visa signatur

Server: Core i5 13500 | ASRock B760M Pro RS/D4 | Kingston Fury 64GB DDR4 3200MHz | OS Unraid | 14TB lagring | Cache 2x M.2 NVMe 500GB

Permalänk
Hedersmedlem

Det är inte bara NAT-förvirring?

Låt säga att din server körs på externt IP 1.2.3.4 och internt IP 192.168.0.1. Om du då försöker anropa 1.2.3.4 från en dator innanför din NAT-enhet ("router"), låt säga 192.168.0.2, så kommer du troligen inte skickas till 192.168.0.1 om du inte manuellt ändrat routes, utan internt borde du i stället ange just 192.168.0.1 som adress till servern (och om du har "VirtualHost"-direktiv i Apache kan det vara värt att mappa detta i `/etc/hosts` för enkelhet, eller mer generellt i din lokala DNS-server om du har en sådan).

Om du däremot anropar från ett externt IP, så kommer routern NAT:a dig rätt vid ett anrop till 1.2.3.4. Det betyder inte att 192.168.0.2 är blockad från att komma åt 192.168.0.1, utan bara att routningen inte fungerar så. Testa att anropa "http://192.168.0.1" direkt och se om du får svar.

Detta var rätt spekulativt iom att vi inte vet hur ditt nätverk är konfigurerat. Om ovanstående inte stämmer så kan det likväl vara relevant information att förmedla för att kunna få ett svar.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem
Skrivet av phz:

Det är inte bara NAT-förvirring?

Låt säga att din server körs på externt IP 1.2.3.4 och internt IP 192.168.0.1. Om du då försöker anropa 1.2.3.4 från en dator innanför din NAT-enhet ("router"), låt säga 192.168.0.2, så kommer du troligen inte skickas till 192.168.0.1 om du inte manuellt ändrat routes, utan internt borde du i stället ange just 192.168.0.1 som adress till servern (och om du har "VirtualHost"-direktiv i Apache kan det vara värt att mappa detta i `/etc/hosts` för enkelhet, eller mer generellt i din lokala DNS-server om du har en sådan).

Om du däremot anropar från ett externt IP, så kommer routern NAT:a dig rätt vid ett anrop till 1.2.3.4. Det betyder inte att 192.168.0.2 är blockad från att komma åt 192.168.0.1, utan bara att routningen inte fungerar så. Testa att anropa "http://192.168.0.1" direkt och se om du får svar.

Detta var rätt spekulativt iom att vi inte vet hur ditt nätverk är konfigurerat. Om ovanstående inte stämmer så kan det likväl vara relevant information att förmedla för att kunna få ett svar.

Är inte helt säker på om jag hänger med hur du menar, men det är ser ut så här.
Servern har ip 192.168.0.248, och slår jag in den adressen i webbläsaren får jag upp att sidan inte kan visas, men den pekar automatiskt om mot en av mina hemsidsadresser.
Slår jag in mitt externa ip i webbläsaren så händer exakt samma sak som ovan.

Det som är skumt är att det snurrat på nästan ett år utan problem, men idag upptäckte jag att jag inte kommer åt servern.
Och vad jag vet så är det inget som ändrats eller uppdaterats.

Visa signatur

Server: Core i5 13500 | ASRock B760M Pro RS/D4 | Kingston Fury 64GB DDR4 3200MHz | OS Unraid | 14TB lagring | Cache 2x M.2 NVMe 500GB

Permalänk
Hedersmedlem

Jag antar att 192.168.0.248 körs på standardporten 80 lokalt, och att du vidarebefordrar port 80 från routern till 192.168.0.248.

Om du bara skriver in ditt externa IP-nummer i en webbläsare från en dator utanför ditt NAT (alltså inte ett domännamn, utan själva IP:t), fungerar saker som de ska då? Och beter de sig alltså annorlunda om du i stället skriver in 192.168.0.248 från en dator i ditt LAN?

Att 192.168.0.248 "automatiskt pekar om" till en av dina hemsidesadresser låter lite märkligt om inget annat är inblandat, så som automatisk omdirigering på standardsidan.

Eventuell snilleblixt: kör du måhända Debian Unstable? Isf så har du troligen uppgraderat till Apache 2.4 väldigt nyligen, vilket medför att man behöver uppdatera en del konfiguration. Kolla upp vilken version av Apache du kör (t ex via `/usr/sbin/apache2 -v`). Står det "Apache/2.4.[något]" så behöver du läsa främst `/usr/share/doc/apache2/NEWS.Debian.gz` för notiser om uppgraderingen. Även Upgrading to 2.4 from 2.2 [apache.org] kan vara nyttigt, men vissa små saker kan skilja sig från Debians paketerade version.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

Ja precis så är det konfat.
Om jag ansluter på mitt extern ip så funkar det korrekt, och jag hamnar på en av mina hemsidor.
Det gör det dock inte om jag slår mitt interna IP.
Har testat att ändra min host-fil så 192.168.0.248 pekar mot mina hemsidor, men det blir ingen skillnad trots omstart av den datorn där jag gjorde ändringen.

Testade med IE som jag inte använt så mycket, och där gör den inte om interna ip:t till hemsidsadressen, så det är förmodligen så också, men Chrome pekar om automatiskt.

Och för apache är det version 2.2.16 som är installerad, och det är vanliga debian jag kör.

edit: Jag kommer åt den via telnet, så jag borde inte vara blockerad.

Visa signatur

Server: Core i5 13500 | ASRock B760M Pro RS/D4 | Kingston Fury 64GB DDR4 3200MHz | OS Unraid | 14TB lagring | Cache 2x M.2 NVMe 500GB

Permalänk
Medlem

Testa lägga in domänen i host filen med den ip-adressen. Vissa CMSer använder domänen för att bygga sidorna.

Visa signatur

Macbook Air 13" (2012)

Permalänk
Medlem
Skrivet av wisdom:

Testa lägga in domänen i host filen med den ip-adressen. Vissa CMSer använder domänen för att bygga sidorna.

Ja det fungerar fan med ändringar i hostfilen.

192.168.0.248 www.domän1.se
192.168.0.248 domän1.se
192.168.0.248 www.domän2.se
192.168.0.248 domän.se

Vad kan ha gjort att det blivit så här helt plötsligt?

Visa signatur

Server: Core i5 13500 | ASRock B760M Pro RS/D4 | Kingston Fury 64GB DDR4 3200MHz | OS Unraid | 14TB lagring | Cache 2x M.2 NVMe 500GB

Permalänk
Hedersmedlem

Att sidorna kräver ett anrop med domännamn är just av "VirtualHost"-anledningar som nämndes tidigare. Att det fungerar olika beroende på anropssätt kan kanske bero på någon cachning av DNS-uppslag någonstans i ledet, exempelvis i själva webbläsaren. Jag har från dina svar inte riktigt kunnat utröna om du testar att ansluta från en dator utanför ditt LAN, eller om du bara menar att du sitter på en dator inuti ditt LAN och får olika resultat beroende på om du skriver in ditt eget externa IP eller din servers lokala IP.

Att det fungerade ändå tidigare skulle kanske kunna bero på att du enbart hade en sida igång då, eller att du ändrat någon inställningar om vart servern pekar standardanrop. Debian i sig ändrar aldrig sådant utan att tydligt uppmärksamma, men möjligen har du vid uppdatering godkänt att skriva över befintlig konfiguration med distributionens standardkonfigurationsfil, som då inte angett någon standardomdirigering.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

Fråga: skriver du http://192.168.1.10 i din browser?

Den vanligaste fixen internt/externt för mig brukar vara att antingen ändra i hostfilen (vilket i sig kan vara farligt om du glömmer bort) eller att lägga till en ServerAlias (http://dl.b-landia.net/httpd/domain.conf-ng-ap).

Förklaringen till vad som sker är att din server förväntar sig en host som matchar din vhosts "ServerName" eller "ServerAlias" (https://en.wikipedia.org/wiki/List_of_HTTP_header_fields) men du har begärt 192.168.1.10 vilket den inte förstår sig på. Om du kollar configen som jag tidigare länkade till så är den uppsatt att läsa av alla som kommer emot *:8080 (i ditt fall bara 80) kan du posta din vhost fil? Skulle gissa att du skrivit domain.tld:80 eller dylikt som VirtualHost name?

Visa signatur

One shall not shout when there is a forum!

Permalänk
Medlem
Skrivet av phz:

Att sidorna kräver ett anrop med domännamn är just av "VirtualHost"-anledningar som nämndes tidigare. Att det fungerar olika beroende på anropssätt kan kanske bero på någon cachning av DNS-uppslag någonstans i ledet, exempelvis i själva webbläsaren. Jag har från dina svar inte riktigt kunnat utröna om du testar att ansluta från en dator utanför ditt LAN, eller om du bara menar att du sitter på en dator inuti ditt LAN och får olika resultat beroende på om du skriver in ditt eget externa IP eller din servers lokala IP.

Att det fungerade ändå tidigare skulle kanske kunna bero på att du enbart hade en sida igång då, eller att du ändrat någon inställningar om vart servern pekar standardanrop. Debian i sig ändrar aldrig sådant utan att tydligt uppmärksamma, men möjligen har du vid uppdatering godkänt att skriva över befintlig konfiguration med distributionens standardkonfigurationsfil, som då inte angett någon standardomdirigering.

Jag har testat via en dator utan för mitt nätverk, och där fungerar det felfritt på både mitt externa ip-nummer, och via hemsidsadresserna.
Jag har inte gjort någon som helst förändring i konfigen, så det är mest troligt att en uppdatering av servern har ställt till det.

Skrivet av spixx^orginalet:

Fråga: skriver du http://192.168.1.10 i din browser?

Den vanligaste fixen internt/externt för mig brukar vara att antingen ändra i hostfilen (vilket i sig kan vara farligt om du glömmer bort) eller att lägga till en ServerAlias (http://dl.b-landia.net/httpd/domain.conf-ng-ap).

Förklaringen till vad som sker är att din server förväntar sig en host som matchar din vhosts "ServerName" eller "ServerAlias" (https://en.wikipedia.org/wiki/List_of_HTTP_header_fields) men du har begärt 192.168.1.10 vilket den inte förstår sig på. Om du kollar configen som jag tidigare länkade till så är den uppsatt att läsa av alla som kommer emot *:8080 (i ditt fall bara 80) kan du posta din vhost fil? Skulle gissa att du skrivit domain.tld:80 eller dylikt som VirtualHost name?

Ja, jag har testat olika sätt i webbläsaren både http och utan http innan ipadressen.
V-hostfilerna ser ut enligt nedan.

<VirtualHost *:80> DocumentRoot /var/www/sida1.se ServerName www.sida1.se ServerAlias sida1.se CustomLog /var/www/sida1.se/logs/access.log combined ServerSignature Off <Directory /var/www/sida1.se> Options FollowSymLinks MultiViews AllowOverride all Order allow,deny allow from all RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L] Rewritecond %{HTTP_HOST} !^www\.sida1\.se RewriteRule (.*) http://www.sida1.se/$1 [R="301,L"] </Directory> </VirtualHost>

Och andra sidan ser ut enligt nedan.

<VirtualHost *:80> DocumentRoot /var/www/sida2.se ServerAlias sida2.se CustomLog /var/www/sida2.se/logs/access.log combined ErrorLog /var/www/sida2.se/logs/error.log ServerSignature Off <Directory /var/www/sida2.se> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </Directory> ServerName www.sida2.se </VirtualHost>

Visa signatur

Server: Core i5 13500 | ASRock B760M Pro RS/D4 | Kingston Fury 64GB DDR4 3200MHz | OS Unraid | 14TB lagring | Cache 2x M.2 NVMe 500GB

Permalänk
Medlem

Output av: iptables -t nat -L
vad säger access/error loggarna? Gissar att du inte får någon sida alls när du surfar till ip-addresserna. Men om du har haft det fungerande så är det nog inte vhost filerna

Visa signatur

One shall not shout when there is a forum!

Permalänk
Medlem

Din vhost fil för sida1 säger att om du inte ansluter till sidan med domännamet så gör den en redirect dit pga dina mod_rewrite-regler.. Detta betyder att du från ditt interna nätverk försöker nå burken från dess externa ipadress, vilket phz beskrev rätt så bra i inlägg #4. När du la till den interna ipadressen i hosts-filen på din maskin så kortslött du dnsuppslaget varvid det hela fungerar.

Visa signatur

WS: Fractal Design Pop Silent | Seasonic Prime G12 GC 550W | Gigabyte B650 Eagle AX | Ryzen 7 7700 | Corsair 64GB DDR5 | Asus Xonar DX | Arch Linux (x86_64) | Eizo EV2795
HTPC: Philips 50PUS8804, Kodi samt extern usb-disk
Server: Raspberry Pi 4 | 8GB RAM | HDD 750GB | Arch Linux (armv7h)

Permalänk
Medlem

Så, nu är problemet löst.

Jag flyttade rewriterulen från v-hostfilen till en .htaccess istället, och nu fungerar båda sidorna som dom ska, utan att jag behöver ändra någon hostfil.

Stort tack allesammans för hjälpen, hade inte lyckats lösa detta utan er!

Visa signatur

Server: Core i5 13500 | ASRock B760M Pro RS/D4 | Kingston Fury 64GB DDR4 3200MHz | OS Unraid | 14TB lagring | Cache 2x M.2 NVMe 500GB