在 Ubuntu 上无需互联网即可运行 Web 应用程序

在 Ubuntu 上无需互联网即可运行 Web 应用程序

我有一个在 Apache 服务器上运行的 Web 应用程序,它通过互联网响应移动客户端请求。我的计划是将其实现到没有互联网连接的离线 Linux 电脑上。 离线实施

我需要一个本地离线网络,其中将有应用服务器和客户端设备,如上图所示。我尝试了以下步骤。

  • 实现热点网络,使移动设备能够连接到应用程序。
  • 在同一台 Linux PC 上配置 DNS 来引导客户端请求。
  • 将所有客户端请求定向到码头工人其中包含 Web 应用程序。

我按照步骤配置了 DNS这里。我尝试使用hostapd类似这里但对上面提到的 DNS 配置感到困惑。

我的问题是,

  1. 这样是否可以达到我的目标?如果不能,那么还有什么方法可以实现呢?
  2. 如果可能的话,使用 DNS 配置热点的正确步骤是什么?
  3. 如何为宿主机开启docker Apache服务?

任何帮助都将不胜感激。提前致谢。

答案1

您需要使用dhcpdDHCP 或手动为客户端提供默认 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.0192.168.8.0

查阅docker/your容器的文档来了解如何在你的主机上打开端口80,然后你就可以开始了!

相关内容