无法 ping 通 LAN 上的设备

无法 ping 通 LAN 上的设备

我有 2 个接入点通过 PoE 交换机连接到笔记本电脑的以太网端口。我已经为它们分配了静态IP和名称dnxmasq(我相信是成功的)。但是,ping 和 ssh 表示无法访问。那么我错过了什么,我怎样才能成功呢ping 10.0.0.10

更多信息:dnsmasq 日志确认 DHCP 事务成功,我的 AP 现在应该处于10.0.0.10无限10.0.0.11租约状态。我的笔记本电脑的以太网接口enp0s31f6已打开,即使没有运行 dnsmasq,10.0.0.0我也可以。ping 10.0.0.0

(就堆栈而言,我正在使用 systemd、wayland、sway(从控制台启动,没有登录/显示管理器)。iwd对于无线(所以没有 NetworkManager)。我列出这些是为了防止有一些 GDM/Gnome/NM 魔法会更好地设置接口什么的)

我的主要理论是,我没有做过任何事情ipdnsmasq以某种方式“启用路由”。

要启动系统运行,我(以 root 身份)执行以下操作:

# ip link set enp0s31f6 up
# ip addr add 10.0.0.0/16 dev enp0s31f6
# systemctl start dnsmasq.service

这是无法“ping”的机器:

$ ping 10.0.0.10
PING 10.0.0.10 (10.0.0.10) 56(84) bytes of data.
From 10.0.0.0 icmp_seq=1 Destination Host Unreachable
From 10.0.0.0 icmp_seq=2 Destination Host Unreachable
From 10.0.0.0 icmp_seq=3 Destination Host Unreachable
[...]

从好的方面来看,它似乎知道对该 IP 的 ping 需要来自以太网接口的 IP。值得补充的是,iwd / wifi 网络工作正常,我可以 ping 互联网上的主机。

我没有习惯ip route手动设置任何东西,但看起来它做了正确的事情(?):

$ ip route | grep 10.0
10.0.0.0/16 dev enp0s31f6 proto kernel scope link src 10.0.0.0

ip address确认我已添加 10.* 子网(如果这是正确的术语)。我在这里截取了输出以仅显示相关接口:

$ ip addr
...
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether e8:6a:64:1f:02:64 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.0/16 scope global enp0s31f6
       valid_lft forever preferred_lft forever
    inet6 fe80::ea6a:64ff:fe1f:264/64 scope link proto kernel_ll 
       valid_lft forever preferred_lft forever
...

这是/etc/dnsmasq.conf

interface=enp0s31f6
dhcp-authoritative
bind-interfaces

# Static IPs: (mac, name, IP, lease-time)
dhcp-host=e8:6a:64:1f:02:64,host,10.0.0.0,infinite
dhcp-host=78:8a:20:06:b1:b0,ap1,10.0.0.10,infinite
dhcp-host=18:e8:29:47:66:a4,ap2,10.0.0.11,infinite

# Dynamic range of IPs to supply:
dhcp-range=10.0.1.0,10.0.100.255,255.255.0.0,5m # TODO change 5m @@

## Probably-irrelevant DNS stuff:
# Set gateway / probably only for internet forwarding
dhcp-option=3,10.0.0.0
# Set DNS servers to announce / ?
dhcp-option=6,10.0.0.0

答案1

在您的配置中,您错误地设置了 IP 地址:

ip add addr 10.0.0.0/16

10.0.0.0是网络地址,第一个可用地址是10.0.0.1

另外,您还应该检查下面是否使用与网关和 DNS 相同的地址(在 DHCP 配置中)

相关内容