我正在使用 Raspbian(如 Debian)并且我使用了本教程https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/将我的 Raspbian 设置为 wifi 接入点。客户端可以成功连接到AP。但我该怎么做 - 客户端应该能够打开页面http://本地它应该指向我的 AP 上的 apache。我不想在客户端上设置 /etc/hosts (它们可能会有所不同),因此我需要直接在 AP 上设置它,并且当客户端打开时它应该为客户端提供正确的 IPhttp://本地。
我关注了 dnsmasq 这个如何使用主机名从 LAN 访问计算机但它不起作用(它工作了一段时间,但后来停止工作)
我应该如何设置我的 AP 以提供正确的名称 IP 转换?
答案1
可以在 dnsmasq 中定义本地域;并在/etc/hosts
运行 dnsmasq 的服务器/Linux 中定义您的主机。
添加自定义域
可以将自定义域添加到(本地)网络中的主机:local=/home.lan/ domain=home.lan
在此示例中,可以 ping 主机/设备(例如在主机文件中定义)
hostname.home.lan
。
取消注释 Expand-hosts 以将自定义域添加到主机条目:expand-hosts
如果没有此设置,您必须将域添加到 的条目中
/etc/hosts
。
答案2
我的 LAN 通过华硕 rt-ac66u 路由器连接,但大多数路由器应该可以工作。转到路由器配置,并在 LAN(静态 dhcp 手动分配 IP)部分下分配 IP 地址和主机名,以及要在 LAN 内访问的树莓派的 MAC 地址。这样做你的树莓派将始终从 DHCP 服务器(在这种情况下是我的华硕路由器)获得相同的 IP 地址。
现在,从您尝试连接的位置(例如 LAN 中的另一台计算机?),检查/etc/resolv.conf文件,如果不存在,则只需添加 LAN(网关)内路由器的 IP 地址。就我而言:
nameserver 192.168.1.1
现在您应该能够使用树莓派的主机名对其进行 ping 操作...
关于评论的扩展答案彼得
在您的树莓派 AP 中:
您可以使用/etc/hosts.dnsmasq文件添加链接到 IP 地址的主机名:
192.168.1.10 host_1
192.168.1.11 host_2
不要忘记添加这一行/etc/dnsmasq.conf:
addn-hosts=/etc/hosts.dnsmasq
现在在你的/etc/主机您的 AP:
127.0.0.1 localhost.localdomain localhost
192.168.1.1 raspberry-pi
您应该能够从 LAN 中的任何位置使用主机名进行访问:
- 树莓派
- 主机_1
- 主机_2