我有一台具有 3 个网络接口的计算机:
- eth_adsl:与我的 ADSL 盒连接的以太网接口
- eth_local :与我的本地网络连接的以太网接口
- wlan_local :我的本地网络的 WIFI 接口
这台计算机是我本地网络中其他计算机(和设备)的网关。它转发来自互联网和发送到互联网的数据包。我想用这台计算机的 WIFI 制作一个 AP(接入点)。为了简化配置,我在两个本地接口之间使用了桥接(请参阅下面的 /etc/network 接口)
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# Interface de boucle local
auto lo
iface lo inet loopback
# Interface Ethernet secondaire
# interface de connection a Internet
auto eth_adsl
iface eth_adsl inet dhcp
# WIFI
iface wlan_local inet static
wireless-mode master
#Bridge
auto
bridge_local
iface bridge_local inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
bridge_ports eth_local wlan_local
post-up /etc/init.d/isc-dhcp-server start
pre-down /etc/init.d/isc-dhcp-server stop
在我的 DHCP 服务器中我做了以下配置 (/etc/default/isc-dhcp-server)
INTERFACES= "bridge_local"
结果: 本地网络中其他通过以太网连接的计算机运行正常,但尝试通过 WIFI 连接的计算机却无法工作。它们可以与 AP 关联,但之后无法获取有效 IP。因此,DHCP 似乎无法与接口 wlan_local 配合使用……这很奇怪,因为我在 /var/log/syslog 中没有看到任何有关 DHCP 的错误消息
这个问题困扰了我好几天。你有什么想法或测试吗?非常感谢
我的发行版是 Ubuntu 16.04.6 LTS
答案1
制作 AP 的最佳方式是使用hostapd
,它将配置 wifi iface 并将其设置为本地网桥的从属设备。
安装 hostapd
$ sudo apt-get install hostapd
配置起来非常简单单一配置文件/etc/hostapd/hostapd.conf
。
替换以下选项:
interface=wlan_local
bridge=bridge_local
ssid=<your_ssid>
password=<your_password>
country_code=FR // <- in my case
bridge_ports eth_local wlan_local
用bridge_ports eth_local
以下行替换 /etc/network/interfaces
使用以下方式重启网络systemctl restart networking
开始hostapd
使用systemctl start hostapd
一旦hostapd
启动,您的 wifi iface 就会成为桥接器的成员,然后 DHCP 将通过桥接器转发。
瞧!