<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Резервный канал с openVPN]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=17911</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=17911&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Резервный канал с openVPN».]]></description>
		<lastBuildDate>Tue, 28 Feb 2012 05:01:07 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=254679#p254679</link>
			<description><![CDATA[<div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>Пока не очень представляю как это будет выглядеть..</p></blockquote></div><p>это дистрозависимо. я тоже не знаю.</p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Tue, 28 Feb 2012 05:01:07 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=254679#p254679</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=254676#p254676</link>
			<description><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p> почему-бы вам не прописать 2 gateway&#039;я?</p></blockquote></div><p>Пока не очень представляю как это будет выглядеть.. пока оставлю так.. пока.. а там видно будет.</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Tue, 28 Feb 2012 04:26:21 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=254676#p254676</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=254435#p254435</link>
			<description><![CDATA[<div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>&nbsp; &nbsp; послать сигнал остановки<br />Каким образом?</p></blockquote></div><p>сигналы посылает у нас команда <strong>kill</strong><br />вот так можно посмотреть список (у вас он может быть другой)<br /></p><div class="codebox"><pre><code># kill -l
 1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
 6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
63) SIGRTMAX-1    64) SIGRTMAX    </code></pre></div><p>сигнал - это сообщение одного процесса к другому. Передаёт их ядро. Это касается всех сигналов, кроме SIGKILL, этот сигнал не доходит до получателя, потому как ядро его насильно убивает (если у отправителя есть таие права конечно). вот ещё здесь доделали вроде: <a href="http://ru.wikipedia.org/wiki/SIGINT">http://ru.wikipedia.org/wiki/SIGINT</a><br />Приложение-реципиент может игнорить сигналы (кроме конечно SIGKILL) (help trap), а может выполнять действие по умолчанию.<br /></p><div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>3 if, 3 fi вроде как..</p></blockquote></div><p>мне без отступов не видно.<br /></p><div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>А что ещё можно?</p></blockquote></div><p>ну раз вам маршрут нужен, то очевидно route или более прогрессивная утилита <strong>ip r</strong><br />А вообще говоря, почему-бы вам не прописать 2 gateway&#039;я? Тогда и переписывать ничего не надо...</p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Mon, 27 Feb 2012 07:46:03 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=254435#p254435</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=254411#p254411</link>
			<description><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>А где fi?</p></blockquote></div><p>3 if, 3 fi вроде как..</p><p>Вообщем скрипт пашет, и пока устраивает.. кое-что поменяю, но это позже</p><div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>использовать ping для проверки работы шлюзов - вообще плохая идея.</p></blockquote></div><p>А что ещё можно?</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Mon, 27 Feb 2012 07:12:15 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=254411#p254411</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=254410#p254410</link>
			<description><![CDATA[<div class="quotebox"><cite>drBatty пишет:</cite><blockquote><p>послать сигнал остановки</p></blockquote></div><p>Каким образом?</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Mon, 27 Feb 2012 07:10:14 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=254410#p254410</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253917#p253917</link>
			<description><![CDATA[<div class="quotebox"><cite>Kettler пишет:</cite><blockquote><p>И ещё раз пишите daemon так возьмите за основу skeleton</p></blockquote></div><p>это инит-скрипт, а не демон.</p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Sat, 25 Feb 2012 13:00:19 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253917#p253917</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253895#p253895</link>
			<description><![CDATA[<p>И ещё раз пишите daemon так возьмите за основу skeleton</p><br /><div class="codebox"><pre><code>user@router:/etc/init.d$ cat skeleton 
#! /bin/sh
### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

# Author: Foo Bar &lt;foobar@baz.org&gt;
#
# Please remove the &quot;Author&quot; lines above and replace them
# with your own name if you copy and modify this script.

# Do NOT &quot;set -e&quot;

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC=&quot;Description of the service&quot;
NAME=daemonexecutablename
DAEMON=/usr/sbin/$NAME
DAEMON_ARGS=&quot;--options args&quot;
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x &quot;$DAEMON&quot; ] || exit 0

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

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

# Define LSB log_* functions.
# Depend on lsb-base (&gt;= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
    # Return
    #   0 if daemon has been started
    #   1 if daemon was already running
    #   2 if daemon could not be started
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test &gt; /dev/null \
        || return 1
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
        $DAEMON_ARGS \
        || return 2
    # Add code here, if necessary, that waits for the process to be ready
    # to handle requests from services started subsequently which depend
    # on this one.  As a last resort, sleep for some time.
}

#
# Function that stops the daemon/service
#
do_stop()
{
    # Return
    #   0 if daemon has been stopped
    #   1 if daemon was already stopped
    #   2 if daemon could not be stopped
    #   other if a failure occurred
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
    RETVAL=&quot;$?&quot;
    [ &quot;$RETVAL&quot; = 2 ] &amp;&amp; return 2
    # Wait for children to finish too if this is a daemon that forks
    # and if the daemon is only ever run from this initscript.
    # If the above conditions are not satisfied then add some other code
    # that waits for the process to drop all resources that could be
    # needed by services started subsequently.  A last resort is to
    # sleep for some time.
    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
    [ &quot;$?&quot; = 2 ] &amp;&amp; return 2
    # Many daemons don&#039;t delete their pidfiles when they exit.
    rm -f $PIDFILE
    return &quot;$RETVAL&quot;
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
    #
    # If the daemon can reload its configuration without
    # restarting (for example, when it is sent a SIGHUP),
    # then implement that here.
    #
    start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
    return 0
}

case &quot;$1&quot; in
  start)
    [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Starting $DESC&quot; &quot;$NAME&quot;
    do_start
    case &quot;$?&quot; in
        0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
        2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
    esac
    ;;
  stop)
    [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_daemon_msg &quot;Stopping $DESC&quot; &quot;$NAME&quot;
    do_stop
    case &quot;$?&quot; in
        0|1) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 0 ;;
        2) [ &quot;$VERBOSE&quot; != no ] &amp;&amp; log_end_msg 1 ;;
    esac
    ;;
  status)
       status_of_proc &quot;$DAEMON&quot; &quot;$NAME&quot; &amp;&amp; exit 0 || exit $?
       ;;
  #reload|force-reload)
    #
    # If do_reload() is not implemented then leave this commented out
    # and leave &#039;force-reload&#039; as an alias for &#039;restart&#039;.
    #
    #log_daemon_msg &quot;Reloading $DESC&quot; &quot;$NAME&quot;
    #do_reload
    #log_end_msg $?
    #;;
  restart|force-reload)
    #
    # If the &quot;reload&quot; option is implemented then remove the
    # &#039;force-reload&#039; alias
    #
    log_daemon_msg &quot;Restarting $DESC&quot; &quot;$NAME&quot;
    do_stop
    case &quot;$?&quot; in
      0|1)
        do_start
        case &quot;$?&quot; in
            0) log_end_msg 0 ;;
            1) log_end_msg 1 ;; # Old process is still running
            *) log_end_msg 1 ;; # Failed to start
        esac
        ;;
      *)
          # Failed to stop
        log_end_msg 1
        ;;
    esac
    ;;
  *)
    #echo &quot;Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}&quot; &gt;&amp;2
    echo &quot;Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}&quot; &gt;&amp;2
    exit 3
    ;;
esac</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Kettler)]]></author>
			<pubDate>Sat, 25 Feb 2012 11:48:26 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253895#p253895</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253892#p253892</link>
			<description><![CDATA[<div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>Кажется нашёл причину. </p><p>Я для проверки просто ронял интерфейс подключённый к пчелайну, но шлюз&nbsp; пингуется (хоть и через другого прова), у него внешний ip. Короче буду дальше думать.</p></blockquote></div><p>У меня была проблема такого рода ток смотрите:<br />Пакет шол так 62.33.188.11x -&gt; 62.33.188.20x -&gt; 192.168.200.1 -&gt; 192.168.4.1 -&gt; 192.168.4.100 -&gt; Служба видит что у клиента 62.33.188.11x<br />Отправлял обратно так.<br />192.168.4.100 -&gt; 192.168.4.1 -&gt; 62.33.188.11x потому что на шлюзе был инет тоже то есть пакеты возвращались через другой канал.<br />Выход:<br />Создал таблицу через iproute2<br />настроил маршруты в данной таблицы.<br />Через iptables в PREROUTING ставил MARK 2 с ип 192.168.4.100 и уже после чего пакеты шли как мне надо.<br />В вашем случае если хотите использовать ping можете использовать таблицы iproute2.</p>]]></description>
			<author><![CDATA[null@example.com (Kettler)]]></author>
			<pubDate>Sat, 25 Feb 2012 11:39:35 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253892#p253892</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253884#p253884</link>
			<description><![CDATA[<div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>Я для проверки просто ронял интерфейс подключённый к пчелайну, но шлюз&nbsp; пингуется (хоть и через другого прова), у него внешний ip</p></blockquote></div><p>использовать ping для проверки работы шлюзов - вообще плохая идея.</p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Sat, 25 Feb 2012 11:19:34 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253884#p253884</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253883#p253883</link>
			<description><![CDATA[<div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>В результате тестирования выявлен существенный недостаток.</p></blockquote></div><p>1. приведите в порядок отступы - ВСЁ, что после if и до fi должно быть на один отступ правее. Я не понял логику вашего скрипта.<br />2. </p><div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>return; # Выходим</p></blockquote></div><p>А где fi? Да и вообще - зачем так делать-то?</p><p>Вы можете писать как угодно(это не пайтон), просто без отступов вам самим сложнее.</p><div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>И кстати.. простите за тупой вопрос, но как скрипт остановить??</p></blockquote></div><p>послать сигнал остановки.<br /></p><div class="quotebox"><cite>Сергей В. пишет:</cite><blockquote><p>kill check_gateways не прокатил</p></blockquote></div><p>kill принимает номер сигнала и номер процесса.</p>]]></description>
			<author><![CDATA[null@example.com (drBatty)]]></author>
			<pubDate>Sat, 25 Feb 2012 11:17:56 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253883#p253883</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253874#p253874</link>
			<description><![CDATA[<p>Кажется нашёл причину. </p><p>Я для проверки просто ронял интерфейс подключённый к пчелайну, но шлюз&nbsp; пингуется (хоть и через другого прова), у него внешний ip. Короче буду дальше думать.</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Sat, 25 Feb 2012 11:07:20 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253874#p253874</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253867#p253867</link>
			<description><![CDATA[<p>И кстати.. простите за тупой вопрос, но как скрипт остановить?? </p><p>kill check_gateways не прокатил</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Sat, 25 Feb 2012 10:56:17 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253867#p253867</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253862#p253862</link>
			<description><![CDATA[<p>Получается что не работает эта конструкция</p><p> #!/bin/bash<br />gw1=194.186.251.137; # Основной шлюз<br />gw2=192.168.10.4; # Резервный шлюз<br />check_period=&#039;30s&#039;; # Периодичность запуска скрипта<br />log=&#039;/var/log/check_gateway.log&#039;; # Путь к файлу логов<br /> # Собственно сама функция проверки и переключения на резерв и обратно<br />start_function ()<br /> {<br /> current=$(route -n | tail -1 | awk &#039;{print $2}&#039;); # Проверяем маршрут по умолчанию<br /><span class="bbu">if ping -c 4 $gw1 &gt; /dev/null 2&gt;&amp;1; # Пингуем инет<br /> then</span><br />&nbsp; if [ $gw1 = $current ]; # Если используется основной шлюз, то выходим <br />&nbsp; &nbsp;then<br />&nbsp; &nbsp;return<br />&nbsp; &nbsp;else<br />&nbsp; &nbsp; route del default &gt; /dev/null; # Сбрасываем резервный маршрут<br />&nbsp; &nbsp; route add default gw $gw1; # Прописываем основной<br />&nbsp; &nbsp; echo &quot;Работает основной канал&quot; &gt;&gt; $log<br />&nbsp; &nbsp; date &gt;&gt; $log<br />&nbsp; &nbsp; return; # Выходим<br /> fi<br /> <span class="bbu"> else<br />&nbsp; &nbsp;if [ $gw2 = $current ]; # Проверяем установлен ли резервный маршрут<br />&nbsp; &nbsp; then<br />&nbsp; &nbsp; return</span><br />&nbsp; &nbsp; else<br />&nbsp; &nbsp; &nbsp;route del default &gt; /dev/null; # Сбрасываем основной маршрут<br />&nbsp; &nbsp; &nbsp;echo &quot;Внимание! Произошло падение основного канала!&quot; &gt;&gt; $log<br />&nbsp; &nbsp; &nbsp;route add default gw $gw2; # Прописываем резервный<br />&nbsp; &nbsp; &nbsp;echo &quot;Внимание!Работает резервный канал!&quot; &gt;&gt; $log<br />&nbsp; &nbsp; &nbsp;date &gt;&gt; $log<br />&nbsp; &nbsp;fi<br /> fi</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Sat, 25 Feb 2012 10:51:48 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253862#p253862</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253854#p253854</link>
			<description><![CDATA[<p>В результате тестирования выявлен существенный недостаток.</p><p>Если основной шлюз недоступен, то каждые 30 сек скрипт сбрасывает резервный маршрут, а потом снова его прописывает. И получается, что резервный инет работает через &quot;пень-колоду&quot;..</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Sat, 25 Feb 2012 10:31:16 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253854#p253854</guid>
		</item>
		<item>
			<title><![CDATA[Re: Резервный канал с openVPN]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=253844#p253844</link>
			<description><![CDATA[<p><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh"><br /> #!/bin/bash<br />gw1=194.186.251.137; # Основной шлюз<br />gw2=192.168.10.4; # Резервный шлюз<br />check_period=&#039;30s&#039;; # Периодичность запуска скрипта<br />log=&#039;/var/log/check_gateway.log&#039;; # Путь к файлу логов<br /> # Собственно сама функция проверки и переключения на резерв и обратно<br />start_function ()<br /> {<br /> current=$(route -n | tail -1 | awk &#039;{print $2}&#039;); # Проверяем маршрут по умолчанию<br />if ping -c 4 $gw1 &gt; /dev/null 2&gt;&amp;1; # Пингуем инет<br /> then<br />&nbsp; if [ $gw1 = $current ]; # Если используется основной шлюз, то выходим <br />&nbsp; &nbsp;then<br />&nbsp; &nbsp;return<br />&nbsp; &nbsp;else<br />&nbsp; &nbsp; route del default &gt; /dev/null; # Сбрасываем резервный маршрут<br />&nbsp; &nbsp; route add default gw $gw1; # Прописываем основной<br />&nbsp; &nbsp; echo &quot;Работает основной канал&quot; &gt;&gt; $log<br />&nbsp; &nbsp; date &gt;&gt; $log<br />&nbsp; &nbsp; return; # Выходим<br /> fi<br />&nbsp; else<br />&nbsp; &nbsp;if [ $gw2 = $current ]; # Проверяем установлен ли резервный маршрут<br />&nbsp; &nbsp; then<br />&nbsp; &nbsp; return<br />&nbsp; &nbsp; else<br />&nbsp; &nbsp; &nbsp;route del default &gt; /dev/null; # Сбрасываем основной маршрут<br />&nbsp; &nbsp; &nbsp;echo &quot;Внимание! Произошло падение основного канала!&quot; &gt;&gt; $log<br />&nbsp; &nbsp; &nbsp;route add default gw $gw2; # Прописываем резервный<br />&nbsp; &nbsp; &nbsp;echo &quot;Внимание!Работает резервный канал!&quot; &gt;&gt; $log<br />&nbsp; &nbsp; &nbsp;date &gt;&gt; $log<br />&nbsp; &nbsp;fi<br /> fi<br /> }<br /> while true; # Зацикливаем скрипт с паузой.<br /> do<br /> start_function<br /> sleep $check_period<br /> done<br /></div></p><p>Вот так работает, но буду ещё допиливать. Надо VPN поднимать и ещё койчего не нравтся</p>]]></description>
			<author><![CDATA[null@example.com (Сергей В.)]]></author>
			<pubDate>Sat, 25 Feb 2012 09:51:49 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=253844#p253844</guid>
		</item>
	</channel>
</rss>
