Routing umter FC4 einstellen

T

Trucker

Grünschnabel
Hallo, ich weis solche fragen hats hier schon viele gegeben aber ich konnt irgendwie nix finden das mir genau geholfen hat.

also mein problem

Ich hab einen meiner rechner mit fc4 installiert
von dem aus ich über eth1 ins internet gehe
eth0 ist ans hub angeschlossen wo auch die anderen 3 rechner des hauses stehen
und die alle mit Win XP laufen.

der fc4 rechner soll also praktisch mein gatewayserver sein
nur wie muss ich den jetzt einrichten das es so funktioniert
das ich mit den anderen rechnern ins internet komme und unternander
kommunizieren kann.

Den fc4 rechner hat mir früher mal jemand den ich ausm internet kannte eingerichtet
so das ich den windows pcs einfach nur ip adressen geben muste und die gateway adresse vom fc4 rechner eingeben musste und scho hat alles gefunzt
bloss hab ich da kein kontakt mehr und selber kenn ich mich nicht so aus

PS.: bei google hab ich auch nix gescheites gefunden.
 
Hallo Trucker,
du musst zum einen das IP forwarding einschalten. Am besten schreibst du das dann in ein Skript damit es beim Starten automatisch geetzt wird. Ein
echo "1" > /proc/sys/net/ipv4/ip_forward sollte dir weiterhelfen. Falls der Pfad nicht ganz stimmt bitte ich um Nachsicht da ich gerade kein Linux an hab um es zu probieren. Aber mit IP forwarding und Linux sollteste bei google den richtigen Pfad finden.
Damit du mit den Windosen aus ins Internet kommst musst du noch min. 1 iptables Regel erstellen, welche das NAT (network address translation) aktiviert. Diese bewirkt, dass die internen Adressen so maskiert werden, dass alle Rechner im Internet mit der gleichen IP "auftreten".
Ich hoffe ich konnte dir weiterhelfen.
Gruß
mcas
 
jo danke erstmal
ich werde halt mal googeln nach den stichworten die du geschrieben hab

muss das halt mal rausfinden da ich mich mit linux eigentlich garnet auskenn :think:
 
Da der FC4 Rechner sicherlich auch noch nen bisserl mehr an Firewallaufgaben übernehmen soll, solltest du dich evtl. generell nach iptables howtos umsehen bzw Firewalls unter Linux.
 
Den Rechner mal schnell wieder zum Routen zu bewegen, sollte mit dem folgenden Skript problemlos moeglich sein sofern die Netzwerkeinstellungen stimmen.

Code:
#!/bin/bash

echo "Starting firewall"

LOGLIMIT=20
IPTABLES=/sbin/iptables

case "$1" in
start)
	# alle alten Regeln entfernen
	echo "Loesche alte Regeln"
	$IPTABLES -F
	$IPTABLES -X
	$IPTABLES -t nat -F
	# Routing
	echo 1 > /proc/sys/net/ipv4/ip_forward
	$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT
	$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE
	### ERSTELLE NEUE KETTEN ###
	$IPTABLES -N LOGREJECT 
	$IPTABLES -A LOGREJECT -m limit --limit $LOGLIMIT/minute -j LOG --log-prefix "FIREWALL REJECT " --log-level notice --log-ip-options --log-tcp-options 
	$IPTABLES -A LOGREJECT -j REJECT --reject-with icmp-port-unreachable 
	
	### PROC MANIPULATION ###
	# auf Broadcast-Pings nicht antworten
	echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
	# halt die Klappe bei komischen ICMP Nachrichten
	echo 0 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
	# Kicke den ganzen IP Spoofing Shit
	# (Source-Validierung anschalten)
	echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
	# Setze Default-TTL auf 61 (Default fuer Linux ist 64)
	echo 61 > /proc/sys/net/ipv4/ip_default_ttl
	# sende RST-Pakete wenn der Buffer voll ist
	echo 1 > /proc/sys/net/ipv4/tcp_abort_on_overflow
	# warte max. 30 secs auf ein FIN/ACK
	echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
	# unterbreche Verbindungsaufbau nach 3 SYN-Paketen
	# Default ist 6
	echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
	# unterbreche Verbindungsaufbau nach 3 SYN/ACK-Paketen
	# Default ist 6
	echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
	
	### MAIN PART ###
	$IPTABLES -P INPUT DROP
	$IPTABLES -P FORWARD DROP
	$IPTABLES -P OUTPUT ACCEPT
	$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
	$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
	# im Loopback koennen wir jedem trauen 
	$IPTABLES -A INPUT -i lo -j ACCEPT
	# ebenso im LAN
	$IPTABLES -A INPUT -i eth0 -j ACCEPT
	# erlaube Pings
	$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
	# erlaube SSH
	$IPTABLES -A INPUT -p tcp --dport 22 --tcp-flags ALL SYN -j ACCEPT

	# Alle TCP Packete, die bis hier hin kommen, werden 
        # geloggt und rejected 
        # Der Rest wird eh per Default Policy gedroppt... 
	$IPTABLES -A INPUT -p tcp -j LOGREJECT 
	$IPTABLES -A FORWARD -p tcp -j LOGREJECT
	;;
*)
	echo "Usage: `basename $0` {start}" >&2
	exit 64
	;;
esac

exit 0

Einfach abspeichern, ausfuehrbar machen und mit dem Parameter 'start' ausfuehren. Dieses Skript bietet die erstmal eine grundlegende Firewall und sorgt dafuer, dass das Routing funktioniert. Evtl. musst du noch den Pfad zum iptables-Befehl anpassen. Trotzdem solltest du dich mit dem Thema iptables/Firewall evtl. etwas naeher beschaeftigen, damit du verstehst, was beim Routing ablaeuft.
 
Zurück
Oben