| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #! /bin/bash
- #
- # ipset Create ipset before start iptables
- #
- # chkconfig: 2345 07 93
- # description: Activates/Deactivates ipset lists
- #
- #
- # Source function library.
- . /etc/init.d/functions
- if [ ! -f /etc/sysconfig/network ]; then
- exit 0
- fi
- # Check that networking is up.
- [ "${NETWORKING}" = "no" ] && exit 0
- IPSET='/sbin/ipset'
- config_dir='/etc/ipset.d'
- # if the ip configuration utility isn't around we can't function.
- [ -x ${IPSET} ] || exit 1
- [ ! -e "${config_dir}" ] && mkdir -p "${config_dir}"
- stop_ipset() {
- if [ -d "${config_dir}" ] ; then
- CONFS=`ls ${config_dir}/*.save 2>/dev/null`
- [ -z "${CONFS}" ] && exit 6
- for i in $CONFS; do
- ipset_name=`basename $i .save`
- echo -n $"Destroy ipset $ipset_name: "
- ${IPSET} destroy $ipset_name >/dev/null 2>&1
- echo
- done
- else
- RETVAL=1
- fi
- return 0
- }
- start_ipset() {
- [ ! -e "/run/ipstate" ] && ln -s /usr/local/ipstate /run/ipstate
- if [ -d "${config_dir}" ] ; then
- CONFS=`ls ${config_dir}/*.save 2>/dev/null`
- [ -z "${CONFS}" ] && exit 6
- for i in $CONFS; do
- ipset_name=`basename $i .save`
- ${IPSET} destroy $ipset_name >/dev/null 2>&1
- echo -n $"Loading ipset $ipset_name: "
- cat "${config_dir}/${i}" | ${IPSET} restore >/dev/null 2>&1
- echo
- done
- else
- RETVAL=1
- fi
- return 0
- }
- # See how we were called.
- case "$1" in
- start)
- start_ipset
- RET=$?
- ;;
- stop)
- stop_ipset
- RET=$?
- ;;
- restart|reload)
- stop_ipset
- start_ipset
- RET=$?
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|reload}"
- exit 1
- esac
- exit ${RET}
|