我有一个需要更改主机名的 redhat (EL5) 服务器。我正在尝试将其恢复到已知状态以帮助进行服务器配置活动。
作为更改主机名的一部分,我正在更新 /etc/sysconfig/network 和 /etc/hosts。我也有一个对主机名的显式调用。我想要的状态是服务器认为它的主机名是“localhost”。对“主机名”的调用将返回“localhost”。
我遇到的问题是,当我重新启动时,主机名恢复为“localhost.companyname.com”,这不是我想要的。如何确保在重新启动时将主机名设置为“localhost”?
我的 /etc/sysconfig/network 文件包含:
NETWORKING=yes
HOSTNAME=localhost
GATEWAY=123.123.123.123 #I do have a proper IP address here
Run Code Online (Sandbox Code Playgroud)
我的 /etc/hosts 文件包含:
127.0.0.1 localhost.localdomain localhost
172.21.1.1 localhost.companyname.com localhost
Run Code Online (Sandbox Code Playgroud) 我已经在“站点”文件夹中配置了我的所有网站,以便在我的浏览器中进行测试。当我输入一个网址时,例如http://test.dev,我得到“It Works”。
为什么?
我购买了一台主机,允许我每月传输 10 GB。
如果我在同一台服务器上从脚本到脚本发出一些 cURL 请求(在这种情况下它是一种“本地请求”),这 10 GB 的传输会受到影响吗?
我在 Linux 机器上设置了 Kerberos v5 服务器,并且在连接到其他主机(使用 samba、ldap 或 ssh)时运行良好,我的 kerberos 数据库中有这些主机。
我可以使用 kerberos 对本地主机进行身份验证吗?如果可以的话,有什么理由不应该吗?我还没有为本地主机创建 kerberos 主体。我认为我不应该;相反,我认为校长应该解决机器的完整hostname. 那可能吗?
理想情况下,我想要一种仅在一台服务器(无论是 kerberos、DNS 还是 ssh)上配置它的方法,但是如果每台机器都需要一些自定义配置,那也可以。
例如 $ ssh -v localhost
...
debug1: Unspecified GSS failure. Minor code may provide more information
Server host/localhost@EXAMPLE.COM not found in Kerberos database
...
Run Code Online (Sandbox Code Playgroud)
编辑:
所以我有一个坏的 /etc/hosts 文件。如果我没记错的话,我用 Ubuntu 获得的原始版本有两个 127.0.0. IP 地址,例如:-
127.0.0.1 localhost
127.0.*1*.1 hostname
Run Code Online (Sandbox Code Playgroud)
无缘无故,我很久以前就把我的改成了:
127.0.0.1 localhost
127.0.*0*.1 hostname.example.com hostname
Run Code Online (Sandbox Code Playgroud)
在我尝试使用 kerberos 进行 ssh 之前,这似乎适用于所有情况(最近的一项努力)。不知何故,这种配置导致 sshd 将机器的 kerberos 主体解析为“host/localhost@\n”,如果它使用 /etc/hosts 进行正向和反向 dns 查找而不是外部 dns,我认为这是有道理的。所以我注释掉了后一行,sshd …
我想在 Linux 3.x(当前为 3.2.52,但我可以根据需要升级)上设置从 127.0.0.1、端口 4242 到 11.22.33.44、端口 5353 的 TCP DNAT。
看起来简单的 DNAT 规则设置不起作用,在 中telnet 127.0.0.1 4242挂起一分钟Trying 127.0.0.1...,然后超时。也许是因为内核正在丢弃返回的数据包(例如 SYN+ACK),因为它认为它们是火星的。我不需要解释为什么简单的解决方案不起作用,我需要一个解决方案,即使它很复杂(例如它涉及创建可能规则)。
我可以从127.0.0.0/8网络外的另一个本地 IP 地址设置通常的 DNAT ,但现在我需要 127.0.0.1 作为目标地址。我知道我可以设置用户级端口转发过程,但现在我需要一个解决方案,该解决方案可以使用iptables并且不需要辅助进程进行设置。
我在谷歌上搜索了一个小时。多次询问,但我找不到任何可行的解决方案。
还有很多关于 DNAT 到 127.0.0.1 的问题,但我不需要那个,我需要相反的。
请注意,单个iptables -j REDIRECT规则不起作用,因为我需要将传出数据包的 IP 地址从 127.0.0.1-j REDIRECT更改为 11.22.33.44,并且无法更改 IP 地址。
可以在 /etc/hosts 文件中使用通配符吗?
例如,我正在开发具有用户定义子域的应用程序,如“user1.foo.bar”、“user2.foo.bar”。
我正在寻找这样的东西:
127.0.0.1 foo.bar
127.0.0.1 *.foo.bar
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它工作?
我正在使用 Mac 内置的 Apache,一切都很好,直到出现问题。我认为这是 .hosts 文件。
http://localhost结果与“它有效!” 消息,而找不到任何 /[文件夹名]。但是,127.0.0.1 工作得很好,带我到我用户名上的 /Sites。
我的 .hosts 文件如下所示:
127.0.0.1 localhost
255.255.255.255 broadcasthost
Run Code Online (Sandbox Code Playgroud)
我不太熟悉 Apache 的工作原理;我做错了什么?我应该在哪里看?
我在 Windows 上运行并试图让 Wireshark 获取我的网络流量。它可以很好地接收所有出站和入站流量,除了我在本地系统上运行的客户端/服务器。事实上,即使我通过 LAN IP 发送数据包,它仍然没有接收到流量。Windows 是否有一些聪明/愚蠢的东西可能会路由它以便它不会通过网络传播?我能做些什么来强制数据包沿着预期的路径蜿蜒而下(即出去到我的路由器然后再回来,以便 Wireshark 可以看到它)?
我想要的是确保我发送到 192.168.xx 的数据包不会“重定向”到 127.0.01 - Wireshark 无法嗅探。我怀疑 Windows 正在检测我正在连接到同一台机器,并且通过跳过网络来“聪明” - 我需要阻止它这样做。
我正在运行 ubuntu 并且运行 apache,但是,我无法在内部 ping 到我的静态 IP,也无法http://207.40.XXX.XX使用我的静态 IP浏览Web 服务器。我只能 ping/browse localhost, 127.0.0.1, and 192.168.0.120 OR 207.40.XXX.XX只能从外部世界。
# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 my-server.myhost.com my-server
# hostname
my-server
# netstat -tapn
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:29754 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?
如何找到向本地主机发出 ping 的进程?虽然它不是脚本,但 ping 命令可以简单地从进程表中 grep。
我使用过wireshark,但是找出实际导致ping的进程没有帮助。
非常感谢您的任何提示。