Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: IP-Балансировка: объединяем несколько интернет-каналов в один  (Прочитано 689 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vismuth

  • Автор темы
  • Активист
  • *
  • Сообщений: 272
    • Просмотр профиля
всем доброе время суток
Я столкнулся с проблемой на UvuntuServer 12.04
Проблемы заключаются несколько, 1 проблема не хочет работать второй порт с интернетом, вторая проблема не хочет раздовать инет другим устройствам которые получают от Wi-Fi Riuter, пинг с пк на сервер идет, а сервер на пк нет

у меня такая сеть, у сервер стоит первым с тремя портами eth0 static раздает на роутер eth1 подключен к beeline DHCP и вход инет с помощью L2TP tp.internet.beeline.ru, eth2 подключен к провайдеру Qwerty через DHCP

Beeline инет работает только у самого сервера, а все остальные интерфейсы нет

вот мои настройки

ifconfig
eth0      Link encap:Ethernet  HWaddr bc:5f:f4:95:a5:b8
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::be5f:f4ff:fe95:a5b8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:560 errors:0 dropped:0 overruns:0 frame:0
          TX packets:931 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:48225 (48.2 KB)  TX bytes:84156 (84.1 KB)
          Interrupt:52 Base address:0x8000

eth1      Link encap:Ethernet  HWaddr 00:15:17:e4:54:48
          inet addr:10.195.50.87  Bcast:255.255.255.255  Mask:255.255.248.0
          UP BROADCAST RUNNING MULTICAST  MTU:576  Metric:1
          RX packets:1179 errors:0 dropped:0 overruns:0 frame:0
          TX packets:147 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:144845 (144.8 KB)  TX bytes:14940 (14.9 KB)
          Interrupt:18 Память:ff6a0000-ff6c0000

eth2      Link encap:Ethernet  HWaddr 00:15:17:e4:54:49
          inet addr:77.41.111.206  Bcast:255.255.255.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:576  Metric:1
          RX packets:51 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4584 (4.5 KB)  TX bytes:1980 (1.9 KB)
          Interrupt:19 Память:ff640000-ff660000

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:356 errors:0 dropped:0 overruns:0 frame:0
          TX packets:356 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:31036 (31.0 KB)  TX bytes:31036 (31.0 KB)

ppp0      Link encap:Протокол PPP (Point-to-Point Protocol)
          inet addr:95.31.42.76  P-t-P:78.107.1.103  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1460  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:40 (40.0 B)  TX bytes:46 (46.0 B)


route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         0.0.0.0         255.255.255.255 UH    0      0        0 eth1
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
10.195.48.0     0.0.0.0         255.255.248.0   U     0      0        0 eth1
77.41.96.0      0.0.0.0         255.255.240.0   U     0      0        0 eth2
78.107.1.0      10.195.48.1     255.255.255.0   UG    0      0        0 eth1
85.21.0.0       10.195.48.1     255.255.255.0   UG    0      0        0 eth1
127.0.0.1       10.195.48.1     255.255.255.255 UGH   0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
213.234.192.8   10.195.48.1     255.255.255.255 UGH   0      0        0 eth1


ip r
0.0.0.0 dev eth1  scope link
default dev ppp0  scope link
10.195.48.0/21 dev eth1  proto kernel  scope link  src 10.195.50.87
77.41.96.0/20 dev eth2  proto kernel  scope link  src 77.41.111.206
78.107.1.0/24 via 10.195.48.1 dev eth1
85.21.0.0/24 via 10.195.48.1 dev eth1
127.0.0.1 via 10.195.48.1 dev eth1
192.168.0.0/24 dev eth0  scope link
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.1
213.234.192.8 via 10.195.48.1 dev eth1

netstat -r
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
default         *               255.255.255.255 UH        0 0          0 eth1
default         *               0.0.0.0         U         0 0          0 ppp0
10.195.48.0     *               255.255.248.0   U         0 0          0 eth1
77.41.96.0      *               255.255.240.0   U         0 0          0 eth2
78.107.1.0      10.195.48.1     255.255.255.0   UG        0 0          0 eth1
85.21.0.0       10.195.48.1     255.255.255.0   UG        0 0          0 eth1
localhost       10.195.48.1     255.255.255.255 UGH       0 0          0 eth1
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
hdns1.corbina.n 10.195.48.1     255.255.255.255 UGH       0 0          0 eth1

/etc/balance/balance
#!/bin/bash

# LAN interface
IF0="eth0"

# WAN interface 1
IF1="ppp0"

# WAN interface 2
IF2="eth2"

IP1="dhcp"
IP2="`ip addr show $IF2 | grep inet | awk '{print $2}'`"

# gateway 1
P1="10.195.48.1"
# gateway 2
P2="77.41.96.1"

# LAN netmask
P0_NET="192.168.0.0/24"
# WAN1 netmask
P1_NET="10.195.48.0/21"
# WAN2 netmask
P2_NET="77.41.96.0/20"


TBL1="provider1"
TBL2="provider2"

# Realtive weight of channels bandwidth
W1="2"
W2="1"

/etc/iproute2/rt_tables
#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
1 provider1
2 provider2


/etc/balance/routing.sh
#!/bin/bash

. /etc/balance/vars

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


ip route add $P1_NET dev $IF1 src $IP1 table $TBL1 > /dev/null 2>&1
ip route add default via $P1 table $TBL1 > /dev/null 2>&1
ip route add $P2_NET dev $IF2 src $IP2 table $TBL2 > /dev/null 2>&1
ip route add default via $P2 table $TBL2 > /dev/null 2>&1

ip route add $P1_NET dev $IF1 src $IP1 > /dev/null 2>&1
ip route add $P2_NET dev $IF2 src $IP2

ip route add default via $P1 > /dev/null 2>&1

ip rule add from $IP1 table $TBL1 > /dev/null 2>&1
ip rule add from $IP2 table $TBL2 > /dev/null 2>&1


ip route add $P0_NET dev $IF0 table $TBL1 > /dev/null 2>&1
ip route add $P2_NET dev $IF2 table $TBL1 > /dev/null 2>&1
ip route add 127.0.0.0/8 dev lo table $TBL1 > /dev/null 2>&1
ip route add $P0_NET dev $IF0 table $TBL2 > /dev/null 2>&1
ip route add $P1_NET dev $IF1 table $TBL2 > /dev/null 2>&1
ip route add 127.0.0.0/8 dev lo table $TBL2 > /dev/null 2>&1

iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s $P0_NET -o $IF1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $P0_NET -o $IF2 -j MASQUERADE


/etc/balance/check.sh
#!/bin/bash

. /etc/balance/vars

OLDIF1=0
OLDIF2=0

. /etc/balance/routing.sh
while true; do


ping -c 3 -s 100 $P1 -I $IF1 > /dev/null
if [ $? -ne 0 ]; then
echo "Failed IF1!"
NEWIF1=0
else
NEWIF1=1
fi

ping -c 3 -s 100 $P2 -I $IF2 > /dev/null
if [ $? -ne 0 ]; then
echo "Failed IF2!"
NEWIF2=0
else
NEWIF2=1
fi

if (( ($NEWIF1!=$OLDIF1) || ($NEWIF2!=$OLDIF2) )); then
echo "Changing routes"

if (( ($NEWIF1==1) && ($NEWIF2==1) )); then
echo "Both channels"
ip route delete default
ip route add default scope global nexthop via $P1 dev $IF1 weight $W1 \
nexthop via $P2 dev $IF2 weight $W2
elif (( ($NEWIF1==1) && ($NEWIF2==0) )); then
echo "First channel"
ip route delete default
ip route add default via $P1 dev $IF1
elif (( ($NEWIF1==0) && ($NEWIF2==1) )); then
echo "Second channel"
ip route delete default
ip route add default via $P2 dev $IF2
fi

else
echo "Not changed"
fi

OLDIF1=$NEWIF1
OLDIF2=$NEWIF2
sleep 3
done


Что я не так делаю? установил xl2tpd настроил работает, установил dnsmasq тоже настроил не рабоатет


BitFenix Shinobi Black / Corsair CX430M 430W / intel S1200RPS / Intel Xeon E3-1220V3 / DDR3L 4x8Gb PC3-12800 / LSI MegaRAID SAS 9240-8i / HDD 4x500Gb RAID10 / HotSwap  Icy DOCK mb994sp-4s 4 /

Оффлайн lirik90

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
извиняюсь, сразу не заметил /etc/balance/routing.sh

кстати у вас в нем прописан . /etc/balance/vars, а сами "var'сы" в /etc/balance/balance - это опечатка ?
и в нём же не нашел iptables -A FORWARD... ?!
« Последнее редактирование: 28 Июня 2013, 17:14:01 от lirik90 »

 

Страница сгенерирована за 0.018 секунд. Запросов: 22.