• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Internet auf dem Client über separatem Server einrichten

mycros

Newbie
Hallo,

bin noch ein ziemlicher Linux-Neuling. Hoffe aber trotzdem, dass mir hierjemand helfen kann.

Ich habe folgendes Problem.

Ich habe zwei Rechner mit dem Betriebssystem Debian konfiguriert. 1 Rechner (PC1) soll einen Internet-Client spielen. Der andere Rechner (PC2) soll Server spielen. Auf dem Server soll gleichzeitig DNS und DHCP für den Client (PC2) laufen und zusätzlich eine Firewall installiert werden. Im Client ist eine Netzwerkkarte installiert (eth0). Im Server sind 2 Netzwerkkarten installiert. Eth1 ist mit dem Client verbunden. Eth0 ist mit einem Firmennetzwerk verbunden. Die IP-Adresse des Servers wird von einem anderen Server im Firmennetzwerk per DHCP vergeben. Internet läuft auch nicht direkt vom Server aus, sondern auch über das Firmennetzwerk (also einen anderen Server). Wie kann ich realisieren, dass der Client seine private IP-Adresse per DHCP vom Server (PC1) bekommt, dort auch DNS läuft und Internet möglich ist? Wäre über eine Hilfe oder kleine Anleitung sehr dankbar.

PC1
Eth0 = Firmennetzwerk 192.168.248/24
Eth1 = 192.168.213.1
Soll enthalten: DHCP, DNS, Firewall

PC2
Eth0 = 192.168.213.2
Soll bekommen: Internet über PC1
 

neo67

Member
Da Du zwei verschiedene Netze hast, sollt es kein Problem sein.
Du musst auf Deinem Server einen DHCP Server/Dienst einrichten.
Dann solltest Du bind einrichten für DNS. Der wird aber einen NameServer benötigen, der Anfragen nach draussen richten kann.

Dann Routing aktivieren, Firewall per iptables einrichten und fertig.
Da musst Du einfach mal Doku lesen...
 
OP
mycros

mycros

Newbie
Danke für die Antwort. Das mit dem DHCP Server und DNS hab ich ja bereits durchgeführt. Was bei mir aber irgendwie nicht klappen will ist das Routing über den Server (also PC1) ins Internet vom Client aus. Ich hab schon etliche Stunden hier im Internet verbracht, um mir eine Hilfe zu suchen, aber irgendwie nichts gefunden. Vielleicht wisst ihr ja eine gute Internet-Seite, wo man gute Hilfe bekommt.

Danke schon mal im Vorraus.
 

neo67

Member
** EINSCHALTEN DES IPv4 ROUTERS
echo 1 > /proc/sys/net/ipv4/ip_forward

** ** FORWARDING (routing) STANDARDMÄßIG NICHT BETREIBEN
/sbin/iptables -t filter -P FORWARD DROP

** ** FÜR BESTIMMTE CLIENTS ERLAUBEN#deine mac eintragen
/sbin/iptables -t filter -A FORWARD -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT

** ** NAT (Network Address Translation) WENN BENÖTIGT
** ES GILT DIE DATEN ZU ERSETZTEN, DAMIT DAS SYSTEM FUNKTIONIERT
/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o eth0 -j MASQUERADE
 
OP
mycros

mycros

Newbie
Ich habe jetzt alle iptables ausprobiert. Ich verstehe ja auch wie diese Regeln funktionieren. Trotzdem scheint das nicht zu funzen. Mache ich vielleicht beim Routing etwas falsch (Routingtabelle). Das ist wohl nur ein kleines Problem, aber irgendwie verzweifel ich schon daran. Manchmal sieht man die einfachsten Sachen einfach nicht.
 
OP
mycros

mycros

Newbie
Hab das Problem mit dem Routing und dem Internet jetzt gefunden. War ein Fehler im Firewall-Skript. Ein ziemlich dummer. Habe das Masquerading falsch eingestellt.

Ein Problem bleibt aber noch - mein DNS-Server ( auch auf PC1 ) läuft glaube ich nicht so wie er soll. PC2 erhält von PC1 automatisch eine dynamische IP-Adresse. Dort ist auch angegeben, dass er den DNS-Server von PC1 verwenden soll. Wie kann ich herausfinden, ob er wirklich funktioniert?
 

BlueTurtle

Member
Hallo,

auf dem Client die Datei "/etc/resolv.conf" betrachten.
Dort sollte ein Eintrag stehen: nameserver <IP-Deines Nameservers, also PC1>

dann vom Client: ping www.suse.de

wenn Du eine Antwort erhälst hats geklappt...


BT
 
OP
mycros

mycros

Newbie
Ja das habe ich gemacht. Seltsam ist, dass ich zwar mittel IP nach PC1 erfolgreich pingen kann, aber nicht wenn ich den Namen von PC1 angebe (ns9.mycos.local). Der Host wird dann nicht gefunden.
 
OP
mycros

mycros

Newbie
Beim Client soll stehen:

search mycros.local
nameserver 192.168.213.1

aber bei jedem neustart steht dort drin.

search x21-2.dus1.msdnet.de
nameserver 195.27.7.130

das sind die einstellungen, die der Server (PC1) in seiner resolv.conf hat.
 

BlueTurtle

Member
ok, dann trag das doch mal von Hand bei Deinem Client ein.
also so wie es sein müsste (IP Deines Servers)

und versuche dann nochmal einen Ping auf www.suse.de.

wenn das dann klappt, funktioniert Dein DNS-Server schon mal.

Normalerweise müsste der DHCP-Client die Einstellungen (z.B.: DNS, Gateway,...) vom DHCP-Server übermittelt bekommen.
Das scheint schon mal nicht zu funktionieren.

Das kann an dem DHCP-Server liegen, oder auch an den Einstellungen beim Client...

BT
 

stka

Guru
poste doch mal eine dhcpd.conf. Was für Meldungen stehen in der /var/log/messages nach dem Start des DHCP Server? Wie sehen deine DNS Konfigurationsdateien (named.conf, forward-zone, revers-zone) aus? Das Problem scheint mir ein übergreifendes zwischen DNS DHCP und eventuell deinem NAT zu sein. Aber ohne weiter Infos ist das hier nur ein raten, nicht wahr "blueturtle" :wink:

Gruß

Stefan
 

BlueTurtle

Member
Genau, stka.
freut mich mal wieder von Dir zu hören!


BT


btw: ich tippe auf die Einstellungen beim DHCP-Client - bei SuSE gibts da sowas wie: "Nameserver-Einstellungen über DHCP holen"
wobei es mich wundern würde, wenn der DNS-Server sauber läuft...
 
OP
mycros

mycros

Newbie
DHCP-Skript
# Created by Michel Marquard at 25th of january in 2005.
# Changed by Michel Marquard at 21th of february in 2005.

# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $

# Wenn diese Optionen hier definiert werden haben sie globale Gültigkeit.
# option domain-name "mycros.local";
# option domain-name-server 192.168.213.1;
# option subnet-mask 255.255.255.0;
# option broadcast-address 192.168.213.255;
# option routers 192.168.248.1;

# Dieser Server soll offizieller DHCP-Server werden.
authoritative;

# Welche Fehlermeldungen in den syslog gespeichert werden.
# log-facility local7;

# Dynamisches DNS-Adressen-Updates des DNS-Servers.
# Die Updates werden erst in temporäre Dateine (*.jnl) abgelegt.
# Und danach erst in die Zonendateien des DNS-Servers übertragen.
ddns-update-style interim;
ddns-domainname "mycros.local";

# Feste IP-Adressen werden über ddns-Update an den DNS-Server übermittelt.
update-static-leases true;

# Erlaubt es den Clients nicht selbst Updates an den DNS-Server zu senden.
# Nur der DHCP-Server darf diese Aufgabe übernehmen.
deny client-updates;

# Generierter Schlüssel zur sicheren DNS-Übertragung. Dieser Schlüssel muss
# auch in der Datei /etc/bind/named.conf enthalten sein.
key DHCP_UPDATE {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret BbLO0hR0zOhVijbJH0sdvcAEzqWAJdVxC8+X6fLSNsQ=;
};

# Welche Zone(n) sollen abgedatet werden?
zone mycros.local {
primary 192.168.213.1;
key DHCP_UPDATE;
}

zone 213.168.192.in-addr.arpa {
primary 192.168.213.1;
key DHCP_UPDATE;
}

# Hier wird der DHCP-Bereich (Range) eingestellt. Wenn ein Rechner eine
# IP-Adresse anfordert, wird er eine IP-Adresse zwischen 192.168.213.10
# und 192.168.213.20 erhalten
subnet 192.168.213.0 netmask 255.255.255.0 {
range 192.168.213.10 192.168.213.20;
# Diese Optionen sind nur innerhalb dieser Deklaration gültig.
# Außerdem überschreiben Sie die globalen gesetzten Optionen.
# Die Ausgabe der IP-Adresse wird nach 5 Stunden verlängert.
default-lease-time 18000;
# Die IP-Adresse ist maximal 10 Stunden gültig.
max-lease-time 36000;
option domain-name "ns9.mycros.local";
option domain-name-servers 192.168.213.1;
option routers 192.168.213.1;
option broadcast-address 192.168.213.255;
}

# Mit Host wird einem Rechner eine bestimmte IP-Adresse statisch vergeben.
Host Siedlaczek {
# Der Rechner Siedlaczek erhält aufgrund der
# Übereinstimmung der MAC-Adresse eine feste IP-Adresse
hardware ethernet 00:50:DA:45:38:46;
fixed-address 192.168.213.2;
}

-------------------------------------------------------------------------------------------------------------------------

# Dies ist die zentrale Konfigurationsdatei für den DNS-Server "named".
# Created by Michel Marquard at 26th of january in 2005.
# Changed by Michel Marquard at 21th of february in 2005.

# Wenn Sie nur Zonen hinzufügen wollen, nutzen Sie /etc/bin/named.conf.local

# DNS-Master-Server

# ACL
# Mit "ACL Statement" ( Access Contol Statement ) kann man eine Gruppe von
# Hosts definieren, um den Zugriff auf dem Nameserver zu erlauben oder zu
# verbieten. Es werden mit Hilfe von symbolischen Namen, Systeme mit gleichen
# Eigenschaften und Berechtigungen zusammengefasst, um diese später unter
# diesem gemeinsamen Namen ansprechen zu können. Für die Optionen "allow query"
# und "forwardes" kann man auch entsprechend ACL Statements definieren.
acl "extern" {
# Default- Route-Adresse
0.0.0.0/8;
# Ist reserviert für IANA ( Internet Assiggned Numbers Authotity ).
# Einrichtung zur Vergabe und Beaufsichtigung von Internet-Adressen.
1.0.0.0/8;
# Ist auch für IANA reserviert.
2.0.0.0/8;
# Reserviert für lokale Netzwerkadressen. Vom Internet kann darauf
# nicht zugegriffen werden.
10.0.0.0/8;
# Auch für lokale Netzwerkadressen bestimmt.
172.16.0.0/12;
# Test-Netzwerkadresse
192.0.2.0/24;
# Multicast-Adresse
224.0.0.0/3;
};

# Allgemeine Optionen für den DNS-Server.
# Variablen können aber in den einzelnen Zonendirektiven überschrieben werden.
options {
# In diesem Verzeichis befinden sich die Zonendateien. Es ist das
# Arbeitsverzeichnis von "named"
directory "/var/cache/bind";
# Angaben des Zonentransfers zwischen Master- und Slave-Servern,
# die den Transfer der Informationen über die Zonen anfordern dürfen.
# Standardmäßig sind alle Transfer-Anfragen erlaubt.
# allow-transfer { 192.168.213.0/24; };
# Bestimmt die Hosts, die Informationen in ihrer Zone dynamisch
# aktualisieren dürfen. Standardmäßig sind Anfragen für dynamische
# Updates nicht zulässig.
# allow-update {"none"};
# Der DNS-Server schickt keine Anfragen an andere Nameserver, die
# in der Liste "extern" angegeben sind und beantwortet auch keine
# Anfragen, die von solchen Servern kommen.
blackhole { extern; };
# In dieser Liste werden Netzwerk-Adressen angegeben, an denen
# gelauscht werden darf. Es ist auch möglich anzugeben, an welchen
# Netzwerkschnittstellen nicht gelauscht werden darf ( ! 127.0.0.1 ).
listen-on { 192.168.213.1; 127.0.0.1; };
# Im Folgenden ist angegeben, welche Hosts Informationen über die
# Zonen anfordern dürfen. Standardmäßig sind alle Anfragen zulässig.
# Hier werden aber Anfragen aus anderen Netzen geblockt. Nur das
# aktuelle Netzwerk und der Localhost darf Anfragen stellen.
allow-query { 127.0/16; 192.168.213/24; };
# Die IP-Adressen sollen zuerst durch die "forwarders" aufgelöst
# werden. Damit wäre sichergestellt, dass beim Zugang zu einem
# Provider ein schnelleres Internetsurfen möglich ist.
forward first;
# Anfragen die der Nameserver nicht beantworten kann leitet er an
# die oder den Nameserver weiter, welche in "forwarders" angegeben
# sind weiter.
forwarders { 192.168.248.3; };
# Anfragen an den Nameserver können auch grundsätzlich an die
# Nameserver im "forward"-Bereich weitergeleitet werden.
# Hier jedoch ausdokumentiert.
# forward only;
};

# Die Optionen können auch in einer anderen Datei gespeichert werden und in
# hier hinein geladen werden.
# include "/etc/bind/named.conf.options";

# Hier wird die root.zone definiert.
# Die Daten sind in einer externen Datei enthalten.
zone "." {
type hint;
file "root.zone";
};

# Hier wird die lokale Zone definiert.
zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

# Hier wird die Netzzone definiert.
zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

# Hier wird die Bradcast-Zone definiert.
zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};


# Hier beginnt die zu verwaltende Zone des lokalen Netzwerkes
# Es beginnt mit dem Schlüsselwort "zone" gefolgt bom Domainnamen und der
# und der Klasse "IN" ( für Internet ). IN ist Standard und muss nicht
# zwingend angebeben werden.
# zone "mycros.local." IN {
# type master;
# Der Name Der Konfigurationsdatei befindet sich in "/var/cache/bind".
# file "mycros.vorwaerts";
# };

# zone "213.168.192.in-addr.arpa" IN {
# type master;
# file "mycros.rueckwaerts";
# };


# Dynamische DNS-Aktualisierung
# Der KEY muss vorher über die Konsole mit dem Befehl "dnssec-keygen -a
# HMAC-MD5 -b 256 -n USER DHCP_UPDATE" erstellt werden. DHCP_UPDATE ist frei
# erfunden, er kann auch anders lauten. Die gleiche Schlüsseldefinition muss
# sich in der Datei "/etc/dhcp3/dhcpd.conf" wiederfinden.
key DHCP_UPDATE {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret BbLO0hR0zOhVijbJH0sdvcAEzqWAJdVxC8+X6fLSNsQ=;
};

include "/etc/bind/named.conf.local";
 
Oben