Mam 3 łącza zewnętrzne od różnych providerów i 6 podsieci na osobnych kartach. Siedzę już jakiś czas i nie chodzi to tak jakbym chciał.
Na każde z łącz ma lecieć inny rodzaj ruchu tzn.
- na jednym monitoring, VoIP, i inne strumieniowe transmisje (bez p2p),
- na drugim usługi ftp, poczta itp,
- trzecie www i np p2p
#!/bin/bash
#adresy do pierszego lacza
INT_WAN_1="eth0" #interfejs do dsl
IP_WAN_1_0="83.xx.xx.224" #adres sieci wan dsl
IP_WAN_1_B="83.xx.xx.225" #brama dsl
IP_WAN_1_1="83.xx.xx.226" #pierwszy adres dsl
#IP_WAN_1_2="xx.xx.xx.4" #drugi adres dsl
#IP_WAN_1_3="xx.xx.xx.5" #trzeci adres dsl
#IP_WAN_1_4="xx.xx.xx.6" #czwarty adres dsl
#IP_WAN_1_5="xx.xx.xx.7" #piaty adres dsl
IP_WAN_1_BR="83.xx.xx.231" #broadcast dsl
MASK_WAN_1="29" #maska sieci dsl
#adresy dla drugiego lacza
INT_WAN_2="eth1" #interfejs do xxx
IP_WAN_2_0="62.xx.xx.xx1" #adres sieci wan xxx
IP_WAN_2_B="62.xx.xx.xx2" #brama xxx
IP_WAN_2_1="62.xx.xx.xx3" #pierwszy adres xxx
IP_WAN_2_BR="62.xx.xx.xx4" #broadcast xxx
MASK_WAN_2="30" #maska sieci xxx
#adresy dla trzeciego lacza
INT_WAN_3="eth2" #interfejs do yyy
IP_WAN_3_0="yy.yy.yy.yy1" #adres sieci wan yyy
IP_WAN_3_B="yy.yy.yy.yy2" #brama yyy
IP_WAN_3_1="yy.yy.yy.yy3" #pierwszy adres yyy
IP_WAN_3_BR="y.yy.yy.yy4" #broadcast yyy
MASK_WAN_3="29" #maska sieci yyy
#siec lokalna 1
INT_LAN_1="eth3" #iterfejs do sieci lokalnej
IP_LAN_1="192.168.10.32" #siec lan
IP_LAN_1_1="192.168.10.33" #adres sieciowki do sieci lokalnej
IP_LAN_1_BR="192.168.10.63" #broadcast lokalnej
MASK_LAN_1="27" #maska sieci lokalnej
#siec lokalna 2
INT_LAN_2="eth4" #iterfejs do sieci lokalnej
IP_LAN_2="192.168.10.96" #siec lan
IP_LAN_2_1="192.168.10.97" #adres sieciowki do sieci lokalnej
IP_LAN_2_BR="192.168.10.127" #broadcast lokalnej
MASK_LAN_2="27" #maska sieci lokalnej
#siec lokalna 3
INT_LAN_3="eth5" #iterfejs do sieci lokalnej
IP_LAN_3="192.168.10.128" #siec lan
IP_LAN_3_1="192.168.10.129" #adres sieciowki do sieci lokalnej
IP_LAN_3_BR="192.168.10.159" #broadcast lokalnej
MASK_LAN_3="27" #maska sieci lokalnej
#siec lokalna 4
INT_LAN_4="eth6" #iterfejs do sieci lokalnej
IP_LAN_4="192.168.10.160" #siec lan
IP_LAN_4_1="192.168.10.161" #adres sieciowki do sieci lokalnej
IP_LAN_4_BR="192.168.10.191" #broadcast lokalnej
MASK_LAN_4="27" #maska sieci lokalnej
#siec lokalna 5
INT_LAN_5="eth7" #iterfejs do sieci lokalnej
IP_LAN_5="192.168.10.192" #siec lan
IP_LAN_5_1="192.168.10.193" #adres sieciowki do sieci lokalnej
IP_LAN_5_BR="192.168.10.223" #broadcast lokalnej
MASK_LAN_5="27" #maska sieci lokalnej
#siec lokalna 6
INT_LAN_6="eth8" #iterfejs do sieci lokalnej
IP_LAN_6="192.168.10.224" #siec lan
IP_LAN_6_1="192.168.10.225" #adres sieciowki do sieci lokalnej
IP_LAN_6_BR="192.168.10.255" #broadcast lokalnej
MASK_LAN_6="27" #maska sieci lokalnej
#czyszczenie
echo "### Czyszczenie i wylaczanie sieciowek ###"
ip route flush all
ip link set lo down
ip link set $INT_WAN_1 down
ip link set $INT_WAN_2 down
ip link set $INT_WAN_3 down
ip link set $INT_LAN_1 down
ip link set $INT_LAN_2 down
ip link set $INT_LAN_3 down
ip link set $INT_LAN_4 down
ip link set $INT_LAN_5 down
ip link set $INT_LAN_6 down
echo "### Podnoszenie lo ###"
ip link set lo up
ip addr add 127.0.0.1/8 dev lo
echo "### Podnoszenie sieciowki do sieci lokalnej 1 ###"
ip link set $INT_LAN_1 up
ip addr add $IP_LAN_1_1/$MASK_LAN_1 broadcast $IP_LAN_1_BR dev $INT_LAN_1
echo "### Podnoszenie sieciowki do sieci lokalnej 2 ###"
ip link set $INT_LAN_2 up
ip addr add $IP_LAN_2_1/$MASK_LAN_2 broadcast $IP_LAN_2_BR dev $INT_LAN_2
echo "### Podnoszenie sieciowki do sieci lokalnej 3 ###"
ip link set $INT_LAN_3 up
ip addr add $IP_LAN_3_1/$MASK_LAN_3 broadcast $IP_LAN_3_BR dev $INT_LAN_3
echo "### Podnoszenie sieciowki do sieci lokalnej 4 ###"
ip link set $INT_LAN_4 up
ip addr add $IP_LAN_4_1/$MASK_LAN_4 broadcast $IP_LAN_4_BR dev $INT_LAN_4
echo "### Podnoszenie sieciowki do sieci lokalnej 5 ###"
ip link set $INT_LAN_5 up
ip addr add $IP_LAN_5_1/$MASK_LAN_5 broadcast $IP_LAN_5_BR dev $INT_LAN_5
echo "### Podnoszenie sieciowki do sieci lokalnej 6 ###"
ip link set $INT_LAN_6 up
ip addr add $IP_LAN_6_1/$MASK_LAN_6 broadcast $IP_LAN_6_BR dev $INT_LAN_6
echo "### Podnoszenie sieciowki dla pierwszego lacza ###"
ip link set $INT_WAN_1 up
ip addr add $IP_WAN_1_1/$MASK_WAN_1 broadcast $IP_WAN_1_BR dev $INT_WAN_1
#ip addr add $IP_WAN_1_2/$MASK_WAN_1 broadcast $IP_WAN_1_BR dev $INT_WAN_1
#ip addr add $IP_WAN_1_3/$MASK_WAN_1 broadcast $IP_WAN_1_BR dev $INT_WAN_1
#ip addr add $IP_WAN_1_4/$MASK_WAN_1 broadcast $IP_WAN_1_BR dev $INT_WAN_1
#ip addr add $IP_WAN_1_5/$MASK_WAN_1 broadcast $IP_WAN_1_BR dev $INT_WAN_1
echo "### Podnoszenie sieciowki dla drugiego lacza ###"
ip link set $INT_WAN_2 up
ip addr add $IP_WAN_2_1/$MASK_WAN_2 broadcast $IP_WAN_2_BR dev $INT_WAN_2
echo "### Podnoszenie sieciowki dla trzeciego lacza ###"
ip link set $INT_WAN_3 up
ip addr add $IP_WAN_3_1/$MASK_WAN_3 broadcast $IP_WAN_3_BR dev $INT_WAN_3
ip route flush table 201
ip route flush table 202
ip route flush table 203
echo "### Trasowanie ###"
# 3 trasy do dwoch bram
ip route add $IP_WAN_1_0 dev $INT_WAN_1 src $IP_WAN_1_1 table 201
ip route add default via $IP_WAN_1_B table 201
ip route add $IP_WAN_2_0 dev $INT_WAN_2 src $IP_WAN_2_1 table 202
ip route add default via $IP_WAN_2_B table 202
ip route add $IP_WAN_3_0 dev $INT_WAN_3 src $IP_WAN_3_1 table 203
ip route add default via $IP_WAN_3_B table 203
#
##pakiety z sieci danego wan wysylamy na jego gateway
ip route add $IP_WAN_1_0 dev $INT_WAN_1 src $IP_WAN_1_1
ip route add $IP_WAN_2_0 dev $INT_WAN_2 src $IP_WAN_2_1
ip route add $IP_WAN_3_0 dev $INT_WAN_3 src $IP_WAN_3_1
#
##trasa domyslna (tam lądują nie markowane pakiety) - na 3 lacze
ip route add default via $IP_WAN_3_B
#
##konfiguracja tablic routingu
ip rule add from $IP_WAN_1_1 table 201
ip rule add from $IP_WAN_2_1 table 202
ip rule add from $IP_WAN_3_1 table 203
#
ip route add $IP_LAN_1/$MASK_LAN_1 dev $INT_LAN_1 table 201
ip route add $IP_LAN_2/$MASK_LAN_2 dev $INT_LAN_2 table 201
ip route add $IP_LAN_3/$MASK_LAN_3 dev $INT_LAN_3 table 201
ip route add $IP_LAN_4/$MASK_LAN_4 dev $INT_LAN_4 table 201
ip route add $IP_LAN_5/$MASK_LAN_5 dev $INT_LAN_5 table 201
ip route add $IP_LAN_6/$MASK_LAN_6 dev $INT_LAN_6 table 201
ip route add $IP_WAN_2_0/$MASK_WAN_2 dev $INT_WAN_2 table 201
ip route add $IP_WAN_3_0/$MASK_WAN_3 dev $INT_WAN_3 table 201
ip route add 127.0.0.0/8 dev lo table 201
ip route add $IP_LAN_1/$MASK_LAN_1 dev $INT_LAN_1 table 202
ip route add $IP_LAN_2/$MASK_LAN_2 dev $INT_LAN_2 table 202
ip route add $IP_LAN_3/$MASK_LAN_3 dev $INT_LAN_3 table 202
ip route add $IP_LAN_4/$MASK_LAN_4 dev $INT_LAN_4 table 202
ip route add $IP_LAN_5/$MASK_LAN_5 dev $INT_LAN_5 table 202
ip route add $IP_LAN_6/$MASK_LAN_6 dev $INT_LAN_6 table 202
ip route add $IP_WAN_1_0/$MASK_WAN_1 dev $INT_WAN_1 table 202
ip route add $IP_WAN_3_0/$MASK_WAN_3 dev $INT_WAN_3 table 202
ip route add 127.0.0.0/8 dev lo table 202
ip route add $IP_LAN_1/$MASK_LAN_1 dev $INT_LAN_1 table 203
ip route add $IP_LAN_2/$MASK_LAN_2 dev $INT_LAN_2 table 203
ip route add $IP_LAN_3/$MASK_LAN_3 dev $INT_LAN_3 table 203
ip route add $IP_LAN_4/$MASK_LAN_4 dev $INT_LAN_4 table 203
ip route add $IP_LAN_5/$MASK_LAN_5 dev $INT_LAN_5 table 203
ip route add $IP_LAN_6/$MASK_LAN_6 dev $INT_LAN_6 table 203
ip route add $IP_WAN_1_0/$MASK_WAN_1 dev $INT_WAN_1 table 203
ip route add $IP_WAN_2_0/$MASK_WAN_2 dev $INT_WAN_2 table 203
ip route add 127.0.0.0/8 dev lo table 203
#
#echo "Markowanie pakietow"
ip rule add fwmark 0x997 table 201
ip rule add fwmark 0x998 table 202
ip rule add fwmark 0x999 table 203
# prezkierowanie zamarkowanych
ip rule add from $IP_LAN_1/$MASK_LAN_1 fwmark 0x997 lookup 201
ip rule add from $IP_LAN_2/$MASK_LAN_2 fwmark 0x997 lookup 201
ip rule add from $IP_LAN_3/$MASK_LAN_3 fwmark 0x997 lookup 201
ip rule add from $IP_LAN_4/$MASK_LAN_4 fwmark 0x997 lookup 201
ip rule add from $IP_LAN_5/$MASK_LAN_5 fwmark 0x997 lookup 201
ip rule add from $IP_LAN_6/$MASK_LAN_6 fwmark 0x997 lookup 201
ip rule add from $IP_LAN_1/$MASK_LAN_1 fwmark 0x997 lookup 202
ip rule add from $IP_LAN_2/$MASK_LAN_2 fwmark 0x998 lookup 202
ip rule add from $IP_LAN_3/$MASK_LAN_3 fwmark 0x998 lookup 202
ip rule add from $IP_LAN_4/$MASK_LAN_4 fwmark 0x998 lookup 202
ip rule add from $IP_LAN_5/$MASK_LAN_5 fwmark 0x998 lookup 202
ip rule add from $IP_LAN_6/$MASK_LAN_6 fwmark 0x998 lookup 202
ip rule add from $IP_LAN_1/$MASK_LAN_1 fwmark 0x999 lookup 203
ip rule add from $IP_LAN_2/$MASK_LAN_2 fwmark 0x999 lookup 203
ip rule add from $IP_LAN_3/$MASK_LAN_3 fwmark 0x999 lookup 203
ip rule add from $IP_LAN_4/$MASK_LAN_4 fwmark 0x999 lookup 203
ip rule add from $IP_LAN_5/$MASK_LAN_5 fwmark 0x999 lookup 203
ip rule add from $IP_LAN_6/$MASK_LAN_6 fwmark 0x999 lookup 203
# wyczyszczenie pamieci cache rutingu
ip route flush cache
w iptables mam markowanie do odpowiednich tabel.
Bazowałem na opisie z forum nice jednak tam naniosłem poprawki
http://forum.niceshaper.jedwabny.net/viewtopic.php?t=815&postdays=0&postorder=asc&highlight=todev&start=15.
Czy prawidłowo mam porobioną konfigurację tablic routingu? Nie jestem pewny czy np w tablicy 201 ma znaleźć się WAN_2 i WAN_3.