我有一台带有 3 个网络接口的计算机:
- eth_adsl : 与我的 ADSL 盒子连接的以太网接口
- eth_local :与我的本地网络链接的以太网接口
- wlan_local : 我的本地网络的 WIFI 接口
这台计算机是我本地网络中其他计算机(和设备)的网关。它转发来自和发送到 Internet 的包。有了这台电脑的WIFI,我想做一个AP(接入点)。为了简化配置,我在两个本地接口之间使用了一个网桥(参见下面的 /etc/network interfaces)
# 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
做 AP 的最好方法是使用
hostapd
,它将配置 wifi iface 并将其设置为本地网桥的从属设备。安装主机
使用单个配置文件进行配置非常简单
/etc/hostapd/hostapd.conf
。替换以下选项:
bridge_ports eth_local wlan_local
用bridge_ports eth_local
from替换该行/etc/network/interfaces
使用重启网络
systemctl restart networking
开始
hostapd
使用systemctl start hostapd
一旦
hostapd
启动,您的 wifi iface 将成为网桥的成员,然后 DHCP 将通过网桥转发。瞧