Opis jak uruchomic 2 dsl na nnd z jajkiem 2.4.31 (big thx MAC!EK i broken).
Instalujemy kernela i iptables z repozytorium testowego.
W net_conf konfigurujemy jednego dsla i 2 podsieci. Pozniej zmiana ip i maski na te z 2 dsla w /etc/network/internal/eth1.
Pozniej dopisujemy do pliku /etc/iproute2/rt_tables:
201 T1
202 T2
Wylaczamy maskarade w pliku /etc/iptables/firewall (NETWORK=0). Haszujemy linijke zawierajaca route add w /etc/network/external/rc.dsl
Kopiujemy skrypt:
#!/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
# teraz tworzenie dwoch tablic
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
#tworzenie odwolan do sieci lokalnej
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
#dodanie tras powrotnych
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2 #tu wyskakuje blad
#dodanie dwoch bram domyslnych.
#parametr weight okresla wage interfejsu w przesylaniu danych
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
#przypisanie pakietow do tabel
ip rule add fwmark 0x2 table T2
ip rule add fwmark 0x1 table T1
#flushowanie cache-u..
ip route flush cache
#tworzenie NAT
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
#oznaczenie uslug ktore maja domyslnie isc jednym z lacz 0x1 dsl1 0x2 dsl2
iptables -t mangle -A PREROUTING -m ipp2p --ipp2p -s $P0_NET -j MARK --set-mark 0x2
iptables -t mangle -A PREROUTING -m ipp2p --ipp2p-data -s $P0_NET -j MARK --set-mark 0x2
Metoda na pewno nie jest doskonala, ale u mnie dziala.
Problemy: W zaznaczonym w skrypcie miejscu wyskakuje blad: RTNETLINK answers: File exists (ale mimo to wszystko dziala).
Niceshaper obcina ruch na obydwoch laczach (a podobno tego sie nie da zrobic), wie ktos jak skonfigurowac niceshapera, zeby na dsl2 wprowadzic totalna anarchie? Konfig pozostal taki sam jak przy 1 dsl.