主頁(yè) > 知識(shí)庫(kù) > CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解

CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解

熱門(mén)標(biāo)簽:海外文化宮地圖標(biāo)注 AI智能語(yǔ)音外呼系統(tǒng)是什么 浙江虛擬外呼系統(tǒng)費(fèi)用 新鄉(xiāng)智能電話機(jī)器人有用嗎 北京大興區(qū)地圖標(biāo)注中心 ai外呼系統(tǒng)定制 淮安人工外呼系統(tǒng) 荊門(mén)真人語(yǔ)音電話機(jī)器人哪個(gè)好 北京外呼系統(tǒng)官網(wǎng)

這篇是 linux 下使用 hostapd 實(shí)現(xiàn)無(wú)線接入點(diǎn) AP 模式的另一種實(shí)現(xiàn)方式:hostapd 路由模式配置。

對(duì)于軟硬件的基本配置及 hostapd 安裝在《CentOS 7 之 hostapd AP模式配置》的前半部分內(nèi)容中有說(shuō)明,可以先看看那篇,再看本文。

hostapd 的AP模式配置需要的有線網(wǎng)卡和無(wú)線網(wǎng)卡進(jìn)行橋接,那路由模式配置主要就是將無(wú)線網(wǎng)卡的數(shù)據(jù)通過(guò)有線網(wǎng)卡進(jìn)行偽裝、轉(zhuǎn)發(fā)兩個(gè)方面,也就不再需要將有線和無(wú)線網(wǎng)卡進(jìn)行橋接。

配置這種路由模式就類(lèi)似一臺(tái)普通的無(wú)線路由器,有線網(wǎng)口就相當(dāng)于普通無(wú)線路由器的 WAN 接口,無(wú)線網(wǎng)卡就負(fù)責(zé)發(fā)送廣播無(wú)線信號(hào)供手機(jī)、筆記本的無(wú)線設(shè)備接入實(shí)現(xiàn)網(wǎng)絡(luò)訪問(wèn)。

但也有區(qū)別的地方就是跟普通無(wú)線路由器相比,這種實(shí)現(xiàn)方式?jīng)]有四個(gè)普通的 LAN 接口,不能供其它臺(tái)式機(jī)等進(jìn)行有線連接。

實(shí)際上 linux 作為網(wǎng)絡(luò)功能為主的操作系統(tǒng)也是可以連接的,只是需要交換機(jī)等設(shè)備等,會(huì)復(fù)雜些。我這里的配置就當(dāng)作是沒(méi)有四個(gè) LAN 接口的普通無(wú)線路由器。

hostapd.conf 配置

這里只是一個(gè)最小化的配置:

# /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                 # 無(wú)線連接密碼

配置跟AP模式配置文件類(lèi)似,只要注釋掉 bridge=br0 選項(xiàng)就可以。

有線接口配置

首先我們需要正確配置有線接口并且可以正常上網(wǎng)。最簡(jiǎn)單的是方式就是從路由器那自動(dòng)獲取IP地址、網(wǎng)關(guān)、DNS。如果沒(méi)有路由器的話那就需要手動(dòng)設(shè)置有線接口的上網(wǎng)方式,例如常用的PPPOE方式、靜態(tài)IP地址方式、動(dòng)態(tài)獲取IP地址方式等。反正動(dòng)態(tài)獲取IP地址的最簡(jiǎn)單。

無(wú)線接口設(shè)置 使用 ip addr add 命令

使用 ip addr add 命令設(shè)置無(wú)線網(wǎng)卡的 IP 地址,重啟后就會(huì)失效。例如172.16.0.1/24或其他私有地址,還有就是不要與有線網(wǎng)卡處在同一個(gè)網(wǎng)段。一般有線網(wǎng)卡從路由器獲取的IP地址是 192.168.1.0/24 網(wǎng)段地址。

ip addr add 172.16.0.1/24 dev wlp2s0

坑提示:目前 CentOS 7 默認(rèn)使用的是 NetworkManager 套件作為網(wǎng)絡(luò)配置工具。這里遇到一個(gè)問(wèn)題就是,NetworkManager 套件其提供的 nmcli 命令并不支持給無(wú)線網(wǎng)卡設(shè)置靜態(tài)的 IP 地址,這就需要使用 ip addr add 命令手動(dòng)設(shè)定無(wú)線網(wǎng)卡的 IP 地址或者在 /etc/sysconfig/network-scripts/ 文件夾下面新建配置文件,這是比較老且經(jīng)典的一種接口配置方式。

使用網(wǎng)絡(luò)配置文件

如要想想保存設(shè)置,可以新建一個(gè)文件 /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0 ,文件名以 ifcfg 前綴。

vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0

[root@server ~]# vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0

#TYPE=Ethernet

#BOOTPROTO=none

#DEFROUTE=yes

#IPV4_FAILURE_FATAL=no

#IPV6INIT=yes

#IPV6_AUTOCONF=yes

#IPV6_DEFROUTE=yes

#IPV6_FAILURE_FATAL=no

#NAME=static-wlp2s0

#UUID=a036678e-8fdf-48f3-8693-961bb6326i744 

DEVICE=wlp2s0                                        #指定無(wú)線網(wǎng)卡的接口

ONBOOT=yes                                           #開(kāi)機(jī)就進(jìn)行設(shè)置

IPADDR=172.16.0.1                                    #指定IP地址

PREFIX=24                                            #指定掩碼長(zhǎng)度

#GATEWAY=192.168.10.254                              #其他用不著注釋掉

#DNS1=127.0.0.1

#DNS2=192.168.10.254

#IPV6_PEERDNS=yes

#IPV6_PEERROUTES=yes

保存后需要先停止 NetworkManager.service 服務(wù),最好禁止開(kāi)機(jī)啟動(dòng),不然還是會(huì)有問(wèn)題。主要表現(xiàn)為開(kāi)機(jī)時(shí) network.service 無(wú)法啟動(dòng)。

禁止 NetworkManager.service 服務(wù)開(kāi)機(jī)啟動(dòng)

systemctl disable  NetworkManager.service

停止 NetworkManager.service 服務(wù)

systemctl stop  NetworkManager.service

想看看有沒(méi)有生效可以重啟 network.service 服務(wù)或直接重啟系統(tǒng)。

systemctl restart network.service

啟用轉(zhuǎn)發(fā)和配置接口偽裝 啟用轉(zhuǎn)發(fā)

使用 sysctl -w 重啟后會(huì)失效

sysctl -w net.ipv4.ip_forward=1

[root@server ~]# sysctl -w net.ipv4.ip_forward=1

net.ipv4.ip_forward = 1

啟用 IP 轉(zhuǎn)發(fā)重啟后不會(huì)失效使用下面方法,系統(tǒng)重啟后會(huì)自動(dòng)加載 /etc/sysctl.d/ 文件夾下的設(shè)置。

vi /etc/sysctl.d/ip_forward.conf

[root@server ~]# vi /etc/sysctl.d/ip_forward.conf 

net.ipv4.ip_forward = 1

配置接口偽裝

CentOS 7 中使用 firewalld 和 iptables 都能做到接口偽裝。CentOS 7 中默認(rèn)啟用的是 firewalld.service 服務(wù)。iptables 服務(wù)和 firewalld 服務(wù)沖突,兩者只能啟用其中一個(gè)。

使用 firewalld 配置接口偽裝

如果能使用圖形界面配置的話更加簡(jiǎn)單明了,這里僅使用 firewalld-cmd 命令方式配置。

如果沒(méi)有啟動(dòng) firewalld.service 服務(wù),需要先啟動(dòng) firewalld.service 服務(wù)。

systemctl start firewalld.service

將無(wú)線接口加入到 trust 區(qū)域,并保存配置。默認(rèn)情況下所有接口屬于 public 區(qū)域,連接限制比較嚴(yán)格,會(huì)導(dǎo)致無(wú)法連接。

firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent

[root@server ~]# firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent 

success

對(duì)有線接口所在的區(qū)域啟用偽裝,并保存配置,默認(rèn)情況下有線接口屬于 public 區(qū)域。

firewall-cmd --zone=public --add-masquerade --permanent

[root@server ~]# firewall-cmd --zone=public --add-masquerade --permanent 

success

重啟 firewalld 服務(wù)

systemctl restart firewalld.service

使用 iptables 配置接口偽裝

如果習(xí)慣使用 iptables ,需要安裝 iptables-services 這個(gè)包,里面包含 iptables.service 和 ip6tables.service 這兩個(gè)服務(wù),分別用于 ipv4 和 ipv6。

要使用 iptables 需要先停止并禁用 firewalld.service 服務(wù)

systemctl stop firewalld.service

systemctl disable firewalld.service

再啟用 iptables.service 服務(wù),因?yàn)槟壳斑€是主要使用 ipv4 所以只啟用 iptables.service 就可以。如果使用 iptables 同樣需要設(shè)置開(kāi)機(jī)啟動(dòng) iptables.service 服務(wù)。

systemctl enable iptables.service

啟動(dòng) iptables.service 服務(wù)

systemctl start iptables.service

接口偽裝

iptables -t nat -A POSTROUTING  -o p2p1 -j MASQUERADE

一般來(lái)說(shuō)配置上面的命令就可以了,如果防火墻設(shè)置比較嚴(yán)格需要添加允許轉(zhuǎn)發(fā)無(wú)線網(wǎng)卡接口wlp2s0。

iptables -t filter -A FORWARD -i wlp2s0 -j ACCEPT

dnsmasq 配置 dnsmasq 軟件安裝

dnsmasq 主要負(fù)責(zé)分配客戶端IP地址及DNS解析服務(wù)。

沒(méi)有安裝的話先安裝 dnsmasq 軟件

yum install dnsmasq

設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng) dnsmasq 服務(wù)

systemctl enable dnsmasq.service

dnsmasq.conf 配置

vi /etc/dmsmasq.conf

[root@server ~]# vi /etc/dnsmasq.conf

# 指定接口,指定后同時(shí)附加lo接口,可以使用'*'通配符

interface=wlp2s0

# 綁定接口

bind-interfaces

# DHCP地址池 從172.16.0.100到172.16.0.200

dhcp-range=172.16.0.100,172.16.0.200,255.255.255.0,1h

啟動(dòng) dnsmansq 服務(wù)需要無(wú)線網(wǎng)卡已經(jīng)正確設(shè)置了 ip 地址。dnsmasq 會(huì)自動(dòng)將當(dāng)前的無(wú)線網(wǎng)卡地址 172.16.0.1 設(shè)置為客戶端的網(wǎng)關(guān)地址和DNS地址。

systemctl start dnsmasq.service

最后重新啟動(dòng) hostapd 服務(wù)

systemctl restart hostapd.service

標(biāo)簽:蚌埠 阿里 贛州 盤(pán)錦 梅州 安陽(yáng) 亳州 南通

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解》,本文關(guān)鍵詞  CentOS7,使用,hostapd,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章