2 Netzwerkkarten - default route?

karloff

karloff

Routinier
Moin,

ich wollte mal fragen wie ich folgendes Problem am Besten lösen kann.

Und zwar hab ich ein Server mit zwei Netzwerkschnittstellen.
eth0 und eth1.

Ich möchte nun das bestimmte Services an eth0 und eth1 binden.
Damit ich sowas wie für intern und extern eine schnittstelle habe.
Weiß allerdings leider nicht genau wie ich das bewerkstelligen kann.

Wenn jemand mir da auf die Sprünge helfen könnte, wäre ich dankbar.
 
einfach die services an das entsprechende device binden ....

das machst du in den einstellungen der einzelnen services
 
Ja soweit hab ich es auch gemacht, samba ist gebunden und apache auch, aber was mache ich wenn ich z.B. mein rsync über eth1 laufen lassen will, da hab ich keine Möglichkeit gefunden.
 
Wenn Du je eine Karte fuer intern und extern hast, d.h., wenn die Karten zwei verschiedene IP-Adressen haben, dann sollte die Route der Kernels sowie die Adressspezifizierung vom rsync-Aufruf dafuer sorgen, dass die der Route entsprechende Karte benutzt wird.
 
Also jede Karte hängt in nem anderen Subnetz.

Was muss ich denn da im Kernel einstellen?

Weil rsync geht über eth0 soll aber über eth1 abgewickelt werden.
 
Wenn rsync ueber eth1 ablaufen soll, bedeutet das ja, dass rsync auf einen Rechner zugreifen soll, der in dem Subnetz liegt, das hinter eth1 kommt, oder nicht? Dann sollte dieses Subnetz auch ueber eth1 gelenkt sein:
Code:
route add target eth1
Du kannst als target statt der Beschreibung des Netzes, in dem der Zielrechner liegt, auch genau den einen Rechner angeben, falls es sich nur um einen einzelnen handelt.
Kann dieser Rechner denn ueber beider Netz erreicht werden? Das wuerde erklaeren, weswegen dass das ganze nicht automatisch funktioniert.
 
Ja, die meisten Sachen sind aus beiden Subnetzen erreichbar.
Das eine Subnetz ist für Server das andere das der User.
Da er auch Samba und solche Scherze können soll muss er auch im Usersubnetz hängen.
Das erreicht aber auch das Netz.
Eigentlich wäre es mir am liebsten wenn ich das usersubnetz (eth0) 192.168.168.* so abgrenzen könnte das es nur mit Rechnern die aus dem Subnetz kommen komuniziert und für alles andere eth1 benutzt wird.

Habs mit iptables versucht aber mit mäßigem Erfolg:

Code:
#!/bin/bash

FW="/sbin/iptables"

# Vorhandene Regeln löschen
${FW} -F
${FW} -X
${FW} -t nat -F

# Ping blockieren von Extern
${FW} -A INPUT -p icmp -s 192.168.168.0/8 -j ACCEPT
${FW} -A INPUT -p icmp -j DROP
${FW} -A INPUT -p tcp -i eth0 --dport 113 -j REJECT --reject-with tcp-reset
${FW} -A INPUT -p tcp -i eth1 --dport 113 -j REJECT --reject-with tcp-reset

#Apache Kommunikation
${FW} -A INPUT -i lo -j ACCEPT
${FW} -A INPUT -m state --state INVALID -j DROP
${FW} -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
${FW} -A INPUT -p tcp -i eth1 --dport 80 -j ACCEPT  
${FW} -A INPUT -p udp -i eth1 --dport 80 -j ACCEPT  
${FW} -A INPUT -p tcp -i eth1 --dport 443 -j ACCEPT
${FW} -A INPUT -p udp -i eth1 --dport 443 -j ACCEPT
${FW} -A INPUT -p tcp -i eth0 --dport 80 -j DROP
${FW} -A INPUT -p udp -i eth0 --dport 80 -j DROP
${FW} -A INPUT -p tcp -i eth0 --dport 443 -j DROP
${FW} -A INPUT -p udp -i eth0 --dport 443 -j DROP
${FW} -A INPUT -p tcp -i eth0 --dport 8080 -j DROP
${FW} -A INPUT -p udp -i eth0 --dport 8080 -j DROP
# Samba
${FW} -A INPUT -p tcp -i eth0 --dport 137:139 -j ACCEPT
${FW} -A INPUT -p udp -i eth0 --dport 137:139 -j ACCEPT
${FW} -A INPUT -p tcp -i eth1 --dport 137:139 -j DROP
${FW} -A INPUT -p udp -i eth1 --dport 137:139 -j DROP
# FTP
${FW} -A INPUT -p tcp -i eth1 --dport 21 -j ACCEPT
${FW} -A INPUT -p udp -i eth1 --dport 21 -j ACCEPT
# SSH 
${FW} -A INPUT -p tcp -i eth1 --dport 22 -j ACCEPT
${FW} -A INPUT -p udp -i eth1 --dport 22 -j ACCEPT
#den ganzen Rest ablehnen
${FW} -A INPUT -p tcp -j REJECT --reject-with tcp-reset
${FW} -A INPUT -j REJECT
Ist das erste Mal das ich sowas gemacht habe also iptables, bitte nicht gleich in der Luft zerreisen deswegen ;)
 
Eigentlich wäre es mir am liebsten wenn ich das usersubnetz (eth0) 192.168.168.* so abgrenzen könnte das es nur mit Rechnern die aus dem Subnetz kommen komuniziert und für alles andere eth1 benutzt wird.
Muesste das nicht gelingen mit
Code:
route add 192.168.168.0/24 eth0
route add default eth1
wobei Du fuer das restliche Netz (zweiter 'route'-Befehl) ggf. noch eine gateway setzen muesstest?
 
Das wars =)
Jetzt wo ich weiß wo ich schrauben muss bekomm ich den Rest selbst hin.
Vielen Dank!
 

Ähnliche Themen

Router routing mit mehreren Netzwerken

CentOS 7: Falsche Metric bei regelbasiertem Routing nach Server-Reboot

Routing mehrere Netzwerkkarten

RedHat per Hyper-V virtualisieren (Netzwerkkarte nicht gefunden)

XEN - 2 Netzwerkkarten, 2 Bridge, keine Internetverbindung

Zurück
Oben