[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problemy z routingiem



Witam sznownych grupowiczow, mam nastepujacy problem : 2xDSL + LAN -
pierwotnie byl zrobiony load balancing i to dzialalo, ale niektorzy
mieli juz dosc rwanych polaczen, tak wiec postanowilem przpuscic czesc
userow jednym laczem i czesc drugim, tak aby mieli statyczny routing.
Przerobilem nieznacznie skrypt od load balancingu, ale routing nadal
zachowuje sie tak jak by byl balansowany - co widac :

serwer>ip route list table main
80.53.80.144/29 dev eth2  scope link  src 80.53.80.146
80.53.43.136/29 dev eth0  scope link  src 80.53.43.138
192.168.2.0/24 dev eth1  proto kernel  scope link  src 192.168.2.1
127.0.0.0/8 dev lo  scope link
default
        nexthop via 80.53.43.137  dev eth0 weight 1
        nexthop via 80.53.80.145  dev eth2 weight 1

zawartosc skryptu :

IF0=eth1
IF1=eth0
IF2=eth2
IP1=80.53.43.138
IP2=80.53.80.146
P1=80.53.43.137
P2=80.53.80.145
P0_NET=192.168.2.0/24
P1_NET=80.53.43.136/29
P2_NET=80.53.80.144/29

                echo -n "Starting route:"
                echo "Etap 1"
                route add -net 127.0.0.0 netmask 255.0.0.0 dev lo
                ip route add $P1_NET dev $IF1 src $IP1 table N1
                ip route add default via $P1 table N1
                ip route add $P2_NET dev $IF2 src $IP2 table N2
                ip route add default via $P2 table N2
                echo "Etap 2"
                ip route add $P1_NET dev $IF1 src $IP1
                ip route add $P2_NET dev $IF2 src $IP2
                echo "Etap 4"
                ip rule add from $IP1 table N1
                ip rule add from $IP2 table N2
                echo "Etap 5"
                ip rule add fwmark 201 table N1
                ip route add 127.0.0.0/8 dev lo table N1
                ip rule add fwmark 202 table N2
                ip route add 127.0.0.0/8 dev lo table N2
                echo "Etap 6"
                ip route add default scope global nexthop via $P1 \
                dev $IF1 nexthop via $P2 dev $IF2
                echo "Flush"
                ip route flush cache

po usunieciu regulki z etapu 6 nic nie dziala, jak sie moge domyslac
nie ma domyslnego routingu.
dla iptablesa sa dopisane regulki do mark'owania :

    IPUSER=2
    while [ $IPUSER -le 100 ]
    do
        iptables -t mangle -A PREROUTING -s 192.168.2.$IPUSER/32 -j MARK --set-mark 201
    IPUSER=$[IPUSER+1]
    done

    while [ $IPUSER -le 254 ]
    do
        iptables -t mangle -A PREROUTING -s 192.168.2.$IPUSER/32 -j MARK --set-mark 202
    IPUSER=$[IPUSER+1]
    done
    
i nat'owania
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j SNAT --to 80.53.43.138
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth2 -j SNAT --to 80.53.80.146

w skrypcie od routingu w etapie 5 sa regulki od przechwytywania
pakietow mark'owanych.

1) moje pytanine co zmienic/zrobic aby dla ruch nie byl balansowany a
statyczny - tak aby czesc urzytkownikow korzystala z jednego lacza a
druga czesc z drugiego ?
2) przy przelaowywaniu skryptu pokazuje sie komunikat :
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
odnoszacy sir do regulek :
ip route add default via $P1 table N1
ip route add default via $P2 table N2
moze ktos wie o co chodzi ?
3) z serwera mozna pingowac ale nie mozna sie polaczyc z zadnym innym
serwerem, mozliwe ze nie jest to bezposrednio zwiazane z tym
problemem, aczkolwiek nie wiem.

Za wszelkie sugestie/rozwiazania bede niezmiernie wdzieczny.
Pozdrawiam.

Siewa



Reply to: