Google Cloud 自定义 GCE 主机名

2020 年 4 月 7 日 谷歌开发者
文 / Go
ogle Cloud 魏衡和盛骏


DHCP 客户端将覆盖 GCE 主机名

GCE 的网卡 IP 地址是由 DHCP 分配,同时,DHCP 服务器还将发送 DNS 服务器和主机名,使用的 DHCP Option 有:DHCP Option 6-DNS 服务器,以及 DHCP Option 12-主机名。


NetworkManager DHCP 租约信息

cat /var/lib/NetworkManager/dhclient-xxx.lease:


系统日志信息:


点击以下文件:
cat /etc/dhcp/dhclient.d/google_hostname.sh


点击文件
cat /usr/bin/google_set_hostname

如果您已经修改了 DNS 服务器和主机名,则当 dhcp 客户端请求 IP 地址时,配置将会被覆盖。


操作流程如下:
  1. DHCP Server ->
  2. NetworkManager DHCP Option ->
  3. DHCP client ->
  4. google_set_hostname ->
  5. change DNS server & hostname(更改 DNS 服务器或者主机名)


这篇文章将说明如何保持主机名(hostname)不被改变。



解决方案

根据上面的描述,我们可以更改以下的任何一项:
  1. Don’t receive NetworkManager config on dhcp option 12
  2. Change /etc/dhcp/dhclient.d/google_hostname.sh
  3. Change /usr/bin/google_set_hostname


Can prohibit DHCP change the hostname.
这样做,就可以禁止 DHCP 更改主机名。


2.1 更改 NetworkManager 的配置

更改 NetworkManager 配置的目的,是取代 DHCP 选项 12-hostname。DHCP 客户端将不再通过 DHCP 接收主机名。


2.2.1 设置 /etc/hostname

设置静态主机名:

echo whvm05.weiheng.ink > /etc/hostname


2.1.2 取代 dhcp 选项的 12-hostname

Create a config file, add config to supersede the dhcp option:
创建一个配置文件,添加配置以取代 dhcp 选项:

touch /etc/dhcp/dhclient-eth0.conf
echo ‘supersede host-name “”;’ >> /etc/dhcp/dhclient-eth0.conf


2.1.3 重新启动 NetworkManager

systemctl 重新启动 NetworkManager


检查配置:

cat /var/lib/NetworkManager/dhclient-eth0.conf

NetworkManager 自动生成的配置文件将包含 2.1.2 中的先前配置。


2.1.4 测试

如果重新引导 VM ,则主机名仍保持为 / etc / hostname 配置。


2.2 更改 google_hostname.sh

2.2.1 编辑 /etc/hostname 文件

echo whvm03.weiheng.ink > /etc/hostname


2.2.2 移除 yum-cron

任何配置的改变都会有 yum-cron 的存储,所以我们需要移除它们:

yum remove yum-cron -y


2.2.3 编辑 google_hostname.sh

将 “google_set_hostname” 替换为“:”:

sed -i “1,$ s/google_set_hostname/:/g” /etc/dhcp/dhclient.d/google_hostname.sh
cat /etc/dhcp/dhclient.d/google_hostname.sh



2.2.4 设置 hostname

hostname `cat /etc/hostname


2.2.5 测试


在 reboot 之后,主机名仍还没有变化:


2.3 更改 google_set_hostname

2.3.1 编辑 google_set_hostname

设置新的 new_host_name

sed -i ‘1 anew_host_name=cat /etc/hostname’ /usr/bin/google_set_hostname
sed -i ‘1,$ s/%%.*//g’ /usr/bin/google_set_hostname


2.3.2 移除 yum-cron

正如 2.2 中提到的那样,需要移除 yum-cron ,以保证配置没有随之改变:

yum remove yum-cron -y


2.3.3 测试



总结

谷歌计算引擎的代理将更改虚拟机的主机名,通过更改 dhcp 客户端配置,以及谷歌代理脚本,可以保持主机名不变。



更多 Cloud 阅读:



登录查看更多
0

相关内容

动态主机设置协定(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用 UDP 协议工作。
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
【Amazon】使用预先训练的Transformer模型进行数据增强
专知会员服务
56+阅读 · 2020年3月6日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
PHP使用Redis实现订阅发布与批量发送短信
安全优佳
7+阅读 · 2019年5月5日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
Directions for Explainable Knowledge-Enabled Systems
Arxiv
26+阅读 · 2020年3月17日
Arxiv
34+阅读 · 2019年11月7日
Semantics of Data Mining Services in Cloud Computing
Arxiv
4+阅读 · 2018年10月5日
Bidirectional Attention for SQL Generation
Arxiv
4+阅读 · 2018年6月21日
Arxiv
151+阅读 · 2017年8月1日
Arxiv
5+阅读 · 2017年7月23日
VIP会员
相关VIP内容
【实用书】流数据处理,Streaming Data,219页pdf
专知会员服务
76+阅读 · 2020年4月24日
【Amazon】使用预先训练的Transformer模型进行数据增强
专知会员服务
56+阅读 · 2020年3月6日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
相关资讯
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
PHP使用Redis实现订阅发布与批量发送短信
安全优佳
7+阅读 · 2019年5月5日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
Top
微信扫码咨询专知VIP会员