我有一个在 Apache 服务器上运行的 Web 应用程序,它通过互联网响应移动客户端请求。我的计划是将其实现到没有互联网连接的离线 Linux 电脑上。
我需要一个本地离线网络,其中将有应用服务器和客户端设备,如上图所示。我尝试了以下步骤。
- 实现热点网络,使移动设备能够连接到应用程序。
- 在同一台 Linux PC 上配置 DNS 来引导客户端请求。
- 将所有客户端请求定向到码头工人其中包含 Web 应用程序。
我按照步骤配置了 DNS这里。我尝试使用hostapd
类似这里但对上面提到的 DNS 配置感到困惑。
我的问题是,
- 这样是否可以达到我的目标?如果不能,那么还有什么方法可以实现呢?
- 如果可能的话,使用 DNS 配置热点的正确步骤是什么?
- 如何为宿主机开启docker Apache服务?
任何帮助都将不胜感激。提前致谢。
答案1
您需要使用dhcpd
DHCP 或手动为客户端提供默认 DNS 服务器。您用于配置 hostapd 的指南使用 dnsmasq 作为 DHCP 服务器,但是您没有使用 dnsmasq,而是使用 BIND9(它只执行 DNS),因此需要单独的 DHCP 服务器。
安装dhcpd
,并使用以下内容/etc/dhcpd.conf
作为模板:
default-lease-time 600;
max-lease-time 7200;
option routers YOUR_SERVER_IP_ADDRESS;
option domain-name-servers YOUR_SERVER_IP_ADDRESS, YOUR_SERVER_IP_ADDRESS;
subnet FIRST_THREE_OCTETS_OF_YOUR_SUBNET.0 netmask 255.255.255.0 {
pool {
max-lease-time 600;
range FIRST_THREE_OCTETS_OF_YOUR_SUBNET.10 FIRST_THREE_OCTETS_OF_YOUR_SUBNET.50;
option routers YOUR_IP_ADDRESS;
option domain-name-servers YOUR_IP_ADDRESS, YOUR_IP_ADDRESS;
allow unknown-clients;
}
}
如果您按照链接指南操作,YOUR_SERVER_IP_ADDRESS
应该是 192.168.8.1,并且FIRST_THREE_OCTETS_OF_YOUR_SUBNET
应该是- 这意味着应该写成192.168.8
这样的行。FIRST_THREE_OCTETS_OF_YOUR_SUBNET.0
192.168.8.0
查阅docker/your容器的文档来了解如何在你的主机上打开端口80,然后你就可以开始了!