[gelöst] Netzwerkverbindung Client-Server-Router (Subnetz)
-
- Beiträge: 4
- Registriert: 26.03.2014 00:02:33
[gelöst] Netzwerkverbindung Client-Server-Router (Subnetz)
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
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.
Re: Netzwerkverbindung Client-Server-Router (Subnetz)
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(oder wie auch immer die Datei bei dir heisst) aktiviert? Laesst sich das uebernachvollziehen?
Willkommen im Forum!
Gruss Cae
Code: Alles auswählen
# sysctl -p /etc/sysctl.d/ip-forward
Code: Alles auswählen
$ cat /proc/sys/net/ipv4/ip_forward
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
-
- Beiträge: 4
- Registriert: 26.03.2014 00:02:33
Re: Netzwerkverbindung Client-Server-Router (Subnetz)
Vielen Dank!Cae hat geschrieben:Willkommen im Forum!
![Smile :)](./images/smilies/icon_smile.gif)
Hier liegt anscheinend das Problem. Ich habe jetzt auf dem Server in den DateienCae 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.
- /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).
Das angezeigte Ergebnis lautet "1".Cae hat geschrieben:Hast du den sysctl-Eintrag auch per(oder wie auch immer die Datei bei dir heisst) aktiviert? Laesst sich das ueberCode: Alles auswählen
# sysctl -p /etc/sysctl.d/ip-forward
nachvollziehen?Code: Alles auswählen
$ cat /proc/sys/net/ipv4/ip_forward
Grüsse
Re: Netzwerkverbindung Client-Server-Router (Subnetz)
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
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
-
- Beiträge: 4
- Registriert: 26.03.2014 00:02:33
Re: Netzwerkverbindung Client-Server-Router (Subnetz)
Moin,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
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?
Das hiesse, der Server würde nur in Verbindung mit iptables o.ä. laufen?hschroed hat geschrieben:oder du musst beim Server masquerade benutzen.
Viele Grüsse
Re: Netzwerkverbindung Client-Server-Router (Subnetz)
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.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?
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
Code: Alles auswählen
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1/24 -j MASQUERADE
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
-
- Beiträge: 4
- Registriert: 26.03.2014 00:02:33
Re: (gelöst) Netzwerkverbindung Client-Server-Router (Subnet
Vielen Dank für Ihre Hinweise!
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:
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.
Herzlichen Dank!
![Thumbs Up :THX:](./images/smilies/thumbup.gif)
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
#/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.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Herzlichen Dank!