V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
summerlv
V2EX  ›  程序员

想问问为嘛 CentOS7 上编辑了 hosts 文件后添加了 ip 映射但是不起作用

  •  
  •   summerlv · 2023-03-10 19:30:36 +08:00 · 1389 次点击
    这是一个创建于 627 天前的主题,其中的信息可能已经有所发展或是发生改变。
    情况是这样的:
    最近在学习 Hadoop ,然后搭建了三台虚拟机,在每台虚拟机上编辑 hosts 文件会出现以下问题:
    1. vim /etc/hosts 时,会先让输入密码。
    2. 输入 root 用户密码后会左下方会提示[只读]-[已加密] 字样
    3. 将写好的 ip 与主机名映射添加到 hosts 文件后没效果
    比如我添加
    192.168.1.11 hadoop1
    192.168.1.12 hadoop2

    这时候我在 hadoop1 上 ping hadoop2 会提示找不到主机...
    但是我直接 ping 192.168.1.12 是可以 ping 通的。

    求大佬指明下,浏览器也搜了,ChatGPT 也问了,都没解决,只好发帖问问了。
    20 条回复    2023-03-11 08:33:49 +08:00
    summerlv
        1
    summerlv  
    OP
       2023-03-10 19:34:10 +08:00
    4. 输入 root 用户密码后进入 hosts 会看到一些不知道是乱码还是被加密后的一些文本。
    hefish
        2
    hefish  
       2023-03-10 19:34:57 +08:00
    不是三台机器吗?怎么只写了两台的 IP ?
    不是应该 sudo vi /etc/hosts 吗?
    jimmy2010
        3
    jimmy2010  
       2023-03-10 19:36:24 +08:00 via Android
    是 Windows 下编辑后再传上去的吗?
    summerlv
        4
    summerlv  
    OP
       2023-03-10 19:38:32 +08:00
    @hefish
    关于 ip 罗列的问题,这个没关系,我只是简单罗列了下说明下问题而已;

    另外,sudo vi /etc/hosts 也试过,进去添加后也没效果,况且不管是在 root 用户登录的情况下还是普通用户登录的情况下进入 hosts 都需要输入 root 用户的密码。
    summerlv
        5
    summerlv  
    OP
       2023-03-10 19:39:17 +08:00
    @jimmy2010 不是,是直接在 VMware 上装的 centos7 上直接编辑的
    pengtdyd
        6
    pengtdyd  
       2023-03-10 19:39:25 +08:00
    hostname 没改
    summerlv
        7
    summerlv  
    OP
       2023-03-10 19:41:08 +08:00
    @pengtdyd
    改了的,hostname 都是改了的,比如 hadoop1 对应的就是 192.168.1.11 ,hadoop2 对应的就是 192.168.1.12
    pengtdyd
        8
    pengtdyd  
       2023-03-10 19:42:34 +08:00
    hostnamectl 执行这个命令看看
    summerlv
        9
    summerlv  
    OP
       2023-03-10 19:45:44 +08:00
    @pengtdyd 执行情况如下:
    [lv@hadoop102 bin]$ hostnamectl
    Static hostname: hadoop102
    Icon name: computer-vm
    Chassis: vm
    Virtualization: vmware
    Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
    Kernel: Linux 3.10.0-1160.el7.x86_64
    Architecture: x86-64
    -------------------------------------------------------------
    [lv@hadoop103 bin]$ hostnamectl
    Static hostname: hadoop103
    Icon name: computer-vm
    Chassis: vm
    Virtualization: vmware
    Operating System: CentOS Linux 7 (Core)
    CPE OS Name: cpe:/o:centos:centos:7
    Kernel: Linux 3.10.0-1160.el7.x86_64
    Architecture: x86-64
    pengtdyd
        10
    pengtdyd  
       2023-03-10 19:50:55 +08:00
    你 Static hostname 是 hadoop102 ,从你的描述来看,你确定你 ping 对了?你从 hadoop102 这个主机 ping hadoop103 试试
    summerlv
        11
    summerlv  
    OP
       2023-03-10 19:55:22 +08:00
    @pengtdyd
    我的问题中描述的 ip 和主机名只是举例使用的,实际情况下,我从 hadoop102 上 ping hadoop103 是 ping 不通的,但是我在 hadoop102 上 ping 192.168.10.103 是可以 ping 通的
    ik
        12
    ik  
       2023-03-10 20:07:01 +08:00 via iPhone
    @summerlv 我咋感觉你这是 hosts 文件没写进去呢
    adoal
        13
    adoal  
       2023-03-10 20:27:04 +08:00
    file /etc/hosts
    cat /etc/hosts
    都显示啥?我感觉像是某次编辑时在 vim 里不小心把文件加密了。
    summerlv
        14
    summerlv  
    OP
       2023-03-10 21:12:35 +08:00
    [lv@hadoop102 bin]$ file /etc/hosts
    /etc/hosts: Vim encrypted file data

    看结果好像是加密了,但是我没做过这样的操作啊?


    [lv@hadoop102 bin]$ cat /etc/hosts
    ▒▒[▒▒▒|▒▒i▒>ɸ6W▒▒▒.▒^r&▒$˂h$v'▒&▒]▒pO▒▒a▒▒▒▒C▒▒}8$▒▒▒▒▒
    `▒ծ▒▒^*m▒▒▒W)C(^▒▒▒g▒▒▒▒C▒G▒,▒pj▒)▒_ex▒7׈7▒q▒s▒u-▒2|H▒▒▒n▒ Q=.K ▒J▒▒,▒▒▒V�?▒?NձjD▒µ▒!▒ ▒x[lv@hadoop102 bin]$


    是因为 vim 加密了 hosts 文件,然后域名解析就解析不了里面的内容了吗?
    pengtdyd
        15
    pengtdyd  
       2023-03-10 21:31:42 +08:00
    看看 hosts 文件的编码是不是有问题
    wolfmei
        16
    wolfmei  
       2023-03-10 22:18:48 +08:00
    删了直接新建一个
    AngryPanda
        17
    AngryPanda  
       2023-03-11 01:01:14 +08:00 via iPhone
    hosts 文件还可以加密的嘛?
    summerlv
        18
    summerlv  
    OP
       2023-03-11 08:20:52 +08:00
    @pengtdyd 怎么查看编码呢?
    summerlv
        19
    summerlv  
    OP
       2023-03-11 08:32:19 +08:00
    哇塞,我终于解决了!!!
    参考了这篇文章: https://www.lxlinux.net/547.html
    实际情况就是 vim 把文件给加密了的原因导致 hosts 解析不了。
    用 vim 设置不要密码就行了:

    :set key=

    然后保存下,这样就行了。
    summerlv
        20
    summerlv  
    OP
       2023-03-11 08:33:49 +08:00
    @adoal 谢谢大佬的提示。现在在 hadoop102 上 ping hadoop103 可以 ping 通了,哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3272 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:02 · PVG 22:02 · LAX 06:02 · JFK 09:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.