/etc/hosts 莫名失效重写问题记录

今天在工作中,需要在 /etc/hosts 中添加几个ip和域名的映射,这是一个非常常规简单的东西。结果,过了一会,hosts突然不知道为什么被重写了,我添加的ip都不见了。
仔细看了下hosts文件开头的一段话,原来公司要求我们用的vpn会编辑hosts文件,我们用的vpn是f5(big-ip edge client)。
在这里插入图片描述
解决方法也很简单,先把vpn客户端退出,再编辑hosts文件,就可以了

### 定位和编辑 `/etc/ansible/hosts` 文件 #### 使用命令行工具定位文件 为了找到并确认 `/etc/ansible/hosts` 文件的位置,可以利用 `find` 或者 `locate` 命令来快速检索该路径下的目标文件。对于熟悉系统的管理员来说,默认情况下此文件位于 `/etc/ansible/` 目录下。 ```bash sudo find / -name "hosts" -type f 2>/dev/null | grep ansible ``` 上述命令会遍历整个文件系统寻找名为 `hosts` 的常规文件,并通过管道传递给 `grep` 进一步筛选出含有关键字 `ansible` 的结果[^1]。 #### 编辑主机清单文件 一旦确定了文件位置,则可以通过文本编辑器如 `vim`, `nano` 来打开它进行必要的更改: ```bash sudo vim /etc/ansible/hosts ``` 在此过程中,可以根据实际需求向其中添加受管节点的信息,格式通常如下所示: ```ini [webservers] web1.example.com web2.example.com [dbservers] db1.example.com ``` 每组方括号内的名称代表一类服务器集合标签,而下方则是具体机器的地址或域名列表。 #### 应用变更至 `/etc/hosts` 如果任务涉及更新本地解析表即 `/etc/hosts` ,那么可借助 Ansible playbook 实现自动化操作。下面给出了一段用于修改指定 IP 对应主机名映射关系的任务片段示例[^3]: ```yaml --- - hosts: all tasks: - name: Update local DNS resolution for current host lineinfile: path: /etc/hosts regexp: '^{{ ansible_default_ipv4.address }}' line: '{{ ansible_default_ipv4.address }} {{ inventory_hostname }}' state: present ``` 这段 YAML 脚本定义了一个简单的 Playbook 片段,旨在确保每一台被管理设备上的 `/etc/hosts` 文件都包含一条记录其默认 IPv4 地址与自身主机名之间的对应条目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值