Hav*_*c P 7 dhcp centos rhel5 linux-networking amazon-ec2
我在 EC2 上运行 Amazon Linux(基于 RHEL5)。
我有自己的域名指向实例的弹性 IP。Amazon 通过 DHCP 自动为实例分配一个通用(并且在 Internet 上不可见)主机名。
这个仅供内部使用的主机名会中断发送电子邮件,因为 SMTP 服务器想要查看真实(和公共)主机名。我可以通过手动运行“主机名”命令来设置真正的公共主机名来修复电子邮件。
我在 /etc/sysconfig/network 中设置了 HOSTNAME,但 DHCP 主机名似乎覆盖了它。
有没有一种好的/正确的方法来设置我的主机名并且总是忽略 DHCP 对它的看法,而仍然使用 DHCP 否则?
我可以想到很多麻烦的事情要做(运行一个脚本来撤销 DHCP 所做的事情,或者其他什么),但想知道是否有一个实际的配置设置来强制主机名。
试试这个.. 编辑
/etc/sysconfig/network-scripts/ifcfg-eth0
Run Code Online (Sandbox Code Playgroud)
然后加
DHCP_HOSTNAME=host.domain.com
Run Code Online (Sandbox Code Playgroud)
看看这是否清除它。
小智 5
对于 Centos 6 和 Redhat 6,每次获得新 IP 或重新启动,同时使用 DHCP 时,您将不断丢失您希望主机在本地使用的任何主机名。(Redhat 5 / Centos 5 信息也在下面)
(如果您编写备份或类似脚本,依赖静态主机名,这可能会很痛苦)
如果您使用 dhclient 并不断让您想要的 localhostname 被 DHCP 提供的主机名覆盖(忘记),请继续阅读。
要强制使用本地主机名(并且仍然让 DHCP 为您提供它想要的任何 IP),您需要修改(或创建)文件/etc/dhcp/dhclient-eth0.conf
.
(将字符串 eth0 替换为您的主机名被覆盖的任何网络接口,eth0 适用于大多数)
对于我的设置,这个简单的文件内容有效:
interface "eth0"
{
supersede host-name "myworkbox";
}
Run Code Online (Sandbox Code Playgroud)
我保存到/etc/dhcp/dhclient-eth0.conf
.
如果您有 Redhat 5 / Centos 5,请尝试执行相同操作,但文件位置应为/etc/dhclient-eth0.conf
.
您将通过查看dhclient-${DEVICE}.conf
文件中引用的部分了解为什么会发生这种情况
/etc/sysconfig/network-scripts/ifup
如果您需要获取特定的 IP 地址,则需要查看 dhclient 的联机帮助页。
迈克的答案听起来更好并且可能会起作用,但如果它给您带来麻烦,您可以随时使用大锤。:)
添加
/bin/hostname HOSTNAME
Run Code Online (Sandbox Code Playgroud)
到
/etc/rc.local
Run Code Online (Sandbox Code Playgroud)
:)
归档时间: |
|
查看次数: |
14059 次 |
最近记录: |