无法通过主机名远程连接到服务器,IP 地址有效 - CentOS 7

无法通过主机名远程连接到服务器,IP 地址有效 - CentOS 7

我刚刚安装了 CentOS 7,并按照给出的方式配置了我的网络这里

当我执行 cat /etc/resolv.conf 时,我得到:

# Generated by NetworkManager
search home
nameserver <IP address>

所以我想我只有一个 DNS,并且在 /etc/sysconfig/network-scripts/ifcfg-enp5s0 文件中仅包含 DNS1=""。

当我执行 route -n 时,我得到:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         <IP Address-1>      0.0.0.0         UG    100    0        0 enp5s0
<IP Address-2>      0.0.0.0         255.255.255.0   U     100    0        0 enp5s0

我假设我的网关是上面的 IP 地址 1,并在配置文件中更新了相同的内容。现在我的 /etc/sysconfig/network-scripts/ifcfg-enp5s0 如下所示:

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp5s0"
UUID="ae988f3f-1fdb-4613-a7bc-c43fb8076c15"
DEVICE="enp5s0"
ONBOOT="yes"
IPADDR="172.XX.X.XX"
PREFIX="24"
GATEWAY="172.XX.X.X"
DNS1="172.XX.X.X" 
DNS2="172.XX.X.X"

DNS1、DNS2都与网关相同。

我的 /etc/resolv.conf 如下所示: # Generated by NetworkManager domain hom search home nameserver 172.XX.X.X

更新所有这些值并在 /etc/hostname 文件中将我的计算机命名为 centos7 后,我无法连接到该计算机,ssh user_name@hostname但可以正常工作。此外,计算机登录后,提示符如下所示:ssh [email protected][user_name@hostname ~]$

我们确实有其他运行 Centos 6 的机器,没有遇到这样的问题。我们使用主机名进行远程连接。我只在 centOS 7 上遇到这个问题。此外,当我这样做时host <IP ADDRESS>,所有其他机器都显示其主机名,但 Centos 7 没有。它只是说new-host-23.home

不确定这是机器问题还是 DNS 问题。我在 Stack overflow 上的另一个类似问题中没有找到解决方案。请有人帮帮我。

答案1

首先,确认以下值是否正确:

domain hom

然后,在您的 SSH 客户端机器上执行一个简单的网络测试:

nslookup <centos7_hostname>

积极结果应类似如下:

Non-authoritative answer:
Name:    www.google.com
Addresses:  216.58.221.100

如果您无法从 NSLOOKUP 获得成功响应,则需要检查相关的 DNS 记录是否存储在您的本地 DNS 服务器上。

答案2

您已输入:

BOOTPROTO="dhcp"

但它应该是:

BOOTPROTO="none"

使用您的配置,您仍在使用 DHCP,因此获得另一个 IP 并不奇怪……因为您的 IP 设置被忽略了。

相关内容