PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Routing-Problem (ISDN+Dialin)



Olli
03.12.02, 20:57
Hallo,
ich versuche gerade meinen Rechner als Einwahlserver zu
konfigurieren. Nach langem Probieren habe ich zumindest
die Einwahl selbst hinbekommen.
Leider kann ich vom einwählendem Rechner nicht auf den
Server zugreifen, da -so vermmute ich- das Routing nicht
korrekt konfiguriert ist.
Da mein Wissen über Routing nicht sehr umfangreich ist und
nicht für die Problemlösung ausreicht, kann mir vielleicht
einer von euch weiter helfen.


Aktuelle Konfiguration:

/etc/ppp/options.ippp1:
/dev/ippp1
proxyarp
# Server-IP:Client- IP
192.168.2.1:192.168.2.10
defaultroute
-vj
-vjccomp
-ac
-pc
-bsdcomp
noccp
mru 1524
mtu 1500
+pap
login
auth
ms-dns 192.168.1.1
domain WORKGROUP
netmask 255.255.255.0

eth0:
192.168.1.1/255.255.255.0

ippp0:
Internet...(soll erst später konfiguriert werden)

ippp1: (Dialin-Device)
Local: 192.168.2.1
Remote: 192.168.2.10


Gegenwärte Routen:
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.1.99 * 255.255.255.255 UH 0 0 0 ippp0
172.16.22.0 * 255.255.255.0 U 0 0 0 vmnet8
192.168.2.0 * 255.255.255.0 U 0 0 0 ippp1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Der einwählende Rechner kann nur die Server-IP (192.168.2.1) anpingen. Andere
Rechner (Bspw. 192.168.1.1) leider nicht.
Vom Server aus habe ich es noch nicht probiert. Ist aber erstmal sekundär...

Oliver

chriskc
03.12.02, 21:28
server ist Primär!

ertmal testen ob der server geht!


dann sollte der client haben,

den dns-server welchen auch der server benutzt,

auf dem server nach dem verbindungsaufbau mal einen

cat /etc/resolf.conf

machen


das beim client eintragen!




dann musst du POSTROUTING einschalten auf dem server und das forwarding freigeben.

danach sollte alles gehen.


http://www.netfilter.org/documentation/HOWTO/de/NAT-HOWTO.txt

punkt
4.1. Ich will nur Masquerading! Hilfe!
Lesen!!!


dann noch
iptables -A Forward -p tcp --tcp-flags SYN,RST SYN -j

damit der MTU wert nicht zu groß ist, sonst gehen einige seitem für die clients nicht!

z.B.
www.zdf.de :-)

usw.

ich hoffe das hat was gebracht.

cu

geronet
03.12.02, 22:02
Hat der einwählende Rechner auch ein internes Netz mit 192.168.1.0/24?

Routen müssten alles stimmen bis auf die Netzmasken.
Warum "netmask 255.255.255.0" ? Gibt bei ppp-Verbindungen keinen Sinn.
Nimm lieber 255.255.255.255.

Aber bei den optionen vom ipppd würde ich "defaultroute"
herausnehmen sonst gibts Probleme mit ippp0/Internet.

Grüsse, Stefan

Olli
04.12.02, 07:43
> Hat der einwählende Rechner auch ein internes Netz mit 192.168.1.0/24?

Ja, hat er. Inwiefern spielt das eine Rolle?

Oliver

(Der "Einwähler" ist übrigens Win-Client)

Olli
04.12.02, 08:04
Folgende Ergänzungen habe ich gemacht:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j ACCEPT
iptables -t nat -A POSTROUTING -o ippp1 -j MASQUERADE
#echo 1 > /proc/sys/net/ipv4/ip_forward

Die route.conf (Server) ändert sich nach Einwahl nicht.
Der Einwähler (Win) setzt die Default-route auf die ppp-Server-IP 192.168.2.1.

Beide Rechner können sich anpingen.
Vom Clienten (192.168.2.10) geht der ping zum Server (192.168.2.1) und umgekehrt auch. Leider erreiche ich vom Client immer noch nicht die Rechner hinter dem Server, bzw. die ursprüngliche Server-IP (192.168.1.1) mit dessen Samba-Freigaben.


Oliver


Ich habe gerade festgestellt, dass das Netz des Einwählers ebenfalls 192.168.1.0/24 ist. Die IPs des Server-Netzes sind aber nicht vergeben!
Allerdings habe ich darauf keinen Einfluss und die IP des Servers will ich auch nicht ändern. Ist das problematisch?

Hier mal mein Dialin-Server-Skript: (vielleicht hilft es)


#!/bin/sh
#
#
#
# Settings
MSN=415664
DIAL_IN_INTERFACE=ippp1
#
# IP for local interface
LOCAL_IP=192.168.2.1
#
# Dial-In Host
REMOTE_IP=192.168.2.10
MASK=255.255.255.0

#
ISDNCTRL=/usr/sbin/isdnctrl
IPPPD=/usr/sbin/ipppd
IFCONFIG=/sbin/ifconfig
ROUTE=/sbin/route
OPTION_FILE=options.dialind
PIDFILE=/var/run/ipppd.$DIAL_IN_INTERFACE.pid
#
#
if [ `id -u` -ne 0 ] ; then
echo "You must be root to run $0."
echo "Exit."
exit 1
fi

case "$1" in
start)
if [ -e $PIDFILE ] ; then
echo "Dialin-Server already running ($DIAL_IN_INTERFACE). Exit.";
exit 1
fi
echo -n "Starting Dialin-Server ($DIAL_IN_INTERFACE)... "
$ISDNCTRL addif $DIAL_IN_INTERFACE > /dev/null
$ISDNCTRL eaz $DIAL_IN_INTERFACE $MSN > /dev/null
$ISDNCTRL l2_prot $DIAL_IN_INTERFACE hdlc > /dev/null
$ISDNCTRL l3_prot $DIAL_IN_INTERFACE trans > /dev/null
$ISDNCTRL encap $DIAL_IN_INTERFACE syncppp > /dev/null
$ISDNCTRL ihup $DIAL_IN_INTERFACE off > /dev/null
#
# only
$IFCONFIG $DIAL_IN_INTERFACE $LOCAL_IP netmask $MASK pointopoint $REMOTE_IP up
# adding gateway for remote network
$ROUTE add $REMOTE_IP gw $LOCAL_IP dev $DIAL_IN_INTERFACE
#
#
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j ACCEPT
#echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $DIAL_IN_INTERFACE -j MASQUERADE
#
$IPPPD pidfile $PIDFILE file /etc/ppp/$OPTION_FILE &
echo "Done."
;;
stop)
echo -n "Stopping Dialin-Server ($DIAL_IN_INTERFACE)... "
kill `cat $PIDFILE` > /dev/null
$IFCONFIG $DIAL_IN_INTERFACE down > /dev/null
$ISDNCTRL delif $DIAL_IN_INTERFACE > /dev/null
echo "Done."
;;
esac

geronet
04.12.02, 18:19
>Ich habe gerade festgestellt, dass das Netz des Einwählers ebenfalls 192.168.1.0/24 ist. Die IPs des Server-Netzes sind aber nicht vergeben!

Wenn auf der Serverseite und auf der Clientseite noch ein identisches Subnetz vorhanden ist gibt das Probleme, ist bei uns auch der Fall (ob irgendwelche IP's gleich sind spielt keine Rolle). Die Lösung ist entweder für jede IP eine extra Hostroute mit Gateway zu definieren (sehr umständlich) oder Masqueraden.

Dazu musst du aber in der anderen Richtung masqueraden als du jetzt getan hast, nämlich so:

DIAL_NET="192.168.2.10/255.255.255.255"
# achtung auf die Netzmaske!!!

iptables -t nat -A POSTROUTING --source $DIAL_NET -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

Damit werden den Paketen des einwählendem Rechner die IP vom Server eingesetzt und somit hast du Zugriff auf das Subnet.
Deine Netzmasken bei der Wählleitung sind noch falsch.. nimm 255.255.255.255

Grüsse, Stefan