URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 28884
[ Назад ]

Исходное сообщение
"EQL - мультилинк на двух модемах ПОМОГИТЕ"

Отправлено korvin1975 , 15-Апр-03 16:54 
Поднят мультилинк на двух модемах с помощью EQL.
Проблема в следующем отправка идет по двум модемам, а прием только по одному. Если кто сталкивался подскажите.Скрипт для создания EQL интерфейса:
#!/bin/sh
rppp0=`/usr/local/bin/getpppinfo -r ppp0`
rppp1=`/usr/local/bin/getpppinfo -r ppp1`
maxtries=3
while [ $maxtries -gt 0 ]
do
  if [ "x$rppp0" = "x" -o "x$rppp1" = "x" ]; then
    if [ "x$rppp0" = "x" ]; then
      set_ppp0=ppp0
      if [ -r /var/run/ppp0.pid ]; then
          kill -INT `cat /var/run/ppp0.pid`
      fi
      i=0  
      echo `date '+%D %X'` "Restarting ppp0"
      /usr/sbin/ppp-on-ttyS0
      while [ $i -lt 15 ]
      do
          sleep 15
          i=`expr $i + 1`
          rppp0=`/usr/local/bin/getpppinfo -r ppp0`
          if [ "x$rppp0" != "x" ]; then
              i=15
          fi
      done
    fi
    if [ "x$rppp1" = "x" ]; then
      set_ppp1=ppp1
      if [ -r /var/run/ppp1.pid ]; then
          kill -INT `cat /var/run/ppp1.pid`
      fi
      i=0  
      echo `date '+%D %X'` "Restarting ppp1"
      /usr/sbin/ppp-on-ttyS1
      while [ $i -lt 15 ]
      do
          sleep 15
          i=`expr $i + 1`
          rppp1=`/usr/local/bin/getpppinfo -r ppp1`
          if [ "x$rppp1" != "x" ]; then
              i=15
          fi
      done
    fi
    maxtries=`expr $maxtries - 1`
  else
    maxtries=0
  fi
done
if [ "x$rppp0" != "x" -a "x$rppp1" != "x" ]; then
  echo "========================================================"
  if [ "x$set_ppp0" != "x" -o "x$set_ppp1" != "x" ]; then
    lppp=`/usr/local/bin/getpppinfo -l ppp0`
    /sbin/route del `/usr/local/bin/getpppinfo -r ppp0`
    /sbin/route del `/usr/local/bin/getpppinfo -r ppp1`
    /sbin/route del `/usr/local/bin/getpppinfo -l ppp0`
    /sbin/route del `/usr/local/bin/getpppinfo -l ppp1`
    /sbin/route del default
    /sbin/ifconfig eql $lppp mtu 1500
    /usr/local/bin/eql_enslave eql ppp0 57600
    /usr/local/bin/eql_enslave eql ppp1 57600
    /sbin/route add -host $lppp eql
    /sbin/route add default gw $lppp eql
    /sbin/route
    echo `date '+%D %X'` "eql established"
    #echo "Restored eql for $set_ppp0 $set_ppp1" | mail -s "eql $lppp" eqlplus@sample.com
  fi
  ping -nqc 1 $rppp0
  ping -nqc 1 $rppp1
fi

Мультилинк провайдер поддерживает. Еще один момент если оваливается ppp0 то естественно повисает ppp1 так как он работает только на передачу.


Содержание

Сообщения в этом обсуждении
"EQL - мультилинк на двух модемах ПОМОГИТЕ"
Отправлено Z0termaNN , 16-Апр-03 00:47 
я бы на твоем месте не мучался и сделал бы все через ip route multipath,
т.к. особого смысла в eql в ядрах, начиная с 2.2 особого нет, кроме случая,
когда с другой стороны стоит какая-то посторонняя железка типа циски.

"EQL - мультилинк на двух модемах ПОМОГИТЕ"
Отправлено korvin1975 , 16-Апр-03 10:56 
Но все-таки может быть кто-нибудь сталкивался с такой проблемой.


"EQL - мультилинк на двух модемах ПОМОГИТЕ"
Отправлено korvin1975 , 17-Апр-03 07:27 
Кстати а по ip route приемлемая документация на русском есть?

"EQL - мультилинк на двух модемах ПОМОГИТЕ"
Отправлено AS , 19-Апр-03 10:28 
С помощью iproute2 ты только сможешь добиться разделения каналов по задачам, интерфейсам.