{"id":85,"date":"2010-06-23T09:17:24","date_gmt":"2010-06-23T06:17:24","guid":{"rendered":"http:\/\/rexxer.kharkov.ru\/?p=85"},"modified":"2010-06-23T09:17:24","modified_gmt":"2010-06-23T06:17:24","slug":"freebsd-rezervirovanie-kanala-internet","status":"publish","type":"post","link":"https:\/\/dety.net.ua\/?p=85","title":{"rendered":"FreeBSD &#8211; \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u043d\u0430\u043b\u0430 Internet"},"content":{"rendered":"<p>\u041c\u043e\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. (FreeBSD 7.2 &#8211; 8).\u00a0 \u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0442\u0430\u0442\u0435\u0439 \u0441 \u0441\u0430\u0439\u0442\u0430 OpenNet.Ru.<\/p>\n<p>reserve.sh (\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043a crontab \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443)<\/p>\n<blockquote><p>#!\/bin\/sh<br \/>\nPATH=&#8221;\/sbin:\/usr\/bin&#8221;<\/p>\n<p>#Main Provider Router<br \/>\nISP1=&#8221;111.111.111.1&#8243;<\/p>\n<p>#Second Provider Router<br \/>\nISP2=&#8221;222.222.222.1&#8243;<\/p>\n<p>#IF 2 channels don&#8217;t work &#8211; will be set it<br \/>\nDEFAULT_ISP=&#8221;111.111.111.1&#8243;<\/p>\n<p># IP&#8217;s for ping<br \/>\nOVER_ISP1=&#8221;444.444.444.4&#8243;<br \/>\nOVER_ISP2=&#8221;333.333.333.3&#8243;<\/p>\n<p># Local source IP&#8217;s<br \/>\nIP1=&#8221;111.111.111.2&#8243;<br \/>\nIP2=&#8221;222.222.222.2&#8243;<\/p>\n<p># Verify routes<br \/>\nnetstat -nr | grep ${OVER_ISP1} &gt;\/dev\/null 2&gt;&amp;1<br \/>\nif [ $? != 0 ]; then<br \/>\necho &#8220;Add static route to ${OVER_ISP1} via ${ISP1}&#8221;<br \/>\nroute add ${OVER_ISP1} ${ISP1} -static<br \/>\nfi<br \/>\nnetstat -nr | grep ${OVER_ISP2} &gt;\/dev\/null 2&gt;&amp;1<br \/>\nif [ $? != 0 ]; then<br \/>\necho &#8220;Add static route to ${OVER_ISP2} via\u00a0 ${ISP2}&#8221;<br \/>\nroute add ${OVER_ISP2} ${ISP2} -static<br \/>\nfi<br \/>\n# What is work now<br \/>\ncurrent_now=`netstat -nr | grep default | awk &#8216;{print $2}&#8217;`<br \/>\necho -n &#8220;ping over ISP1:&#8221;<br \/>\nping -c 2 -S ${IP1} ${OVER_ISP1} &gt;\/dev\/null 2&gt;&amp;1<br \/>\nif [ $? -eq 0 ]; then<br \/>\necho &#8221; [OK]&#8221;<br \/>\nISP1_stat=0<br \/>\nelse<br \/>\necho &#8221; [FAILED]&#8221;<br \/>\nISP1_stat=1<br \/>\nmail -s &#8220;Main Internet-channel FAILED&#8221; root &lt; \/dev\/null<br \/>\nfi<br \/>\necho -n &#8220;ping over ISP2:&#8221;<br \/>\nping -c 1 -S ${IP2} ${OVER_ISP2} &gt;\/dev\/null 2&gt;&amp;1<br \/>\nif [ $? -eq 0 ]; then<br \/>\necho &#8221; [OK]&#8221;<br \/>\nISP2_stat=0<br \/>\nelse<br \/>\necho &#8221; [FAILED]&#8221;<br \/>\nISP2_stat=1<br \/>\nmail -s &#8220;Second Internet-channel FAILED&#8221; root &lt; \/dev\/null<br \/>\nfi<br \/>\nif [ ${ISP1_stat} -eq 1 -a ${ISP2_stat} -eq 0 -a ${current_now} = ${ISP1} ]; then<br \/>\n# \u0414\u043b\u044f FreeBSD8 \u0441\u0442\u0440\u043e\u043a\u0430 \u0442\u0430\u043a\u0430\u044f: if [ ${ISP1_stat} -eq 1 -a ${ISP2_stat} -eq 0 -a &#8220;${current_now} =  ${ISP1}&#8221; ]; then<br \/>\necho &#8220;ISP1 suck&#8221;<br \/>\nroute delete default<br \/>\nroute add default ${ISP2}<br \/>\nmail -s &#8220;Main Internet-channel FAILED &#8211; switching to Second&#8221; root &lt; \/dev\/null<br \/>\nfi<br \/>\nif [ ${ISP1_stat} -eq 0 -a ${current_now} != ${ISP1} ]; then<br \/>\n# \u0414\u043b\u044f FreeBSD8: if [ ${ISP1_stat} -eq 0 -a &#8220;${current_now} != ${ISP1}&#8221; ]; then<br \/>\necho &#8220;Back to ISP1&#8221;<br \/>\nroute delete default<br \/>\nroute add default ${ISP1}<br \/>\n\/usr\/local\/etc\/racoon\/setkey.conf<br \/>\nmail -s &#8220;Main Internet-channel OK &#8211; switching back to MAIN&#8221; root &lt; \/dev\/null<br \/>\nfi<\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u041c\u043e\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0434\u043b\u044f \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u043d\u0430\u043b\u0430 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442. (FreeBSD 7.2 &#8211; 8).\u00a0 \u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0442\u0430\u0442\u0435\u0439 \u0441 \u0441\u0430\u0439\u0442\u0430 OpenNet.Ru. reserve.sh (\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043a crontab \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043c\u0438\u043d\u0443\u0442\u0443) #!\/bin\/sh PATH=&#8221;\/sbin:\/usr\/bin&#8221; #Main Provider Router ISP1=&#8221;111.111.111.1&#8243; #Second Provider Router ISP2=&#8221;222.222.222.1&#8243; #IF 2 channels don&#8217;t work &#8211; will be set it DEFAULT_ISP=&#8221;111.111.111.1&#8243; # IP&#8217;s for ping OVER_ISP1=&#8221;444.444.444.4&#8243; OVER_ISP2=&#8221;333.333.333.3&#8243; # [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,13],"tags":[],"class_list":["post-85","post","type-post","status-publish","format-standard","hentry","category-freebsd","category-novosti"],"_links":{"self":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/85","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=85"}],"version-history":[{"count":0,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/85\/revisions"}],"wp:attachment":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=85"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=85"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}