游乐游手机版
首页/系统平台/文章详情

CentOS7 hostapd无AP模式实现详解

时间:2026-06-23 07:42
本文介绍如何在 Linux 系统中利用 hostapd 实现无线接入点(AP)的路由模式配置,这是一种不同于桥接模式的玩法。 关于软硬件基本配置及 hostapd 的安装,请参考《CentOS 7 之 hostapd AP 模式配置》前半部分。简单来说,传统的 AP 模式需要将有线网卡与无线网卡进行
本文介绍如何在 Linux 系统中利用 hostapd 实现无线接入点(AP)的路由模式配置,这是一种不同于桥接模式的玩法。 关于软硬件基本配置及 hostapd 的安装,请参考《CentOS 7 之 hostapd AP 模式配置》前半部分。简单来说,传统的 AP 模式需要将有线网卡与无线网卡进行桥接,而路由模式的核心原理是通过伪装和转发,将无线网卡的数据经有线网卡传输,从而省去桥接步骤。 路由模式配置起来类似于一台典型的无线路由器:有线网口作为 WAN 口连接上游网络,无线网卡发射 Wi-Fi 信号供手机、笔记本等设备接入。区别在于此模式没有四个 LAN 口,无法直接通过网线连接台式机。不过,Linux 网络功能强大,可以通过添加交换机等设备实现有线接入,只是配置更复杂。本文将将其视为一台没有 LAN 口的路由器进行配置。

hostapd.conf 路由模式配置

先来看一个最小化的配置: ``` # /etc/hostapd/hostapd.conf 最小化配置 interface=wlp2s0 # bridge=br0 # 不再需要桥接,把这行注释掉即可 driver=nl80211 ssid=test hw_mode=g channel=1 auth_algs=3 ignore_broadcast_ssid=0 # 是否广播,0 为广播 wpa=3 wpa_passphrase=12345678 # 无线连接密码 ``` 这个配置跟之前 AP 模式的配置文件基本一样,唯一的区别就是把 `bridge=br0` 这一行注释掉。

有线接口配置

首先需确保有线接口配置正确且能正常上网。最简便的方式是从路由器自动获取 IP 地址、网关和 DNS。若无路由器,则需手动配置上网方式(如 PPPoE 拨号、静态 IP 等),动态获取最为省心。

无线接口设置

### 使用 ip addr add 命令 通过 `ip addr add` 命令可为无线网卡分配 IP,例如 `172.16.0.1/24` 或私有地址。注意:无线网卡 IP 不能与有线网卡处于同一网段(如有线网卡通常获取的是 `192.168.1.0/24` 网段)。 ``` ip addr add 172.16.0.1/24 dev wlp2s0 ``` 但这样设置的话,重启之后就会失效。 ### 坑提示:关于 NetworkManager 注意:CentOS 7 默认使用 NetworkManager 管理网络,但其 `nmcli` 命令不支持为无线网卡设置静态 IP。因此,要么用 `ip addr add` 临时配置,要么在 `/etc/sysconfig/network-scripts/` 下新建传统配置文件。 ### 使用网络配置文件(永久保存) 如果想保存设置,可以新建一个文件: ``` vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0 ``` 内容如下(注释掉的部分不需要的可以删掉,但核心参数要保留): ``` DEVICE=wlp2s0 # 指定无线网卡的接口 ONBOOT=yes # 开机就进行设置 IPADDR=172.16.0.1 # 指定IP地址 PREFIX=24 # 指定掩码长度 ``` 保存后需停用并禁用 NetworkManager.service,否则重启后可能导致 network.service 无法正常启动。 ``` systemctl disable NetworkManager.service systemctl stop NetworkManager.service ``` 配置生效后,可以重启 network.service 服务,或者直接重启系统来验证: ``` systemctl restart network.service ```

启用转发和配置接口伪装

启用 IP 转发

先临时启用一下: ``` sysctl -w net.ipv4.ip_forward=1 ``` 如果想重启后还能保持设置,可以新建一个配置文件 `/etc/sysctl.d/ip_forward.conf`,内容就一行: ``` net.ipv4.ip_forward = 1 ``` 系统重启后会自动加载 `/etc/sysctl.d/` 文件夹下的配置。

配置接口伪装

CentOS 7 下,firewalld 和 iptables 均可实现接口伪装,但两者冲突,只能启用其一。默认启用的是 firewalld.service。

使用 firewalld 配置接口伪装

如果有图形界面,操作会简单很多。这里只用命令行方式。 首先,确保 firewalld.service 已启动: ``` systemctl start firewalld.service ``` 将无线接口加入到 trust 区域(默认所有接口属于 public 区域,限制比较严格,会导致无线客户端无法连接): ``` firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent ``` 对有线上网接口所在的区域启用伪装(默认有线接口属于 public 区域): ``` firewall-cmd --zone=public --add-masquerade --permanent ``` 最后重启 firewalld 服务: ``` systemctl restart firewalld.service ```

使用 iptables 配置接口伪装

如果习惯用 iptables,需要先安装 `iptables-services` 这个包,里面包含 iptables.service 和 ip6tables.service 两个服务。 先停掉并禁用 firewalld.service: ``` systemctl stop firewalld.service systemctl disable firewalld.service ``` 再启用 iptables.service(目前主要用 IPv4,所以只用 iptables.service 就行): ``` systemctl enable iptables.service systemctl start iptables.service ``` 然后配置接口伪装: ``` iptables -t nat -A POSTROUTING -o p2p1 -j MASQUERADE ``` 一般来说,上面这一条命令就够了。如果防火墙设置比较严格,还需要添加允许从无线网卡转发的规则: ``` iptables -t filter -A FORWARD -i wlp2s0 -j ACCEPT ```

dnsmasq 配置:DHCP 与 DNS 服务

dnsmasq 负责为无线客户端分配 IP 地址并提供 DNS 解析服务。

安装 dnsmasq

如果没有安装,先安装: ``` yum install dnsmasq ``` 设置开机自启动: ``` systemctl enable dnsmasq.service ```

dnsmasq.conf 配置

编辑 `/etc/dnsmasq.conf`: ``` # 指定接口,可以附加 lo 接口,也可以用 '*' 通配符 interface=wlp2s0 # 绑定接口 bind-interfaces # DHCP 地址池:从 172.16.0.100 到 172.16.0.200,租约时间 1 小时 dhcp-range=172.16.0.100,172.16.0.200,255.255.255.0,1h ``` 启动 dnsmasq 前需确保无线网卡已正确设置 IP。dnsmasq 会自动将无线网卡的地址(`172.16.0.1`)作为客户端的网关和 DNS 服务器。 ``` systemctl start dnsmasq.service ``` 最后,重新启动 hostapd 服务,让所有配置生效: ``` systemctl restart hostapd.service ```
来源:https://www.jb51.net/os/RedHat/528515.html
上一篇CentOS 6.5关闭独立显卡的操作方法 下一篇CentOS关闭图形界面操作步骤
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送