LINUX.ORG.RU
ФорумAdmin

Маршрутизация между двумя провайдерами. Связываем интерфейсы.


0

1

Схема - http://pics.kz/i2/3c/3c/3c3c5843ced8124deb7d892769aba227.jpg

Сеть.
eth0 - 10.0.0.0/8

M1.
eth0 - 10.3.1.250
eth1 - 10.5.1.250
eth2 - 10.5.2.250

M2.
eth1 - 10.5.1.2
eth2 - 10.5.2.2
eth3 - x.x.x.x/29 - алиасами еще 5 интерфейсов
eth4 - 172.16.101.1 - алиасами еще 4 интерфейса (смотрят на модемы)
Цель: настроить маршрутизацию на M2. С eth1 должно уходить на eth3 и наоборот с eth3 на eth1. С eth2 должно уходить на eth4 и наоборот с eth4 на eth2.

Раньше было вместо M2 две отдельных машины, соответвтенно 2 разные таблицы маршрутизации, теперь все это дело слилось в одну машину... Пробовал метить, пробовал маршрутизировать по сорсу... либо один пров доступен, либо другой.

Помогите! Помощь принимается даже в картинках и морально.

показывай ip rule, ip route в каждой таблице. Ну и iptables конечно

Pinkbyte ★★★★★ ()
M1.
----------------------------------------
xxx@gateway:~$ ip route
10.6.1.0/24 dev eth2  proto kernel  scope link  src 10.6.1.250
10.5.1.0/24 dev eth0  proto kernel  scope link  src 10.5.1.250
10.5.2.0/24 dev eth0  proto kernel  scope link  src 10.5.2.250

x.x.x.128/29 via 10.5.1.2 dev eth0 - диапазон наших адресов выданных первым провом через eth0 (на графике будет eth1)
y.y.y.0/24 via 10.5.2.2 dev eth0 - диапазоны адресов второго прова через eth0:1 (на графике будет eth2)
...
y.y.y.0/23 via 10.5.2.2 dev eth0

10.3.0.0/16 dev eth1  proto kernel  scope link  src 10.3.1.250
10.10.0.0/16 via 10.3.1.1 dev eth1 - сеть юзеров (на графике будет eth0)
172.16.0.0/16 via 10.5.2.2 dev eth0 - для модемов, которые висят на M2 (eth0:1)

default via 10.5.1.2 dev eth0 - посылаем остальное в тырнет, через первого провайдера (eth0)
------------------------------------------

------------------------------------------
ifconfig M1
eth0      Link encap:Ethernet  HWaddr 50:e5:49:44:43:7d
          inet addr:10.5.1.250  Bcast:10.5.1.255  Mask:255.255.255.0
...

eth0:1    Link encap:Ethernet  HWaddr 50:e5:49:44:43:7d
          inet addr:10.5.2.250  Bcast:10.5.2.255  Mask:255.255.255.0
...

eth1      Link encap:Ethernet  HWaddr 90:e2:ba:05:66:36
          inet addr:10.3.1.250  Bcast:10.3.255.255  Mask:255.255.0.0
...

eth2      Link encap:Ethernet  HWaddr 90:e2:ba:05:66:37
          inet addr:10.6.1.250  Bcast:10.6.1.255  Mask:255.255.255.0
...

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
...
------------------------------------------

------------------------------------------
gateway:/home/xxx# ip rule
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default
------------------------------------------

------------------------------------------
gateway:/home/xxx# iptables -vnL
Chain INPUT (policy DROP 1004 packets, 32856 bytes)
 pkts bytes target     prot opt in     out     source               destination
1353K 2001M ACCEPT     udp  --  *      *       10.5.1.2             0.0.0.0/0           udp dpt:9996
65234   80M ACCEPT     udp  --  *      *       10.5.2.2             0.0.0.0/0           udp dpt:9996
1123K  197M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
1063K   76M ACCEPT     udp  --  *      *       10.0.0.0/8           0.0.0.0/0           multiport dports 53,67,123
27190 3738K ACCEPT     udp  --  *      *       10.3.0.0/16          0.0.0.0/0           multiport dports 69,162,514
 4266  223K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
51354 2566K ACCEPT     tcp  --  *      *       10.0.0.0/8           0.0.0.0/0           tcp dpt:80
13244 1309K ACCEPT     udp  --  *      *       10.6.1.254           0.0.0.0/0           udp dpt:161
  826 49560 ACCEPT     tcp  --  *      *       10.6.1.254           0.0.0.0/0           tcp dpt:8557
 5274  267K ACCEPT     tcp  --  *      *       10.0.0.0/8           0.0.0.0/0           tcp dpt:53
   37  1784 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 match-set access_set src
   10   600 ACCEPT     icmp --  *      *       10.0.0.0/8           0.0.0.0/0
    7   853 ACCEPT     all  --  eth2   *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 220K packets, 18M bytes)
 pkts bytes target     prot opt in     out     source               destination
  11M  560M DROP       all  --  *      *       0.0.0.0/0           !10.0.0.0/8          ctstate NEW limit: above 200/sec burst 5 mode srcip
 1638 84197 ACCEPT     all  --  *      *       0.0.0.0/0            10.4.1.249          match-set access_set src
    0     0 DROP       all  --  *      *       10.10.0.0/16         10.4.1.249
 5467  356K ACCEPT     tcp  --  *      *       0.0.0.0/0            10.6.1.254          tcp dpt:3306 match-set access_set src
    0     0 DROP       tcp  --  *      *       10.10.0.0/16         10.6.1.254          tcp dpt:3306
    8   448 DROP       all  --  *      *       192.168.0.0/16       0.0.0.0/0
1609K  129M DROP       all  --  *      *       0.0.0.0/0            192.168.0.0/16
   38  4104 ACCEPT     all  --  eth1   *       0.0.0.0/0            172.16.0.0/12       match-set admin_set src
 114K 9138K DROP       all  --  eth1   *       0.0.0.0/0            172.16.0.0/12
 276M  246G ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
 253M   57G ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           match-set granted_list src
3391K 4911M ACCEPT     all  --  eth2   *       0.0.0.0/0            0.0.0.0/0
 111K 8220K ACCEPT     all  --  eth1   *       0.0.0.0/0            10.0.0.0/8          match-set local_list src
 332K   29M ACCEPT     all  --  eth1   *       10.3.0.0/16          0.0.0.0/0
15102  949K ACCEPT     all  --  eth1   *       10.4.0.0/16          0.0.0.0/0
------------------------------------------
DimOriN ()
M2.1 Машина пров первый.
------------------------------------------
root@inet:/home/xxx# ip rule
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default
------------------------------------------
------------------------------------------
root@inet:/home/xxx# ip route
x.x.x.128/29 dev eth3  proto kernel  scope link  src x.x.x.130
10.5.1.0/24 dev eth1  proto kernel  scope link  src 10.5.1.2
10.0.0.0/8 via 10.5.1.250 dev eth1 - смотрит на M1
default via x.x.x.129 dev eth3  src x.x.x.130
------------------------------------------
------------------------------------------
root@inet:/home/xxx# iptables -vnL
Chain INPUT (policy ACCEPT 33M packets, 2213M bytes)
 pkts bytes target     prot opt in     out     source               destination
  272 22394 ACCEPT     tcp  --  *      *       10.5.1.250           10.5.1.2            tcp dpt:22
   23  1160 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 flags:0x17/0x02 recent: SET name: sshSEC side: source state NEW
    0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 recent: UPDATE seconds: 60 hit_count: 3 TTL-Match name: sshSEC side: source LOG flags 0 level 4 prefix `BRUTE FORCE'
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 recent: UPDATE seconds: 60 hit_count: 3 TTL-Match name: sshSEC side: source

Chain FORWARD (policy ACCEPT 364M packets, 182G bytes)
 pkts bytes target     prot opt in     out     source               destination
 5274  380K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|7fffffffab|" ALGO name bm FROM 40 TO 44
  851 42528 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|7fffffff00032000|" ALGO name bm FROM 36 TO 43
3902K  228M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|0000000000380000|" ALGO name bm FROM 36 TO 45
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/8
    0     0 DROP       all  --  *      *       0.0.0.0/0            127.0.0.0/8
    0     0 DROP       all  --  *      *       0.0.0.0/0            255.255.255.255
    0     0 DROP       all  --  *      *       0.0.0.0/0            224.0.0.0/4
    0     0 DROP       all  --  *      *       0.0.0.0/0            240.0.0.0/5
    0     0 DROP       all  --  *      *       0.0.0.0/0            239.255.255.0/24
    2  2900 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x3F
   12 12024 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x00
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 17
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 13
    0     0 DROP       icmp -f  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 34M packets, 4503M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 22,23
------------------------------------------
------------------------------------------
root@inet:/home/gonarh# ifconfig
eth1      Link encap:Ethernet  HWaddr 6c:f0:49:77:f9:64
          inet addr:10.5.1.2  Bcast:10.5.1.255  Mask:255.255.255.0
...

Адреса выданные нам провом.
eth3:0    Link encap:Ethernet  HWaddr 5c:d9:98:f7:d1:53
          inet addr:x.x.x.130  Bcast:x.x.x.135  Mask:255.255.255.248
...

eth3:1    Link encap:Ethernet  HWaddr 5c:d9:98:f7:d1:53
          inet addr:x.x.x.131  Bcast:x.x.x.135  Mask:255.255.255.248
...

eth3:2    Link encap:Ethernet  HWaddr 5c:d9:98:f7:d1:53
          inet addr:x.x.x.132  Bcast:x.x.x.135  Mask:255.255.255.248
...

eth3:3    Link encap:Ethernet  HWaddr 5c:d9:98:f7:d1:53
          inet addr:x.x.x.133  Bcast:x.x.x.135  Mask:255.255.255.248
...

eth3:4    Link encap:Ethernet  HWaddr 5c:d9:98:f7:d1:53
          inet addr:x.x.x.134  Bcast:x.x.x.135  Mask:255.255.255.248
...

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
...
------------------------------------------
DimOriN ()
M2.2 - Машина с другим провом
------------------------------------------
root@inet-kzt:/home/xxx# ip rule
0:      from all lookup local
32765:  from 10.6.1.253 lookup games - для гамеров из тырнета
32766:  from all lookup main
32767:  from all lookup default
------------------------------------------
------------------------------------------
root@inet-kzt:/home/xxx# ip route
172.16.101.0/24 dev eth1  proto kernel  scope link  src 172.16.101.2 - для каждого модема отдельно (ip модемов 172.16.10x.1)
172.16.103.0/24 dev eth1  proto kernel  scope link  src 172.16.103.2
172.16.102.0/24 dev eth1  proto kernel  scope link  src 172.16.102.2
172.16.105.0/24 dev eth1  proto kernel  scope link  src 172.16.105.2
172.16.104.0/24 dev eth1  proto kernel  scope link  src 172.16.104.2
10.5.2.0/24 dev eth0  proto kernel  scope link  src 10.5.2.2
y.y.y.0/24 via 172.16.105.1 dev eth1 - распределяем нагрузку по модемам
y.y.y.0/23 via 172.16.104.1 dev eth1
y.y.y.0/19 via 172.16.103.1 dev eth1
...
default via 10.5.2.250 dev eth0
------------------------------------------
------------------------------------------
root@inet-kzt:/home/xxx# iptables -vnL
Chain INPUT (policy ACCEPT 32532 packets, 4800K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       10.5.2.250           10.5.2.2            tcp dpt:22
    5   248 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 flags:0x17/0x02 recent: SET name: sshSEC side: source state NEW
    0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 recent: UPDATE seconds: 60 hit_count: 3 TTL-Match name: sshSEC side: source LOG flags 0 level 4 prefix `BRUTE FORCE'
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 recent: UPDATE seconds: 60 hit_count: 3 TTL-Match name: sshSEC side: source

Chain FORWARD (policy ACCEPT 171M packets, 129G bytes)
 pkts bytes target     prot opt in     out     source               destination
 737K   43M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|0000000000380000|" ALGO name bm FROM 36 TO 45
  851  101K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|7fffffffab|" ALGO name bm FROM 40 TO 44
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           STRING match "|7fffffff00032000|" ALGO name bm FROM 36 TO 43
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/8
    0     0 DROP       all  --  *      *       0.0.0.0/0            127.0.0.0/8
    0     0 DROP       all  --  *      *       0.0.0.0/0            255.255.255.255
    0     0 DROP       all  --  *      *       0.0.0.0/0            224.0.0.0/4
    0     0 DROP       all  --  *      *       0.0.0.0/0            240.0.0.0/5
    0     0 DROP       all  --  *      *       0.0.0.0/0            239.255.255.0/24
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x3F
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x00
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 17
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0           icmp type 13
    0     0 DROP       icmp -f  *      *       0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 87879 packets, 84M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 22,23
------------------------------------------
DimOriN ()

Выше - нынешний вариант работы M1 + две отдельных машины. Вместо двух нужно сделать одну.

DimOriN ()

Не увидел в вашем «ip rule» сорсовой маршрутизации. Но если между интерфейсами, то тогда надо:

«ip rule add dev eth1 table X»

«ip route add default via x.x.x.129 dev eth3 table X»

И так далее.

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.