> Добрый день!
> На одной стороне стоит ZyWALL 35, с двумя внешними интерфейсами от разных
> провайдеров. В общем Ipsec настроен так - что удалённая сторона (к
> примеру Linux роутер), может на любой из двух внешних IP ZyWALL
> создать подключение IpSec.
> Но как сделать чтобы было поднято два одновременно канала?Не стал заморачиваться. По крону каждые 30 секунд проверяю.
#!/bin/sh
# TODO: ADD FORCE OPTION FOR REPLACE
IPSEC_GW1="XX.XX.XX.XX"
IPSEC_GW2="XX.XX.XX.XX"
IPSEC_NUM="ipsec3"
REMOTE_IP="192.168.XX.XX"
FLAG_RS=0
IPSEC_CFG=/etc/sysconfig/network-scripts/ifcfg-${IPSEC_NUM}
ping -c 3 -s 100 ${IPSEC_GW1} >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "** PRIMARY GATEWAY ${IPSEC_GW1} is DOWN"
ping -c 3 -s 100 ${IPSEC_GW2} >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "** BACKUP GATEWAY ${IPSEC_GW2} is DOWN!"
echo "** ALL GATEWAY IS DOWN! QUIT"
else
echo "** BACKUP GATEWAY ${IPSEC_GW2} is UP!"
echo "** SWITCHING TO BACKUP GATEWAY"
sed -i "s/^DST=${IPSEC_GW1}$/DST=${IPSEC_GW2}/g" ${IPSEC_CFG}
FLAG_RS=1
echo "** DONE"
fi
else
echo "** PRIMARY GATEWAY ${IPSEC_GW1} is UP"
grep "^DST=${IPSEC_GW1}$" ${IPSEC_CFG}
if [ $? -ne 0 ]; then
echo "** SWITCHING TO PRIMARY GATEWAY"
sed -i "s/^DST=${IPSEC_GW2}$/DST=${IPSEC_GW1}/g" ${IPSEC_CFG}
FLAG_RS=1
echo "** DONE"
else
echo "** ALLREADY IN PRIMARY GATEWAY! QUIT"
fi
fi
if [ $FLAG_RS -eq 0 ]; then
echo "** PING REMOTE IP ${REMOTE_IP}..."
ping -c 3 -s 100 ${REMOTE_IP} >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "** SET RESET FLAG PING REMOTE ADDRESS"
FLAG_RS=1;
fi
fi
if [ $FLAG_RS -eq 1 ]; then
echo "** RESET SESSION"
ifdown ${IPSEC_NUM}
ifup ${IPSEC_NUM}
else
echo "** NO RESET REQUIRED"
fi