溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CentOS7如何使用hostapd實(shí)現(xiàn)無AP模式

發(fā)布時(shí)間:2021-07-06 10:28:11 來源:億速云 閱讀:223 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹了CentOS7如何使用hostapd實(shí)現(xiàn)無AP模式,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

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

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

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

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

但也有區(qū)別的地方就是跟普通無線路由器相比,這種實(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)作是沒有四個(gè) LAN 接口的普通無線路由器。

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                 # 無線連接密碼

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

有線接口配置

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

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

使用 ip addr add 命令設(shè)置無線網(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è)問題就是,NetworkManager 套件其提供的 nmcli 命令并不支持給無線網(wǎng)卡設(shè)置靜態(tài)的 IP 地址,這就需要使用 ip addr add 命令手動(dòng)設(shè)定無線網(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ǎng)卡的接口

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

IPADDR=172.16.0.1                                    #指定IP地址

PREFIX=24                                            #指定掩碼長度

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

#DNS1=127.0.0.1

#DNS2=192.168.10.254

#IPV6_PEERDNS=yes

#IPV6_PEERROUTES=yes

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

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

systemctl disable  NetworkManager.service

停止 NetworkManager.service 服務(wù)

systemctl stop  NetworkManager.service

想看看有沒有生效可以重啟 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 配置接口偽裝

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

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

systemctl start firewalld.service

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

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è)置開機(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

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

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

dnsmasq 配置 dnsmasq 軟件安裝

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

沒有安裝的話先安裝 dnsmasq 軟件

yum install dnsmasq

設(shè)置開機(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ǎng)卡已經(jīng)正確設(shè)置了 ip 地址。dnsmasq 會(huì)自動(dòng)將當(dāng)前的無線網(wǎng)卡地址 172.16.0.1 設(shè)置為客戶端的網(wǎng)關(guān)地址和DNS地址。

systemctl start dnsmasq.service

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

systemctl restart hostapd.service

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“CentOS7如何使用hostapd實(shí)現(xiàn)無AP模式”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI