D.26。 /lib/services/ipv4-static
#!/ bin / sh的
############################################### ######################
# 开始 /lib/services/ipv4-static
#
# 描述:IPV4 静态启动脚本
#
# 作者:内森·科尔森 - [电子邮件保护]
# 凯文·P·弗莱明 - [电子邮件保护]
# 更新:布鲁斯·杜布斯 - [电子邮件保护]
#
# 版本:LFS 7.0
#
############################################### ######################
。 / lib / lsb / init-functions
。 ${IFCONFIG}
如果 [ -z "${IP}" ]; 然后
log_failure_msg "\n${IFCONFIG} 中缺少 IP 变量,无法继续。" 出口 1
fi
if [ -z "${PREFIX}" -a -z "${PEER}" ]; 然后
log_warning_msg "\n${IFCONFIG} 中缺少 PREFIX 变量,假设为 24。"
前缀=24
args="${args} ${IP}/${PREFIX}"
elif [ -n "${PREFIX}" -a -n "${PEER}" ]; 然后
log_failure_msg "\n${IFCONFIG} 中指定的 PREFIX 和 PEER 无法继续。 出口 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}”在上)
if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" = "" ]; 然后 log_info_msg "将 IPv4 地址 ${IP} 添加到 ${1} 接口..." ip addr add ${args} dev ${1}
评估_retval 其他
log_warning_msg "无法将 IPv4 地址 ${IP} 添加到 ${1}。已经存在。"
fi
;;
下)
if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" != "" ]; 然后 log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..." ip addr del ${args} dev ${1}
评估_retval
fi
如果 [ -n "${GATEWAY}" ]; 然后
# 仅当没有剩余的 ipv4 地址时才删除网关 if [ "$(ip addr show ${1} 2>/dev/null | grep 'inet ')" != "" ]; 然后
log_info_msg "正在删除默认网关..." ip route del default
评估_retval
fi
fi
;;
*)
echo "用法: ${0} [interface] {up|down}" exit 1
;;
ESAC
# 结束 /lib/services/ipv4-static
if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" = "" ]; 然后 log_info_msg "将 IPv4 地址 ${IP} 添加到 ${1} 接口..." ip addr add ${args} dev ${1}
评估_retval 其他
log_warning_msg "无法将 IPv4 地址 ${IP} 添加到 ${1}。已经存在。"
fi
;;
下)
if [ "$(ip addr show ${1} 2>/dev/null | grep ${IP}/)" != "" ]; 然后 log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..." ip addr del ${args} dev ${1}
评估_retval
fi
如果 [ -n "${GATEWAY}" ]; 然后
# 仅当没有剩余的 ipv4 地址时才删除网关 if [ "$(ip addr show ${1} 2>/dev/null | grep 'inet ')" != "" ]; 然后
log_info_msg "正在删除默认网关..." ip route del default
评估_retval
fi
fi
;;
*)
echo "用法: ${0} [interface] {up|down}" exit 1
;;
ESAC
# 结束 /lib/services/ipv4-static
:凯文·P·弗莱明 - [电子邮件保护] DJ 卢卡斯 - [电子邮件保护]
:布鲁斯·杜布斯 - [电子邮件保护]
:凯文·P·弗莱明 - [电子邮件保护] DJ 卢卡斯 - [电子邮件保护]
:布鲁斯·杜布斯 - [电子邮件保护]
:LFS 7.0
:LFS 7.0