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: