我正在设置 CentOS 服务器的网络唤醒,以便可以通过互联网唤醒它。我在服务器上设置了静态 IP 地址,保留路由器上的 IP 地址,并创建服务器的 IP 和 MAC 地址的静态 ARP 条目。
问题是,如果我的服务器没有向外网发出主动请求,那么几分钟后,我将无法通过 SSH、ping 等方式到达本地网络中的服务器。而删除后可以立即到达服务器路由器上的静态 ARP 条目。
如果我在我的服务器上持续“ping”某个网站(例如 google.com),则无论我是否绑定静态 ARP 条目,始终可以访问该服务器。我删除了路由器上的静态 ARP 条目,如果我的服务器“ping”某个网站,我可以在路由器的活动 ARP 客户端页面上找到我的服务器的 IP 和 MAC。如果我让我的服务器保持空闲状态并且不执行任何操作,那么几分钟后,我的服务器的条目将从路由器的活动 ARP 客户端页面中消失。同时,如果我没有激活路由器上的 ARP 绑定条目,我仍然可以访问我的服务器。
我哪里做错了?我检查了 ARP 绑定条目一千遍,我很确定我没有填写错误的 ip 地址和 MAC 地址。
我使用的是CentOS 7,网络设置文件如下:
TYPE=Ethernet
BOOTPROTO=static
# ====== static ip setup =======
IPADDR=192.168.10.100
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=192.168.10.1
NM_CONTROLLED=no
# ==============================
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=enp0
UUID=869753b9-240b-445b-5412-98d88dff542a
DEVICE=enp0
ONBOOT=yes
ethtool enp1s0
显示以下内容:
[root@192 network-scripts]# ethtool enp1s0
Settings for enp1s0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric Receive-only
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
drv probe ifdown ifup
Link detected: yes