#!/bin/sh #Делает настройки для функицонирования VPN Sklad -> Tula (Multilink PPtP): #устанавливает маршрутизацию и правила в IPFW в зависимости от текущего #качества каналов связи . /AnyDir/kmn.firewall.txt . /AnyDir/func_check.sh . /AnyDir/func_iface.sh . /AnyDir/func_route.sh . /AnyDir/func_channels.sh #Если не найден хотябы один из интерфесов внешних каналов в интернет #или интерфейс VPN, то выйти, так как это ошибка в конфиге хоста #(ifconfig или mpd) или интерфейсы еще не инициализировались. checkif_exit $sr_if checkif_exit $si_if checkif_exit $ST_if #Макросы определяют Включение и Выключение наборов правил в IPFW, отвечающих #за блокирование PPtP для соотвествующих LINK-ов FwPassPptp="/sbin/ipfw set disable" FwDenyPptp="/sbin/ipfw set enable" #Определяем качество линков sr->t9, sr->ti, si->t9, si->ti и настраиваем #маршрутизацию и правила IPFW getquality $si_if $si_ip 1 $ti_ip if [ $? -ne 0 ]; then echo si-ti=1, x, x, x delroute $t9_ip setroute $ti_ip $si_gw ${FwDenyPptp} ${sr_t9_set} ${FwDenyPptp} ${sr_ti_set} ${FwDenyPptp} ${si_t9_set} ${FwPassPptp} ${si_ti_set} else getquality $sr_if $sr_ip 1 $ti_ip if [ $? -ne 0 ]; then echo si-ti=0, sr-ti=1, x, x delroute $t9_ip setroute $ti_ip $sr_gw ${FwDenyPptp} ${sr_t9_set} ${FwPassPptp} ${sr_ti_set} ${FwDenyPptp} ${si_t9_set} ${FwDenyPptp} ${si_ti_set} else getquality $sr_if $sr_ip 1 $t9_ip if [ $? -ne 0 ]; then echo si-ti=0, sr-ti=0, sr-t9=1, x delroute $ti_ip setroute $t9_ip $sr_gw ${FwPassPptp} ${sr_t9_set} ${FwDenyPptp} ${sr_ti_set} ${FwDenyPptp} ${si_t9_set} ${FwDenyPptp} ${si_ti_set} else getquality $si_if $si_ip 1 $t9_ip if [ $? -ne 0 ]; then echo si-ti=0, sr-ti=0, sr-t9=0, si-t9=1 delroute $ti_ip setroute $t9_ip $si_gw ${FwDenyPptp} ${sr_t9_set} ${FwDenyPptp} ${sr_ti_set} ${FwPassPptp} ${si_t9_set} ${FwDenyPptp} ${si_ti_set} else echo si-ti=0, sr-ti=0, sr-t9=0, si-t9=0 delroute $t9_ip delroute $ti_ip ${FwDenyPptp} ${sr_t9_set} ${FwDenyPptp} ${sr_ti_set} ${FwDenyPptp} ${si_t9_set} ${FwDenyPptp} ${si_ti_set} fi fi fi fi