PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : routingproblem



urias
25.07.05, 14:47
Hallo

einige Nachbarn und meiner einer teilen sich zusammen eine DSL Leitung.
Bisher ist alles grob in 2 Netze unterteilt, alles was an Kabeln hängt, ist im Adressbereich 192.168.2.x, alles was per Funk angebunden ist im Adressbereich 192.168.1.x.

Ich möchte nun, meinen alten Server (ibm netfinity 5000) als proxy/gateway so in die Netzstruktur einbringen, dass er mein privates Netz vom restlichen Netz trennt, und zur gleichen Zeit ein unumgehbarer proxie fürs Hausnetz wird.

Dafür habe ich folgende Struktur im Kopf

--Internet--smc-router - IBM netfinity(eth0) ----- eth1 --->Hausnetz
------eth2 --->mein Netz
Mein erster Schritt ist nun, erstmal ein skript zu schreiben, das ein masquarding von eth0 -> eth1 einrichten.

Nach meinem Verstädnis müßte es nach
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
läuft aber ebensowenig wie
iptables -t nat -A POSTROUTING -o eth0 -j SNAT

Versucht habe ich es, mit einem ping auf 192.168.2.1 (dem smc-router, der pings von innen auch nicht verwirft)
Also Gateway auf dem Testrechner ist 192.168.3.200 angegeben (die Netzwerkkarte eth1 im Netfinity)

irgendwie stehe ich trotz Dokus lesen (lese jetzt auch weiter welche) auf dem Schlauch.
Könnte mir irgendwer von euch einen Tipp geben, damit ich wieder etwas voran komme ? (und macht das auch ;) )

Danke
patrick

@zero
25.07.05, 19:44
Hallo über eines musst du dir im klaren sein es ist nicht möglich mit linux über ein Privates Netzwerk zu Routen. Du must dabei eine Adresse aus dem Internetbereich nehmen. Hier ein Beispiel Netz1 (192.168.0.x) > Router 193.168.x.x > Netz2 (192.168.1.x). dabei spielt auch eine grosse Rolle die Firewall mit eingeschalteter FW kanst du nur bis zum Gateway pingen und die Computer ansprechen alles was hinter der FW des Gateways liegt ist nicht erreichbar. Es gibt ein Shell Script was es möglich macht die Hosts auch mit eingeschalteter FW zu erreichen. Bin am suchen sende dir den Aufbau mit Bild und Script Morgen.

@zero :)

JonSnow
25.07.05, 21:30
Sorry, aber ich werde aus deiner Beschreibung echt nicht schlau.
So wie ich es atm verstehe sollte das mit vernünftigem Routing funktionieren.

urias
26.07.05, 01:03
Sorry, aber ich werde aus deiner Beschreibung echt nicht schlau.
So wie ich es atm verstehe sollte das mit vernünftigem Routing funktionieren.
Ich mach dazu morgen mal eine Grafik, vielleicht wird es dann ersichtlicher, hab damit in Textform auch so meine probleme gehabt anfang bei der Planung ;)

für heute erstmal gute nacht ;)

EDIT:
so ist es derzeit (etwas vereinfacht)
http://www.patrickbloy.de/ist_zustand.jpeg

und so soll es werden:
http://www.patrickbloy.de/soll_zustand.jpeg
(Die zwei weiteren hängen noch am smc Barricade mit dran)
Der Netfinity ist dabei transparenter Proxy, ftp-server zum Datenaustauch, dhcp&nameserver

RichieX
26.07.05, 09:50
Hallo
--Internet--smc-router - IBM netfinity(eth0) ----- eth1 --->Hausnetz
------eth2 --->mein Netz
Mein erster Schritt ist nun, erstmal ein skript zu schreiben, das ein masquarding von eth0 -> eth1 einrichten.


Warum das? Masquerading macht doch schon dein Internet-Router. Du musst einfach nur forwarden.

RichieX

@zero
27.07.05, 22:47
Probiers mal mit diesem Script es richtet die Firewall so ein das es möglich ist von deiner seite aus ins Internet zu gehen aber nicht von Außen in dein Netz da ist beim Proxy mit Firewall schluss. Funktioniert mit dem Kernel 2.4 und 2.6

Pass das Script an deine ansprüche an.


#!/bin/bash
IPTABLES=/usr/sbin/iptables
#DEV_INT ist die Netzwerkkarte ins LAN
#DEV_DMZ ist die Netzwerkkarte oder Interface ins Internet (z.B. ppp0 oder ippp0)
DEV_INT=eth0
DEV_DMZ=ppp0

#Es werden alle Befehle gelöscht, um die neuen Befehle sauber aufzusetzen
#Die Standardregel ist nun DROP (Verwerfen) von Paketen
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X

#Aktivieren der Unterstützung für Dynamische IP-Adressen (auskommentieren bei fester IP)
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
#Aktivieren des IP-Forwardings
#Dadurch leitet der Linuxrechner Pakete aus dem internen Netz ins Internet
#Auskommentieren, wenn die Kommunikation mit dem Internet ausschließlich über Proxies läuft
echo "1" > /proc/sys/net/ipv4/ip_forward

#SNAT (Masquarding)
#Alle Pakete von Rechnern aus dem internen Netz erhalten eine öffentliche IP
$IPTABLES -t nat -A POSTROUTING -o $DEV_DMZ -j MASQUERADE

#DNAT WWW (Optional)
#Alle Pakete, die am Router auf Port 80 eintreffen, werden an den Port 80 des internen Rechners
#mit der IP 192.168.0.11 weitergeleitet
#sinvoll, wenn sie einen WWW-Server hinter der Firewall betreiben möchten oder andere Ports freigebne möchten
#aber nur eine offizielle IP haben
#$IPTABLES -t nat -A POSTROUTING -p tcp --dport 80 -i $DEV-DMZ -j DNAT --to 192.168.0.11:80

#
#Schnittstellen
#

#Verbindungen von und zum Linuxrechner selbst sind erlaubt (localhost)
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A INPUT -i lo -j ACCEPT

#Verkehr auf den internen Netzwerkkarten ist uneingeschrängt möglich
$IPTABLES -A OUTPUT -o $DEV_INT -j ACCEPT
$IPTABLES -A INPUT -i $DEV_INT -j ACCEPT

#ausgehende Verbindungen zum Internet sind erlaubt
#Damit kann der Router Verbindungen nach Außen starten, um z.B. einen DNS-Server zu kontaktieren
$IPTABLES -A OUTPUT -o $DEV_DMZ -m state --state ESTABLISHED,NEW;RELATED -j ACCEPT
$IPTABLES -A INPUT -i $DEV_DMZ -m state --state ESTABLISHED,RELATED-j ACCEPT

#
#EINGEHENDE Verbindungen aus dem Internet teilweise zulassen
#

#nmap XMAS_Pakete droppen
#diese Pakete sind nicht normal und werden nur von Portscannern verwendet
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A FORWARD -p tcp --tcp-flags ALL ALL -j DROP

#nmap NULL-Pakete droppen
#diese Pakete sind nicht normal und werden nur von Portscannern verwendet
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP

#ICMP-Fehlermeldungen (Destination unreachable, source quench,TTL exceded,)
#Diese Regeln sollten nicht deaktiviert werden, da es sonst Paketverluste gibt
$IPTABLES -A INPUT -i $DEV_DMZ -p icmp --icmp-type 3 -j ACCEPT
$IPTABLES -A INPUT -i $DEV_DMZ -p icmp --icmp-type 4 -j ACCEPT
$IPTABLES -A INPUT -i $DEV_DMZ -p icmp --icmp-type 11 -j ACCEPT
$IPTABLES -A INPUT -i $DEV_DMZ -p icmp --icmp-type 12 -j ACCEPT

#Ping
#gestattet einen Ping aus dem Internet auf den Linuxrechner
#ein Ping vom Linuxrechner und internen Rechner ist von dieser Regel unberührt
#$IPTABLES -A INPUT -i $DEV_DMZ -p icmp --icmp-type 8 -j ACCEPT

#SSH
#Regel um z.B. SHH aus dem Internet auf den Linuxrechner direkt zuzulassen
$IPTABLES -A INPUT -i $DEV_DMZ -p tcp --dport 22 --sport 1024: -m state --state ESTABLISHED,NEW,RELATED -j ACCEPT

#DNAT (WWW) (optional)
#Notwendiger, um die Pakete für das DNAT zuzulassen (2.Teil von der Regel oben)
$IPTABLES -A FORWARD -i $DEV_DMZ -o $DEV_INT -p tcp --dport 80 -d 192.168.0.11/32 -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

#
#Forwarding
#
#Verbindung vom internen Netz ins Internet sind erlaubt
$IPTABLES -A FORWARD -i $DEV_INT -o $DEV_DMZ -m state --state ESTABLISHED,NEW,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $DEV_DMZ -o $DEV_INT -m state --state ESTABLISHED,RELATED -j ACCEPT