Freesco, NND, CDN, EOS
http://forum.freesco.pl/

zaawansowany routing
http://forum.freesco.pl/viewtopic.php?f=22&t=9451
Strona 1 z 1

Autor:  tasiorek [ sobota, 15 października 2005, 17:00 ]
Tytuł:  zaawansowany routing

Probowalem zrobic load balancing wedlug tego:
: [/] [] ()
#!/bin/sh -x

IFI=   #interfejs LAN
IPI=   #ip LAN
NMI=  #maska LAN
NWI=  #adres sieci LAN
IFE1=  #interfejs DSL1
IFE2=  #interfejs DSL2
IPE1=  #ip DSL1
IPE2=  #ip DSL2
NWE1=  #siec DSL1
NWE2=  #siec DSL2
NME1=  #maska DSL1
NME2=  #maska DSL2
BRD1=   #adres rozgloszeniowy DSL1
BRD2=   #adres rozgloszeniowy DSL2
GWE1=   #brama DSL1
GWE2=   #brama DSL2

echo 1 >>/proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -j keep_state
iptables -t nat -A POSTROUTING -j keep_state
iptables -t nat -A OUTPUT -j keep_state
iptables -t filter -A INPUT -j keep_state
iptables -t filter -A FORWARD -j keep_state
iptables -t filter -A OUTPUT -j keep_state

iptables -t filter -N keep_state
iptables -t filter -A keep_state -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A keep_state -j RETURN

iptables -t nat -N keep_state
iptables -t nat -A keep_state -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A keep_state -j RETURN


ip link set $IFI up
ip addr add $IPI/$NMI brd + dev $IFI

ip rule add prio 50 table main
ip route del default table main

ip link set $IFE1 up
ip addr flush dev $IFE1
ip addr add $IPE1/$NME1 brd $BRD1 dev $IFE1

ip link set $IFE2 up
ip addr flush dev $IFE2
ip addr add $IPE2/$NME2 brd $BRD2 dev $IFE2

ip rule add prio 201 from $NWE1/$NME1 table 201
ip route add default via $GWE1 dev $IFE1 src $IPE1 proto static table 201
ip route append prohibit default table 201 metric 1 proto static

ip rule add prio 202 from $NWE2/$NME2 table 202
ip route add default via $GWE2 dev $IFE2 src $IPE2 proto static table 202
ip route append prohibit default table 202 metric 1 proto static

ip rule add prio 222 table 222
ip route add default table 222 proto static nexthop via $GWE1 dev $IFE1 nexthop via $GWE2 dev $IFE2

iptables -t nat -A POSTROUTING -o $IFE1 -s $NWI/$NMI -j SNAT --to $IPE1
iptables -t nat -A POSTROUTING -o $IFE2 -s $NWI/$NMI -j SNAT --to $IPE2


i 2 sposób:
: [/] [] ()
#!/bin/sh
IF0=eth2
IF1=eth0
IF2=eth1
IP0=ip serwera na LANie
IP1=ip zewnetrzne dsl1
IP2=ip zewnetrzne dsl2
P1=brama dsl1
P2=brama dsl2
P0_NET=adres LAN
P1_NET=adres dsl1
P2_NET=adres dsl2

ifconfig $IF0 $IP0 broadcast BROADCAST netmask MASKA up
ifconfig $IF1 $IP1 broadcast BROADCAST netmask MASKA up
ifconfig $IF2 $IP2 broadcast BROADCAST netmask MASKA up

echo 1 >>/proc/sys/net/ipv4/ip_forward

ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2

ip route add $P0_NET     dev $IF0 table T1
ip route add $P2_NET     dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo   table T1
ip route add $P0_NET     dev $IF0 table T2
ip route add $P1_NET     dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo   table T2

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

ip route add default scope global nexthop via $P1 dev $IF1 weight 10 nexthop via $P2 dev $IF2 weight 1

#wrzucamy ustawienia tabelek
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2

ip route flush cache

iptables -t nat -A POSTROUTING -s $P0_NET -o $IF1 -j SNAT --to $IP1
iptables -t nat -A POSTROUTING -s $P0_NET -o $IF2 -j SNAT --to $IP2

Nie uzywam net_confa, ani firewalla zciecha (interfejsy sa podnoszone w plikach i na czas testowania zmienilem policy wszystkich lancuchow na accept), dodalem odpowiednie wpisy do /etc/resolv.conf i /etc/iproute2/rt_tables. Balancing lacza dziala ladnie w obydwoch przypadkach, tylko co jakis czas (niereglarnie) polaczenia z NATU sa samoczynncie rozlaczane (gg, irc, counter-strike). Ma ktos pojecie dlaczego tak sie dzieje?

Autor:  -MW- [ sobota, 15 października 2005, 17:17 ]
Tytuł: 

:)

Autor:  tasiorek [ sobota, 15 października 2005, 17:22 ]
Tytuł: 

Nie ma dhcp, ani zadnych dodatkowych uslug. NND jest czysto zainstalowane, i uruchamia sie tylko syslogd, crond i sshd, balancing.

Autor:  tasiorek [ poniedziałek, 17 października 2005, 18:46 ]
Tytuł: 

Zadnych pomyslow? To moze wie ktos gdzie moge szukac pomocy w tej sprawie?

Autor:  -MW- [ poniedziałek, 17 października 2005, 20:38 ]
Tytuł: 

ustawiales recznie na mniejszy czas?


Cytuj:
echo 7200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

Autor:  tasiorek [ poniedziałek, 17 października 2005, 21:10 ]
Tytuł: 

Niestety tez nie to :(. Moje ustawienia (do testow):
: [/] [] ()
echo 8180 > /proc/sys/net/ipv4/ip_conntrack_max
echo 420 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout
echo 1600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
echo 43200 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established


Przy okazji pytanie: Co robi net_conf poza utworzeniem plikow w /etc/network, wpisem to /etc/resolv.conf, ustawieniem nazwy hosta i ustawieniem ladowanie modulow sieciowek?

Autor:  tasiorek [ sobota, 22 października 2005, 16:26 ]
Tytuł: 

Problem rozwiazany. Trzeba spatchowac jadro tym: http://www.ssi.bg/~ja/routes-2.4.29-9.diff patchem.

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/