我有 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 魔法会更好地设置接口什么的)
我的主要理论是,我没有做过任何事情ip
或dnsmasq
以某种方式“启用路由”。
要启动系统运行,我(以 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 配置中)