我的路由器名称是“网关”。这个设置在哪里?我可以更改它吗?

我的路由器名称是“网关”。这个设置在哪里?我可以更改它吗?

升级到 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 -xnslookup不知道此名称:

# 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这样的工具无法找到它。 dignslookup

它也用命令显示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 或类似的内容。

相关内容