Webserver nur im LAN erreichbar machen

OsunSeyi

OsunSeyi

Foren As
Hi,
Was muss ich unternehmen, um einen (nur lokal laufenden) Apache Webserver im Etherner mit fest vergebenen IPs erreichbar zu machen?
Das Ethernet läuft, mit NFS.
Es soll sichergestellt sein, daß der Server weiterhin nicht von aussen (über das Internet) erreichbar ist, sondern nur von meinem 2. Rechner aus.
 
Hi,

wenn der Server keine öffentliche IP hat und auf dem Router kein Portforwarding eingetragen ist, kommt man da von außen nicht dran.

Falls doch bietete der Apache die Möglichkeit Zugriffe auf IP basis zu erlauben -> Allow from address.

mfg
HeadCrash
 
Hi,
Was muss ich unternehmen, um einen (nur lokal laufenden) Apache Webserver im Etherner mit fest vergebenen IPs erreichbar zu machen?
1) Du musst einen Apache Webserver aufsetzten und die Firewall des hostenden Systems (bei Virtualisierung der hostenden Systeme) derart anpassen, dass der Server über ein an das Ethernet angeschlossenes Interface erreichbar ist (Meist: Freigabe von Port 80/TCP)
2) Fest vergebene IPs sind Sache der entsprechenden Hosts. Sollen einzelne Hosts in einem IPv4 Netzwerk bestimmte IP Adressen haben, müssen die entsprechenden Interfaces mit diesen konfiguriert werden (Meist mit ifconfig). DHCP ist dazu eine abartig schmutzige, wenn auch gängige Alternative.
Das Ethernet läuft, mit NFS.
Das ist Blödsinn. Ethernet ist ein Netzzugangsstandard (Layer 2), NFS ist eine Netzanwendung (Layer 7). Wenn dann läuft NFS über Ethernet.
Es soll sichergestellt sein, daß der Server weiterhin nicht von aussen (über das Internet) erreichbar ist, sondern nur von meinem 2. Rechner aus.
Hierzu ist es nötig zu wissen, wie du ins Internet routest. Macht dies dein Rechner direkt über ein integriertes Modem oder nutzt du einen zentralen Router?
Im letzten Fall langt es, sofern vorhanden, in der NAT Firewall des Routers keine entsprechenden Port forwardings einzustellen.

MfG

Schard
 
@Schard:
Ich vermute, dass mit 'Server' ausschliesslich der Apache-Webserver gemeint war. Reicht es unter dieser Annahme nicht aus, 'Allow from', wie von HeadCrash vorgeschlagen, zu konfigurieren, oder haeltst Du den Apache-Server dann trotzdem fuer angreifbar, wenn der Port nicht extra geschlossen wird?
 
Das Ethernet läuft, mit NFS.
Ja, verkehrt herum ausgedrückt.
Missverständlich sowieso das ganze:

- Ethernet läuft, mit fest vergebenen IPs
- Apache läuft, ist aber nur auf localhost erreichbar.
- die lokalen Dateien sind via NFS auf dem anderen Rechner erreichbar (hat damit nichts zu tun, ich weiß)
- und der Webserver soll auch auf dem anderen Rechner erreichbar werden
- eine Firewall habe ich nicht eingerichtet und vermute, daß sowas hier nicht läuft (in bescheidener Ahnungslosigkeit)

...soweit ist das also bereits konfiguriert (ich bin Anfänger)

Jetzt kommt hier die "httpd.conf":
Code:
ServerRoot "/usr"

listen 127.0.0.1:80
ServerName localhost:80

...
LoadModule authz_host_module lib/httpd/modules/mod_authz_host.so
...

<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>

User apache
Group apache

</IfModule>
</IfModule>

ServerAdmin you@example.com
DocumentRoot "/srv/httpd/htdocs"

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "/srv/httpd/htdocs">

    Options Indexes FollowSymLinks
    AllowOverride All

#=======================
    Order allow,deny
    Allow from all
#=======================

</Directory>

<IfModule dir_module>

    DirectoryIndex index.html

</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

ErrorLog "/var/log/httpd/error_log"
LogLevel warn

<IfModule log_config_module>

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    CustomLog "/var/log/httpd/access_log" common

</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/srv/httpd/cgi-bin/"
</IfModule>

<Directory "/srv/httpd/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
    TypesConfig /etc/httpd/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

Include /etc/httpd/mod_php.conf

Bedeutet das folgende nicht, daß der Server generell (also auch übers Internet) erreichbar sein sollte?

<Directory "/srv/httpd/htdocs">
Order allow,deny
Allow from all
</Directory>

Aber wie gesagt, habe zu wenig Ahnung davon.
Darum ist oben die gesamte Config mitgegeben, nur bei der langen Liste zu ladender Module hab ich gekürzt.
 
Zuletzt bearbeitet:
Mir sind zwei Dinge aufgefallen, die problematisch sein koennten:
Code:
listen 127.0.0.1:80
Damit reagiert der Server nur auf Anfragen, die ueber die IP-Adresse 127.0.0.1 kommen - das ist wohl nicht die IP-Adresse Deiner Netzwerkkarte. Ersetze das doch mal durch
Code:
listen 80
Damit werden Anfragen auf Port 80 (Voreinstellung fuer http) beantwortet, d.h. alle.

DocumentRoot ist das gleiche wie das Verzeichnis in der zweiten 'Directory'-Anweisung (/srv/httpd/htdocs). Darauf bezieht sich die erste 'Directory'-anweisung ('/' bezieht sich dann auf DocumentRoot). Schreibt Deine Anweisungen mal in die erste Anweisung und loesche die zweite einfach. Wenn das klappt, setzt Du schliesslich 'Allow from' auf Deine internen IP-Adressen.
 
@Schard:
Ich vermute, dass mit 'Server' ausschliesslich der Apache-Webserver gemeint war.
Richtig vermutet :)
Reicht es unter dieser Annahme nicht aus, 'Allow from', wie von HeadCrash vorgeschlagen, zu konfigurieren, oder haeltst Du den Apache-Server dann trotzdem fuer angreifbar, wenn der Port nicht extra geschlossen wird?
Ja. Das System ist, falls ein entsprechendes Forwarding eingetragen ist, angreifbar, da ja Apache nur nach IP Adressen filtert.
Und IP Adressen kann man sehr einfach fälschen.
 
Hallo Schard,
Hierzu ist es nötig zu wissen, wie du ins Internet routest. Macht dies dein Rechner direkt über ein integriertes Modem oder nutzt du einen zentralen Router?
Im letzten Fall langt es, sofern vorhanden, in der NAT Firewall des Routers keine entsprechenden Port forwardings einzustellen.

Im letzten Fall langt es, sofern vorhanden, in der NAT Firewall des Routers keine entsprechenden Port forwardings einzustellen.


Es handelt sich um einen DSL-Router (Speedport W 504V).
Dort gib es uA folgende Einstellungen:

Netzwerkeinstellungen
...
>> NAT & Portregeln 0 Regel(n)
>> Dynamisches DNS Aus

Zunächst ist der Apache aber vom 2. Rechner aus nicht erreichbar.
Dh, ich muss so vorgehen, wie tgruene empfohlen hat, und zusätzlich die NAT-Regeln im Router einstellen?

tom
 
Dh, ich muss so vorgehen, wie tgruene empfohlen hat, und zusätzlich die NAT-Regeln im Router einstellen?
Nein! Dass keine NAT Regeln für port forwarding definiert sind, ist ja das von mir beschriebene Ziel.
Keine regel = gut.
Mach es dann so wie es @HeadCrash in #2 und tgruene in #6 geschrieben haben.

Also zusammengefasst:
- AllowAddress einstellen für ausgewählte Rechner im LAN (unnötig, wenn alle Rechner im LAN zugriff haben sollen)
- Listen 80 um auch auf Anfragen anderer Hosts zu lauschen.

MfG

Schard
 
Habe nur "listen 127.0.0.1:80" zu "listen 80" geändert.
Das war auch die Grundeinstellung nach der Installation, warum ich das geändert habe, weiß ich nicht.
Warscheinlich wg. einer Fehlermeldung (Could not reliably determine the server's fully qualified domain name) was aber nur mit dem ServerName zu tun hat.
Zeigt mal wieder die Notwendigkeit, alles genau zu protokollieren, wenn man was lernen und nicht den Überblick verlieren will.

Ich hoffe, die Einstellungen unten sind so ok, der Server ist jetzt jedenfalls auch im LAN erreichbar.

Code:
...
listen 127.0.0.1:80
ServerName localhost:80
...

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "/srv/httpd/htdocs">

    Options Indexes FollowSymLinks
    AllowOverride All

    Order allow,deny
    Allow from all

</Directory>
...

Vielen Dank!
 

Ähnliche Themen

Webserver (über eigene WAN-IP-Adresse) nicht erreichbar - extern möglich

Centos und Apache (VirtualHost)

dhcp, arpwatch, flip-flop, iPhone

Netzwerk Probleme mit Opensuse 12.3

Problem mit Ubuntu/openVPN-Server hinter Router

Zurück
Oben