[gelöst] Netzwerkverbindung Client-Server-Router (Subnetz)

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
KonradZuse
Beiträge: 4
Registriert: 26.03.2014 00:02:33

[gelöst] Netzwerkverbindung Client-Server-Router (Subnetz)

Beitrag von KonradZuse » 26.03.2014 00:24:36

Hallo,
ich bin dabei, mir ein Heimnetzwerk aufzubauen. Der Server steht und hat auch Zugang zum Internet, aber nun komme ich mit dem Client nicht ins Internet und erbitte Hilfe (die auf dem Client und dem Server jeweils vorhandene Firewall habe ich gestoppt):

1.Netzaufbau

INTERNET
|
Router
- IP per DHCP vom ISP
- 192.168.100.1
|
Server mit 2 NIC
- eth0 192.168.100.100
- eth1 192.168.1.1
- ipv4_forward in /etc/sysctl.conf (+)
|
Switch
|
Client1
- eth0 192.168.1.2


2. Problem: Der Client bekommt keine Verbindung zum Router und zum Internet. Der Internetzugang des Servers funktioniert.

a) Die im Forum vorliegende Netwerkcheckliste habe ich durchgearbeitet, insb. habe ich mehrmals den Inhalt folgender Dateien geprüft:
-interfaces
-sysctl.conf
-hosts
-resolv.conf
-wicd:wired-settings.conf

b) Verwendet habe ich u.a. ipconfig, arp, ip neigh, route, mtr, ping:
ping Server-Client1 ok
ping Client1-Server eth1 ok
ping Client1-Server eth0 ok
ping client1-router (-)
ping client1-internet (-)

c1) "route" auf Server:
default router 0.0.0.0. UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.100.0 * 255.255.255.0 U 0 0 0 eth0

c2) "route" auf client1:
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
default server.example.com 0.0.0.0 UG 0 0 0 eth0

Für hilfreiche Hinweise wäre ich sehr dankbar.
Gruss
Zuletzt geändert von KonradZuse am 29.03.2014 23:49:33, insgesamt 1-mal geändert.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Netzwerkverbindung Client-Server-Router (Subnetz)

Beitrag von Cae » 26.03.2014 00:36:05

Sofern der Client tatsaechlich server.example.com aufloesen kann (und das auch das richtige Interface vom Server ist), muesste das eigentlich so funktionieren. Hast du den sysctl-Eintrag auch per

Code: Alles auswählen

# sysctl -p /etc/sysctl.d/ip-forward
(oder wie auch immer die Datei bei dir heisst) aktiviert? Laesst sich das ueber

Code: Alles auswählen

$ cat /proc/sys/net/ipv4/ip_forward
nachvollziehen?

Willkommen im Forum!

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

KonradZuse
Beiträge: 4
Registriert: 26.03.2014 00:02:33

Re: Netzwerkverbindung Client-Server-Router (Subnetz)

Beitrag von KonradZuse » 26.03.2014 15:31:01

Cae hat geschrieben:Willkommen im Forum!
Vielen Dank! :)
Cae hat geschrieben:Sofern der Client tatsaechlich server.example.com aufloesen kann (und das auch das richtige Interface vom Server ist), muesste das eigentlich so funktionieren.
Hier liegt anscheinend das Problem. Ich habe jetzt auf dem Server in den Dateien
- /etc/hosts
- /etc/hostname
den Servernamen auf "myserver" abgeändert. Die Kontrolle nach reboot mit hostname und hostname -f wirft den neuen Namen richtig aus.

In "hosts" sind eth0 und eth1 aufgeführt; normalerweise mit ip und hostname.
Wie verfahre ich mit dem Hostnamen für die beiden NIC
- auf dem Server (wenn ich "myserver" hinter beiden ip aufführe, funktioniert die Verbindung client-router nicht. Führe ich den server-hostnamen nur bei eth0 an und lasse ihn bei eth1 weg, dann funktioniert es ebenso nicht)
- und auch auf dem Client?

Zusätzlich habe ich in /etc/ethers die MAC-Adressen aller Netzwerkkarten mit den dazugehörigen IPs aufgeführt (ohne hostnamen).
Cae hat geschrieben:Hast du den sysctl-Eintrag auch per

Code: Alles auswählen

# sysctl -p /etc/sysctl.d/ip-forward
(oder wie auch immer die Datei bei dir heisst) aktiviert? Laesst sich das ueber

Code: Alles auswählen

$ cat /proc/sys/net/ipv4/ip_forward
nachvollziehen?
Das angezeigte Ergebnis lautet "1".

Grüsse

hschroed
Beiträge: 30
Registriert: 14.03.2005 04:04:00

Re: Netzwerkverbindung Client-Server-Router (Subnetz)

Beitrag von hschroed » 26.03.2014 16:29:54

Moin,

gibt es auch eine Route auf dem Router für das 192.168.1.0 Netz, sonst kennt der den Rückweg nicht und sendet es an sein default gateway, was für den Router das Internet ist, oder du musst beim Server masquerade benutzen.

Gruß,

hschroed

KonradZuse
Beiträge: 4
Registriert: 26.03.2014 00:02:33

Re: Netzwerkverbindung Client-Server-Router (Subnetz)

Beitrag von KonradZuse » 26.03.2014 17:39:59

hschroed hat geschrieben: gibt es auch eine Route auf dem Router für das 192.168.1.0 Netz, sonst kennt der den Rückweg nicht und sendet es an sein default gateway, was für den Router das Internet ist
Moin,
hmm.. gute Frage! Wie kann ich herausbekommen, wohin der Router (= rote Box) sendet? Und wenn es so sein sollte, kann ich das nur mit dem nächsten Punkt ändern?
hschroed hat geschrieben:oder du musst beim Server masquerade benutzen.
Das hiesse, der Server würde nur in Verbindung mit iptables o.ä. laufen?


Viele Grüsse

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Netzwerkverbindung Client-Server-Router (Subnetz)

Beitrag von Cae » 26.03.2014 23:15:17

KonradZuse hat geschrieben:Wie kann ich herausbekommen, wohin der Router (= rote Box) sendet? Und wenn es so sein sollte, kann ich das nur mit dem nächsten Punkt ändern?
Wenn er keine spezifische Route hat, wird er wieder an seinen Standardgateway senden, d.h. direkt wieder in Richtung Internet raus. Das hatte ich oben auch uebersehen.

Falls du im Router statische Routen eintragen kannst, waere das das Mittel der Wahl. Wenn es ein stinknormales System mit ip(8) waere, wuerde die Zeile

Code: Alles auswählen

# ip route add 192.168.1/24 via 192.168.100.100
das tun (bzw. man wuerde sich das Aequivalent im Webinterface zusammenklicken). Falls das nicht moeglich ist, musst du ein NAT in der Art

Code: Alles auswählen

# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1/24 -j MASQUERADE
einbauen. SNAT waere die sauberere Alternative, in iptables(8) wird der Unterschied erklaert.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

KonradZuse
Beiträge: 4
Registriert: 26.03.2014 00:02:33

Re: (gelöst) Netzwerkverbindung Client-Server-Router (Subnet

Beitrag von KonradZuse » 29.03.2014 23:37:39

Vielen Dank für Ihre Hinweise! :THX: Meine weiteren Schritte nach Euren Anmerkungen waren:

1. Im Router war folgendes einzugeben:
- das Subnetz (192.168.100.0/24),
- die Netzmaske des Subnetzes (255.255.255.0),
- die IP der Hauptnetzwerkkarte angeben, die das Hauptnetzwerk mit dem Subnetz verbindet (gateway 192.168.100.100).

2. Netzwerkkarte des Subnetzes als gateway einrichten
- entweder an den Subnetzwerkgeräten die IP-Adresse der Subnetzwerkkarte als Standardgateway einrichten
"# route add -host 192.168.1.100 gw 192.168.100.100
- oder an den Netzwerkgeräten im zweiten IP-Netzwerk eine statische Route auf das IP-Hauptnetzwerk einrichten.
"# route add -net 192.168.64.0 netmask 255.255.255.0 gw 192.168.1.100"

3. IPTABLES script mit "forward" und "NAT"
Ich wollte ursprünglich Arno's-Iptables-Firewall nehmen, aber irgendwie habe ich die richtigen Einstellungen nicht hinbekommen. Daher ich folgendes Script genommen:

Code: Alles auswählen

#!/bin/sh
##/usr/local/bin/fw_nat
#iptables firewall script for sharing
#broadband Internet, with no public services
#http://sourcedaddy.com/networking/internet-sharing-firewall-dynamic-wan-ip-address.html

#define variables
ipt="/sbin/iptables"
mod="/sbin/modprobe"
WAN_IFACE="eth0"
LAN_IFACE="eth1"

#basic set of kernel modules
$mod ip_tables
$mod ip_conntrack
$mod iptable_filter
$mod iptable_nat
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE
#add these for IRC and FTP
#$mod ip_nat_ftp
#$mod ip_nat_irc
#$mod ip_conntrack_ftp
#$mod ip_conntrack_irc

# Flush all active rules and delete all custom chains
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X

#Set default policies
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT

#this line is necessary for the loopback interface
#and internal socket-based services to work correctly
$ipt -A INPUT -i lo -j ACCEPT

#Enable IP masquerading
$ipt -t nat -A POSTROUTING -o $WAN_IFACE -j MASQUERADE

#Enable unrestricted outgoing traffic, incoming
#is restricted to locally-initiated sessions only
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $WAN_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $LAN_IFACE -o $WAN_IFACE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Accept important ICMP messages
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT

#Reject connection attempts not initiated from inside the LAN
$ipt -A INPUT -p tcp --syn -j DROP
4. IP forwarding überprüfen/einrichten
#/etc/sysctl.conf
#net.ipv4.ip_forward = 1
#net.ipv4.icmp_echo_ignore_broadcasts = 1
#net.ipv4.tcp_syncookies = 1
#net.ipv4.conf.all.accept_source_route = 0

5. Script laden
#Now, load the new sysctl settings and execute the fw_nat script as root:
# /sbin/sysctl -p
# fw_nat

Erfreulicherweise mit Eurer Hilfe gelöst. :D
Herzlichen Dank!

Antworten