更改并同步debian linux上的主机名/ IP地址更改

时间:2012-01-13 20:40:23

标签: linux debian ip-address hostname

要更改静态IP地址,我将/etc/network/interfaces的内容设置为

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
address <newaddress>
netmask <netmask>
gateway <gateway>
dns-nameservers <dns1> <dns2>

然后执行ifdown eth0 && ifup eth0

要更改主机名,请执行以下操作

执行hostname <newname>

/etc/hostname的内容设置为<newname>

<oldname>替换为<newname>

中的/etc/hosts

问题

IP地址和主机名更改都不会生效。

如果我更改了ip地址并ping了主机名,它仍然会解析为oldaddress

如果我更改主机名并ping新主机名,则无法解析为ip

如果我更改主机名并ping旧主机名,它仍然可用并解析当前的IP地址。

我重新启动机器,它的行为方式仍然相同。

我错过了什么?

父网络可以扮演这个角色吗?

另请注意,我的机器认为更改主机名后会更新主机名。

3 个答案:

答案 0 :(得分:0)

我认为这实际上不是问题,这种行为可以通过arp缓存来解释。

ARP工具操纵或显示内核的IPv4网络邻居,这也包括你的主机。

arp命令有许多可以处理的开关,例如,以下命令:

arp -n 

此命令打印出arp缓存条目列表。

不幸的是没有命令刷新它,因此你有两个选择。

选项1:您等待缓存更新(不会花费很长时间)

选项2:您运行以下非常基本的脚本,您会看到:

#!/bin/sh 
for i in `awk -F ' ' '{ if ( $1 ~ /[0-9{1,3}].[0-9{1,3}].[0-9{1,3}].[0-9{1,3}]/ ) print $1 }'           /proc/net/arp` ; 
do 
    arp -d $i 
done

脚本不是我的,我已经报道了我通常运行的那个最初来自这个做得很好的例子:

http://www.lainoox.com/display-add-flush-arpcache-linux-arp/

我希望这会有所帮助。

答案 1 :(得分:0)

更改/ etc / hostname会影响更改终端上显示的主机名,欢迎消息,日志以及系统使用的任何其他位置hostname。这些都是虚荣的变化。

Channging / etc / hosts将更改您的本地主机名解析(即将IP地址转换为主机名,反之亦然)任何DNS不会解析或您想在本地覆盖的任何内容。默认情况下,本地文件会覆盖网络分辨率。这是在/ etc / nsswitch中确定的,它首先使用本地文件,然后使用dns进行主机解析。

这里要记住的重要一点是,这些更改不会影响网络上的如何决定该主机的IP地址或名称,当然这是通过DNS或其本地处理的/ etc / hosts文件。

答案 2 :(得分:0)

是的,resolv.conf适用于dns。就像处理NAMES和任何与互联网有关的事情一样。比如ping。 dns resolvc本地天气你有服务器或没有因此主机名/ ect主机也处理DNS。你的resolv.conf将在你连接时从你的isp更新,或者你可以手动更改它/在桥接接口上设置更动态的东西

相关问题