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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Триколор интернет в Ubuntu 9.10  (Прочитано 44363 раз)

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

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #120 : 14 Мая 2010, 10:18:11 »
Поменяй местами что бы было как у тебя раньше
ifconfig dvb0_0 $IP
ifconfig dvb0_0 hw ether $MAC

И не забывай sudo tricolor stop, а то вновь будут dvb0_1, dvb0_2, dvb0_3.
xUbuntu 12.04

Оффлайн Zurik

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #121 : 14 Мая 2010, 10:27:26 »
zurik@MSI-P965:~$ sudo '/usr/bin/tricolor' start
starting tricolor...
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0

DVB Network Interface Manager
Copyright (C) 2003, TV Files S.p.A

Status: device dvb0_0 for pid 1000 created successfully.
SIOCSIFFLAGS: Невозможно назначить запрошенный адрес
zurik@MSI-P965:~$ FE_SET_PROPERTY failed: Invalid argument

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #122 : 14 Мая 2010, 10:33:07 »
Значит было правильно, возвращай назад.
И проверь что там с MAK , может где очепятка?
« Последнее редактирование: 14 Мая 2010, 10:36:24 от Упс »
xUbuntu 12.04

Оффлайн Zurik

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #123 : 14 Мая 2010, 10:35:08 »
сделано

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #124 : 14 Мая 2010, 10:38:07 »
Ну и что теперь пишет?
xUbuntu 12.04

Оффлайн Zurik

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #125 : 14 Мая 2010, 10:39:53 »
zurik@MSI-P965:~$ sudo '/usr/bin/tricolor' start
starting tricolor...
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0

DVB Network Interface Manager
Copyright (C) 2003, TV Files S.p.A

Status: device dvb0_0 for pid 1000 created successfully.
zurik@MSI-P965:~$ FE_SET_PROPERTY failed: Invalid argument


Пользователь решил продолжить мысль 14 Мая 2010, 08:42:27:
этот мак из винды,там юзал инет спокойно

Пользователь решил продолжить мысль 14 Мая 2010, 10:53:53:
пересчитал,всё верно
« Последнее редактирование: 14 Мая 2010, 10:53:53 от Zurik »

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #126 : 14 Мая 2010, 10:55:16 »
На всякий случай вот под этой строкой набири руками тоже самое только без кавычек, а потом удали или закоментируй первую строку.
#MAC="00:02:0A:10:27:C0"

MAC=00:02:0A:10:27:C0

Где-то очепятка или что-то подобное.
xUbuntu 12.04

Оффлайн Zurik

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #127 : 14 Мая 2010, 11:00:32 »
#!/bin/sh

PATH=/usr/sbin:/usr/bin:/sbin:/bin
IP="192.168.100.1"
PID="0x3e8"
MAC="00:02:0A:10:27:C0"
MAC=00:02:0A:10:27:C0
NAME=`basename $0`
CHANNELS_CONF="/etc/tricolor.conf"       

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #128 : 14 Мая 2010, 11:05:36 »
Первый MAK закоментируй и запускай, посмотрим что напишет.
xUbuntu 12.04

Оффлайн Zurik

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #129 : 14 Мая 2010, 11:16:54 »
urik@MSI-P965:~$ sudo '/usr/bin/tricolor' start
[sudo] password for zurik:
starting tricolor...
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0

DVB Network Interface Manager
Copyright (C) 2003, TV Files S.p.A

Status: device dvb0_0 for pid 1000 created successfully.
zurik@MSI-P965:~$ FE_SET_PROPERTY failed: Invalid argument

баз результатов,могу ip написать с которого считал

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #130 : 14 Мая 2010, 11:34:59 »
Цитировать
баз результатов,могу ip написать с которого считал
Мне это ничего не скажет, триколором не пользуюсь.
Сейчас у себя посмотрел, кавычек нет ни в одном скрипте, ни на PID, ни IP, ни MAK.
Теперь про вот эти две строчки
ifconfig dvb0_0 $IP
ifconfig dvb0_0 hw ether $MAC
в каких-то дровах для каких-то dvb-s2 такая фича что нужно первым мак скармливать, а потом ip.
В общем попробуй написать ip и mak без кавычек и попробуй присвоить сначала mak потом ip и наоборот.
Если mak правильно посчитан должно работать.
К сожалению должен до вечера попрощаться.
xUbuntu 12.04

Оффлайн Zurik

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #131 : 14 Мая 2010, 11:40:30 »
ладно давай до вечера))
и на этом СПАСИБО
пищи для мозга мне подкинул!

Пользователь решил продолжить мысль 14 Мая 2010, 09:48:22:
нихера не получается,всё то же
starting tricolor...
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0

DVB Network Interface Manager
Copyright (C) 2003, TV Files S.p.A

Status: device dvb0_0 for pid 1000 created successfully.
zurik@MSI-P965:~$ FE_SET_PROPERTY failed: Invalid argument

Пользователь решил продолжить мысль 14 Мая 2010, 12:03:09:
zurik@MSI-P965:~$ sudo '/usr/bin/tricolor' start
starting tricolor...
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0

DVB Network Interface Manager
Copyright (C) 2003, TV Files S.p.A

Status: device dvb0_0 for pid 1000 created successfully.

вот )))) это значит стартанул?
« Последнее редактирование: 14 Мая 2010, 12:03:09 от Zurik »

Оффлайн borkvt

  • Участник
  • *
  • Сообщений: 212
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #132 : 14 Мая 2010, 14:01:31 »
femon послe зaпускa скриптa-посмотри сигнaл eсть или нeт?
« Последнее редактирование: 14 Мая 2010, 15:45:09 от borkvt »
Intel(R) Pentium(R) Dual  CPU  E8500  @ 3.16GHzTT-Budget-S-1401  PCI.\.PROF 7300 DVB-S/S2 HUAWEI -156  GeForse gt-240 \ asus p5q .Нeвинномысск XBMC+HTS Tvheadend ubuntu 11.04 и 12.04
64 бит

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #133 : 14 Мая 2010, 15:21:25 »
temon послe зaпускa скриптa-посмотри сигнaл eсть или нeт?
Лучше femon, вот так очепятки и появляются. :)
xUbuntu 12.04

Оффлайн andvalb

  • Любитель
  • *
  • Сообщений: 70
    • Просмотр профиля
Re: Триколор интернет в Ubuntu 9.10
« Ответ #134 : 14 Мая 2010, 18:50:38 »
C какого перепугу ADSL должен отключиться?
Из за смены шлюза по умолчанию.
Там это по желанию можно настроить и на резервирование и просто на обрыв соединения если впн отвалился.

Пользователь решил продолжить мысль 14 Мая 2010, 13:10:41:
Кстати для желающих вот скрипт настройки iptables для балансировки канала в случае с переменным числом каналов и использованием dvb
Для использования или положить в /etc/init.d/ или просто запускать sudo ./balancer start (предварительно вписать свои настройки)

файл /etc/init.d/balancer
#!/bin/bash
### BEGIN INIT INFO
# Provides:         balancer
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: balancing router
# Description: balancer is a configurable balancing iptables router.
### END INIT INFO

# Author: Andrey V. Beljakov <andvalb@mail.ru>
# Version: 0.0.1
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
IFCONFIG=/sbin/ifconfig
IP=/sbin/ip
IPTABLES=/sbin/iptables
RT_TABLES=/etc/iproute2/rt_tables
DESC="balancing router"
NAME=balancer
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
#. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
################################################################################
# Configuration
################################################################################
#NOTE: if you use dvb do not set dvb ip addr math ppp|tun ip addr! (to avoid 'martian' kernel messages use fake ip on same subnet)

DVB=yes # set 'yes' to support asymmetrical dvb net, if you use standart symmetrical setup set 'no'
NTH=no  # set 'yes' to use nth balancing mode (or 'no' to use probability rule)

# eth0 - adsl isp (gw 192.168.10.250)   ppp0 - dvb isp (gw 10.1.1.1)  
ISPs=(          eth0           ppp0     )  #space separated ISPs interface array
ISPs_DVB=(            dvb0_0            )  #space separated DVB ISPs pair's 1 (set only if some of
                                           #      specifeed ISP use DVB asymmetrical tech)
ISPs_DVBpair=(         ppp0             )  #space separated DVB ISPs pair's 2 (see ^)
ISP_NAMES=(     ISP1           ISP2     )  #space separated table names array
ISP_IDs=(        1              2       )  #space separated table ids array (must be positive integer)
ISP_GWs=(  192.168.10.250   10.1.1.1    )  #space separated ISPs GWs array
ISP_PROB=(       0.4           1        )  #space separated ISPs probability values (last should be 1)
LANs=(          eth1                    )  #space separated LAN array

################################################################################
ISPs_ct=${#ISPs[@]}
LANs_ct=${#LANs[@]}
ISPs_DVB_ct=${#ISPs_DVB[@]}
################################################################################
SUBNET() {
IP=$1
MASK=$2
l="${IP%.*}";r="${IP#*.}";n="${MASK%.*}";m="${MASK#*.}"
subnet=$((${IP%%.*}&${MASK%%.*})).$((${r%%.*}&${m%%.*})).$((${l##*.}&${n##*.})).$((${IP##*.}&${MASK##*.}))
echo $subnet
}
ROUTING_INFO() {
echo "[iptables]"
$IPTABLES -t mangle -nxvL 2> /dev/null
echo "[rules]"
$IP rule list
echo "[routes]"
for ID in `seq 1 $ISPs_ct`
do
 echo "for interface '${ISPs[$ID-1]}'"
 $IP route list table  ${ISP_IDs[$ID-1]}
 echo ""
done
echo "[nat]"
$IPTABLES -t nat -nxvL 2> /dev/null

for ID in `seq 1 $ISPs_ct` ; do
 ip=`ifconfig ${ISPs[$ID-1]} | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
 mask=`ifconfig ${ISPs[$ID-1]} | grep Mask | cut -d : -f 4 | cut -d ' ' -f 1`
 net=$(SUBNET $ip $mask)
 echo " IP $ip NET $net/$mask"
if [ -z "`cat $RT_TABLES | grep '^'${ISP_IDs[$ID-1]}''`" ] ; then
echo "Tabble ${ISP_IDs[$ID-1]} ${ISP_NAMES[$ID-1]} not present"
 else echo "Tabble ${ISP_IDs[$ID-1]} ${ISP_NAMES[$ID-1]} present"
fi
done
 if  [ "$NTH" != no ]; then
  echo "Use nth balancing rule"
 else echo "Use probability balancing rule"
 fi
 if  [ "$DVB" != no ]; then
  echo "Use DVB asymmetrical net support"
 fi
}

################################################################################
ROUTING() {
if ! [ -z "`echo $1 | grep '^START'`" ] ; then
  IPTM="A"
  IPM="add"
 elif ! [ -z "`echo $1 | grep '^STOP'`" ] ; then
  IPTM="D"
  IPM="del"
 fi

### Stage 1 Definition of routes ###
for ID in `seq 1 $ISPs_ct`; do
 # Check if tables exists, if not -> create them:
 if [ -z "`cat $RT_TABLES | grep '^'${ISP_IDs[$ID-1]}''`" ] ; then
echo "${ISP_IDs[$ID-1]}  ${ISP_NAMES[$ID-1]}" >> $RT_TABLES
 fi

 $IP route show table main | grep -Ev '(^default|dvb)' \
   | while read ROUTE ; do
     $IP route $IPM table ${ISP_IDs[$ID-1]} $ROUTE
 done
 $IP route $IPM 127.0.0.0/8 dev lo table ${ISP_IDs[$ID-1]}
 ISP_IP=`ifconfig ${ISPs[$ID-1]} | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
# $IP rule $IPM from $ISP_IP lookup ${ISP_IDs[$ID-1]}
 $IP rule $IPM fwmark ${ISP_IDs[$ID-1]} table ${ISP_IDs[$ID-1]} prio 1
 $IP route $IPM default via ${ISP_GWs[$ID-1]} table ${ISP_IDs[$ID-1]}
 echo 0 > /proc/sys/net/ipv4/conf/${ISPs[$ID-1]}/rp_filter
done
#### Stage 2 iptables ##
if ! [ -z "`echo $1 | grep '^START'`" ] ; then
$IPTABLES -t mangle -N balancer
fi

for ID in `seq 1 $LANs_ct`; do
 LAN_IP=`ifconfig ${LANs[$ID-1]} | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
 MASK=`ifconfig ${LANs[$ID-1]} | grep Mask | cut -d : -f 4 | cut -d ' ' -f 1`
 NET=$(SUBNET $LAN_IP $MASK)
 $IPTABLES -t mangle -$IPTM balancer -d $NET      -j RETURN
done
$IPTABLES -t mangle -$IPTM balancer -m connmark ! --mark 0 -j RETURN
$IPTABLES -t mangle -$IPTM balancer -m state --state ESTABLISHED,RELATED -j RETURN

# If u need dns use default iface uncomment and change to match u needs
#$IPTABLES -t mangle -$IPTM balancer -p udp --dport 53 -j CONNMARK --set-mark 1
#$IPTABLES -t mangle -$IPTM balancer -p tcp --dport 53 -j CONNMARK --set-mark 1
#$IPTABLES -t mangle -$IPTM balancer -p udp --dport 53 -j RETURN #
#$IPTABLES -t mangle -$IPTM balancer -p tcp --dport 53 -j RETURN #

for ID in `seq 1 $ISPs_ct`; do
 if  [ "$NTH" != no ]; then
  PID=`expr $ID - 1`
 # nth rule
  $IPTABLES -t mangle -$IPTM balancer -m statistic --mode nth --every $ISPs_ct --packet $PID -j CONNMARK --set-mark ${ISP_IDs[$ID-1]}
 else
 #probab rule ISP_PROB
 $IPTABLES -t mangle -$IPTM balancer -j CONNMARK --set-mark ${ISP_IDs[$ID-1]}
 $IPTABLES -t mangle -$IPTM balancer -m statistic --mode random --probability ${ISP_PROB[$ID-1]} -j RETURN
 fi
done
# Check to see if we have already marked a packet
$IPTABLES -t mangle -$IPTM PREROUTING  -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark
$IPTABLES -t mangle -$IPTM OUTPUT      -m state --state ESTABLISHED,RELATED -j CONNMARK --restore-mark

# Mark incoming connections to return on the interface they came in on
for ID in `seq 1 $ISPs_ct`; do
 $IPTABLES -t mangle -$IPTM PREROUTING  -i ${ISPs[$ID-1]}   -m state --state NEW  -j CONNMARK --set-mark ${ISP_IDs[$ID-1]}
done

if  [ "$DVB" != no ]; then
for ID in `seq 1 $ISPs_DVB_ct`; do
 PIP=`ifconfig ${ISPs_DVBpair[$ID-1]} | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
 for PID in `seq 1 $ISPs_ct`; do
  if ! [ -z "`echo ${ISPs[$PID-1]} | grep '^'${ISPs_DVBpair[$ID-1]}''`" ] ; then
   PAIR_ID=${ISP_IDs[$PID-1]}
  fi
 done
 $IPTABLES -t mangle -$IPTM PREROUTING  -i ${ISPs_DVB[$ID-1]} -d $PIP  -m state --state NEW  -j CONNMARK --set-mark $PAIR_ID
 $IPTABLES  -$IPTM INPUT -i ${ISPs_DVB[$ID-1]}  -j ACCEPT
done
fi
# New outgoing packets
for ID in `seq 1 $LANs_ct`; do
 $IPTABLES -t mangle -$IPTM PREROUTING  -i ${LANs[$ID-1]}  -m state --state NEW  -j balancer
done
$IPTABLES -t mangle -$IPTM OUTPUT               -m state --state NEW  -j balancer

# Choose our route and save the mark
for ID in `seq 1 $ISPs_ct`; do
 #net traffic
 $IPTABLES -t mangle -$IPTM PREROUTING  -m connmark --mark ${ISP_IDs[$ID-1]} -j MARK --set-mark ${ISP_IDs[$ID-1]}
 #router own traffic
 $IPTABLES -t mangle -$IPTM OUTPUT   -m connmark --mark ${ISP_IDs[$ID-1]} -j MARK --set-mark ${ISP_IDs[$ID-1]}
 # NAT output
 ISP_IP=`ifconfig ${ISPs[$ID-1]} | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
 $IPTABLES -t nat -$IPTM POSTROUTING -o ${ISPs[$ID-1]} -j SNAT --to-source=$ISP_IP
done
$IPTABLES -t mangle -$IPTM PREROUTING  -m state --state NEW -m connmark ! --mark 0  -j CONNMARK --save-mark
$IPTABLES -t mangle -$IPTM OUTPUT   -m state --state NEW -m connmark ! --mark 0  -j CONNMARK --save-mark

if ! [ -z "`echo $1 | grep '^STOP'`" ] ; then
$IPTABLES -t mangle -F balancer
$IPTABLES -t mangle -X balancer
fi
return 0
}


case "$1" in
  start)
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        if ! [ -f "$PIDFILE" ]; then
        ROUTING START
        $IP route flush cache
        touch $PIDFILE
        fi
        case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
        ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        if [ -f "$PIDFILE" ]; then
         ROUTING STOP
         $IP route flush cache
         rm -f $PIDFILE
        fi
        case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  info)
        ROUTING_INFO
        ;;      
     *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|info}" >&2
        exit 1
        ;;
esac

exit 0
Строки конфигурации по желанию можно вырезать и положить в файл /etc/default/balancer

Если у вас при использовании этого скрипта отвалится один из интерфейсов - то надо его (скрипт) рестартовать (после того как интерфейс восстановится). Останавливать скрипт тоже желательно при всех интерфейсах заданных в конфиге

Скрипт допускает любое число и тип балансируемых и LAN соединений.
« Последнее редактирование: 15 Мая 2010, 14:19:54 от andvalb »

 

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