D.26. /lib/services/ipv4-static
#! / bin / sh
################################################ ######################
# ເລີ່ມຕົ້ນ /lib/services/ipv4-static
#
# ລາຍລະອຽດ : IPV4 Static Boot Script
#
# ຜູ້ຂຽນ : Nathan Coulson - [email protected]
# Kevin P. Fleming - [email protected]
# ອັບເດດ: Bruce Dubbs - [email protected]
#
# ລຸ້ນ : LFS 7.0
#
################################################ ######################
. /lib/lsb/init-functions
. ${IFCONFIG}
ຖ້າ [ -z "${IP}" ]; ແລ້ວ
log_failure_msg "\nຕົວແປ IP ຫາຍໄປຈາກ ${IFCONFIG}, ບໍ່ສາມາດສືບຕໍ່ໄດ້." ທາງອອກ 1
fi
ຖ້າ [ -z "${PREFIX}" -a -z "${PEER}" ]; ແລ້ວ
log_warning_msg "\nPREFIX ຕົວແປຂາດໄປຈາກ ${IFCONFIG}, ສົມມຸດວ່າ 24."
PREFIX=24
args="${args} ${IP}/${PREFIX}"
elif [ -n "${PREFIX}" -a -n "${PEER}" ]; ແລ້ວ
log_failure_msg "\nPREFIX ແລະ PEER ທັງສອງທີ່ລະບຸໄວ້ໃນ ${IFCONFIG}, ບໍ່ສາມາດສືບຕໍ່ໄດ້." ທາງອອກ 1
elif [ -n "${PREFIX}" ]; ຈາກນັ້ນ args="${args} ${IP}/${PREFIX}"
elif [ -n "${PEER}" ]; ຈາກນັ້ນ args="${args} ${IP} peer ${PEER}"
fi
ຖ້າ [ -n "${LABEL}" ]; ຈາກນັ້ນ args="${args} ປ້າຍກຳກັບ ${LABEL}"
fi
ຖ້າ [ -n "${BROADCAST}" ]; ຈາກນັ້ນ args="${args} ອອກອາກາດ ${BROADCAST}"
fi
ກໍລະນີ "${2}" ຂຶ້ນໄປ)
ຖ້າ [ "$(ip addr ສະແດງ ${1} 2>/dev/null | grep ${IP}/)" = "" ]; ຈາກນັ້ນ log_info_msg "ການເພີ່ມທີ່ຢູ່ IPv4 ${IP} ໃສ່ອິນເຕີເຟດ ${1}..." ip addr ເພີ່ມ ${args} dev ${1}
evaluate_retval ອື່ນ
log_warning_msg "ບໍ່ສາມາດເພີ່ມທີ່ຢູ່ IPv4 ${IP} ໃສ່ ${1} ໄດ້. ມີຢູ່ແລ້ວ."
fi
;;
ລົງ)
ຖ້າ [ "$(ip addr ສະແດງ ${1} 2>/dev/null | grep ${IP}/)" != "" ]; ຫຼັງຈາກນັ້ນ, log_info_msg "ການຖອນທີ່ຢູ່ IPv4 ${IP} ອອກຈາກການໂຕ້ຕອບ ${1}..." ip addr del ${args} dev ${1}
ປະເມີນ_retval
fi
ຖ້າ [ -n "${GATEWAY}" ]; ແລ້ວ
# ພຽງແຕ່ຖອນ gateway ຖ້າບໍ່ມີທີ່ຢູ່ ipv4 ທີ່ຍັງເຫຼືອຖ້າ [ "$(ip addr ສະແດງໃຫ້ເຫັນ ${1} 2>/dev/null | grep 'inet ')" !="" ]; ແລ້ວ
log_info_msg "ການຖອນ gateway ເລີ່ມຕົ້ນ..." ip route del default
ປະເມີນ_retval
fi
fi
;;
*)
echo "ການນຳໃຊ້: ${0} [interface] {up|down}" ອອກ 1
;;
ວ່າ C
# ສິ້ນສຸດ /lib/services/ipv4-static
ຖ້າ [ "$(ip addr ສະແດງ ${1} 2>/dev/null | grep ${IP}/)" = "" ]; ຈາກນັ້ນ log_info_msg "ການເພີ່ມທີ່ຢູ່ IPv4 ${IP} ໃສ່ອິນເຕີເຟດ ${1}..." ip addr ເພີ່ມ ${args} dev ${1}
evaluate_retval ອື່ນ
log_warning_msg "ບໍ່ສາມາດເພີ່ມທີ່ຢູ່ IPv4 ${IP} ໃສ່ ${1} ໄດ້. ມີຢູ່ແລ້ວ."
fi
;;
ລົງ)
ຖ້າ [ "$(ip addr ສະແດງ ${1} 2>/dev/null | grep ${IP}/)" != "" ]; ຫຼັງຈາກນັ້ນ, log_info_msg "ການຖອນທີ່ຢູ່ IPv4 ${IP} ອອກຈາກການໂຕ້ຕອບ ${1}..." ip addr del ${args} dev ${1}
ປະເມີນ_retval
fi
ຖ້າ [ -n "${GATEWAY}" ]; ແລ້ວ
# ພຽງແຕ່ຖອນ gateway ຖ້າບໍ່ມີທີ່ຢູ່ ipv4 ທີ່ຍັງເຫຼືອຖ້າ [ "$(ip addr ສະແດງໃຫ້ເຫັນ ${1} 2>/dev/null | grep 'inet ')" !="" ]; ແລ້ວ
log_info_msg "ການຖອນ gateway ເລີ່ມຕົ້ນ..." ip route del default
ປະເມີນ_retval
fi
fi
;;
*)
echo "ການນຳໃຊ້: ${0} [interface] {up|down}" ອອກ 1
;;
ວ່າ C
# ສິ້ນສຸດ /lib/services/ipv4-static
: Kevin P. Fleming - [email protected] DJ Lucas - [email protected]
: Bruce Dubbs - [email protected]
: Kevin P. Fleming - [email protected] DJ Lucas - [email protected]
: Bruce Dubbs - [email protected]
: LFS 7.0
: LFS 7.0