升级到 Ubuntu 16.04 后,我发现我的路由器不知何故多了一个名字,“网关”。我可以运行ping gateway
它,它也能正常工作,这很棒。ping routers_original_name
它仍然能正常工作。
但是 syslog-ng 现在在其远程日志中显示此“网关”名称。一般来说,我想知道这个名称从何而来。
它不在 中/etc/hosts
,也sudo grep -r gateway /etc/
没有找到任何相关内容。我的路由器的 DNS 服务器也不知道这个名字。用 Google 搜索我能想到的任何内容也没有用。
解析器以某种方式知道这个名称“网关”:
# ping gateway
PING gateway (192.168.7.1) 56(84) bytes of data.
64 bytes from gateway (192.168.7.1): icmp_seq=1 ttl=64 time=0.315 ms
^C
--- gateway ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.315/0.317/0.320/0.018 ms
# traceroute gateway
traceroute to gateway (192.168.7.1), 30 hops max, 60 byte packets
1 gateway (192.168.7.1) 0.348 ms 0.449 ms 0.586 ms
# resolveip gateway
IP address of gateway is 192.168.7.1
# resolveip 192.168.7.1
Host name of 192.168.7.1 is gateway
使用 DNS 的工具喜欢dig -x
或nslookup
不知道此名称:
# nslookup gateway
Server: 192.168.7.1
Address: 192.168.7.1#53
Non-authoritative answer:
*** Can't find gateway: No answer
显然systemd-resolved
可能是“罪魁祸首”。从它的手册页中:
systemd-resolved 为以下情况合成 DNS RR:... 主机名“gateway”解析为所有当前默认路由网关地址,按其度量排序。这会为当前网关分配一个稳定的主机名,可用于独立于当前网络配置状态引用它。
但全新启动后,它无法启动(但ping gateway
仍然有效):
% systemctl status systemd-resolved.service
* systemd-resolved.service - Network Name Resolution
Loaded: loaded (/lib/systemd/system/systemd-resolved.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:systemd-resolved.service(8)
% journalctl -u systemd-resolved
-- No entries --
答案1
gateway
是 IP 地址的默认别名,传出网络流量必须通过该 IP 地址定向。这是默认别名,但可以通过/etc/hosts
文件进行更改。
这不是通过 分配的主机名,因此像和dns
这样的工具无法找到它。 dig
nslookup
它也用命令显示route
。该route
命令仅从/proc/net/route
(由内核提供)读取数据
$ LC_ALL=C route | head -n3
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 600 0 0 wlan7
可以通过/etc/hosts
文件设置其他别名,如下例所示:
$ cat /etc/hosts | head -n 3
127.0.0.1 localhost
127.0.1.1 eagle
192.168.0.1 MY_ROUTER
$ LC_ALL=C route | head -n 3
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default MY_ROUTER 0.0.0.0 UG 600 0 0 wlan7
$ ping -c 1 MY_ROUTER
PING MY_ROUTER (192.168.0.1) 56(84) bytes of data.
64 bytes from MY_ROUTER (192.168.0.1): icmp_seq=1 ttl=255 time=1.58 ms
--- MY_ROUTER ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.586/1.586/1.586/0.000 ms
根据我在网上查到的信息,gateway
别名似乎是在内核级别设置为服务器返回的任何路由器地址dhcp
。即使在编辑后,它仍会响应 ping/etc/hosts
$ ping -c 1 gateway
PING gateway (192.168.0.1) 56(84) bytes of data.
64 bytes from MY_ROUTER (192.168.0.1): icmp_seq=1 ttl=255 time=1.90 ms
--- gateway ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 1.905/1.905/1.905/0.000 ms
答案2
它没有重命名为网关...... http://whatismyipaddress.com/gateway
如果您想更改您的 wifi 名称,请执行 ifconfig 并找到默认路由,它应该看起来像 192.168.1.1 或类似的内容。