在 RHEL 6.5 上,如果我的 IP 地址是动态的并且未在 DNS 中注册,如何使我自己的主机名在本地可解析?
我知道,可以添加 dhcp 挂钩脚本。是否有类似的方法来挂钩网络初始化脚本,因此这也适用于静态配置?
答案1
有一个标准的自定义脚本/sbin/ifup-local
。每个适配器都会调用它。我的脚本获取 ip 和主机名并将它们添加到/etc/hosts
#!/bin/bash
# /sbin/ifup-local
set -e
fn_get_ip() {
ip addr show dev "$1" | sed "s,.* inet \([^/]*\)/.*,\1,;t;d"
}
fn_aaa() {
ip=`fn_get_ip "$1"`
hostnames=`hostname | sed "s,\([^.]*\)\..*,\1 &,"`
hint='# added by ifup-local'
sed -i "/$hint/d" /etc/hosts
echo "$ip $hostnames $hint" >>/etc/hosts
}
case $1 in
eth*)
fn_aaa "$1"
;;
esac
答案2
您可以使用阿瓦希每次当 DHCP 更改您的 IP 时,守护进程将您的 IP 地址绑定到某个可解析的主机名(例如 linux.local)。