ubuntu新建ap熱點并分享

測試環境ubuntu16,只有一臺筆記本電腦,不插網線,無線網卡既連wifi,又作為熱點

1.方法1 直接手動新建ap熱點

參考https://jingyan.baidu.com/article/ea24bc39b03fc6da62b331f0.html
https://jingyan.baidu.com/article/363872ecd8f35d6e4ba16f97.html
親測,發現電腦如果沒有連有線,按照以上步驟并不能生成wifi熱點,請各位指點

2.方法2 使用create_ap工具新建熱點

2.1安裝依賴hostapd和create_ap

sudo apt install build-essential hostapd
git clone https://github.com/oblique/create_ap
cd create_ap
sudo make install 

2.2獲取 wlan/wireless 名字并用create_ap啟動熱點

然后

ifconfig

獲取網卡的名稱每臺電腦的網卡名稱不一定相同,我這里的有線網卡名稱是 enp1s0 無線網卡名稱是 wlp7s0,具體名稱需要自己進行獲取
wlan:enp4s0
wireless: wlp3s0
其中e開頭代表有有線,w開頭代表無線
測試create_ap 是否工作正常

create_ap 基本命令格式:

create_ap wlan0 eth0 MyAccessPoint MyPassPhrase

本機指令

create_ap wlp3s0 enp4s0 note-ubuntu 12345678

新建成功打印ap0:AP-ENABLED如下圖,并且能在別的電腦或手機上搜到wifi名稱為note-ubuntu。手機連接測試發現可以上網
在這里插入圖片描述

注意如果出現
ERROR: Your adapter can not be a station (i.e. be connected) and an AP at the same time
并且關閉WiFi后出現
WARN: Your adapter does not fully support AP virtual interface, enabling --no-virt
可能為網卡不支持新建熱點

2.3create_ap其他命令

(1)查看創建的熱點

create_ap --list-running

出現結果

8323 wlp3s0(ap0)

(2)查看連接在 ap 上的設備

create_ap --list-clients 查看創建的熱點前面的編號 如8323

https://blog.csdn.net/freewebsys/article/details/126297257

(3)開啟關閉熱點

sudo systemctl start create_ap # 開啟 wifi 熱點
sudo systemctl stop create_ap # 關閉 wifi 熱點

3.方法3用hostapd和dhcp建立wifi熱點

3.1 hostapd和udhcpd工具簡介

(1)hostapd簡介
用過WIFI的應該對wpa_supplicant這個工具有一定的了解。wpa_supplicant用于wifi連接AP、驗證密碼等功能,實現的是wifi sta相關功能。而hostapd工具用于實現WIFI AP相關的功能。

hostapd包括IEEE 802.11接入點管理(認證/關聯)、IEEE 802.1X/WPA/WPA2 Authenticator、EAP服務器和RADIUS認證服務器功能。它可以使用各種配置選項構建,例如,一個獨立的AP管理解決方案或一個支持多種EAP方法的RADIUS認證服務器。
通俗來講作用就是將WIFI模塊模擬成熱點,供其他設備連接。
參考 http://w1.fi/wpa_supplicant/devel/

(2)udhcpd簡介
hostapd可以理解為用于搭建物理層。一個WIFI設備連接到熱點,就像一個網線的設備,插入到了路由器的lan口。而我們Linux設備模擬成熱點,就相當于實現了路由器的功能。Linux熱點運行這hostapd程序,那么其他wifi終端設備就可以連接它。我們知道,將設備用網線連接到路由器是需要手動配置IP地址或者自動的獲取IP地址的。之所以設備能從路由器獲取IP地址,就是因為路由器中運行DHCP服務,可以動態的給連接的設備分配IP地址。同樣我們用Linux模擬成熱點,也需要為其他連接熱點的設備提供IP地址和DNS等配置,這樣其他WIFI終端設備才真正的和熱點組成了局域網。為了實現DHCP服務,所以Linux上需要運行udhcpd這個程序。在嵌入式上udhcpd是busybox提供的一個應用程序。

3.2 安裝hostapd 和dhcp工具

sudo apt install hostapd 
sudo apt install isc-dhcp-server

3.3配置和啟動hostapd

(1)配置hostapd
先自己創建一個簡單的配置文件hostapd-minimal.conf,對hostapd的功能進行驗證,將這個hostapd-minimal.conf 文件拷貝到目錄/etc/hostapd/下
并且編輯hostapd-minimal.conf文件如下

#wlan0為你的無線網卡名稱,用ifconfig查,注意無線為w開頭
interface=wlp3s0
#??driver怎么查?
driver=nl80211
#熱點名字
ssid=note-ubuntu
hw_mode=g
channel=1
#使用熱點密碼驗證
wpa=1
#熱點密碼
wpa_passphrase=12345678

(2)啟動hostapd

sudo hostapd /etc/hostapd/hostapd-minimal.conf 

出現如下顯示

Configuration file: /etc/hostapd/hostapd-minimal.conf
Using interface wlp3s0 with hwaddr 84:ef:18:cc:32:4c and ssid "note-ubuntu"
wlp3s0: interface state UNINITIALIZED->ENABLED
wlp3s0: AP-ENABLED 
wlp3s0: STA 3c:6a:48:88:c8:10 IEEE 802.11: disassociated
wlp3s0: interface state ENABLED->DISABLED
wlp3s0: AP-DISABLED 
nl80211: deinit ifname=wlp3s0 disabled_11b_rates=0

這是因為有其他的網絡程序在占用了無線網卡接口,你必須先關閉系統本身的無線網絡管理程序network manager.

sudo nmcli radio wifi off
sudo rfkill unblock wlan
sudo ifconfig wlp3s0 10.5.5.1/24 up

然后再打開hostapd。如下所示,表示你已經成功啟動了

Using interface wlp3s0 with hwaddr 84:ef:18:cc:32:4c and ssid "note-ubuntu"
wlp3s0: interface state UNINITIALIZED->ENABLED
wlp3s0: AP-ENABLED

在手機上發現出現了熱點,并且輸入密碼后能連接上這個wifi。
但是手機上發現不能上網,ubuntu上沒有聯網。想要在手機上連上這個熱點并且能上網還需要繼續進行配置。

3.4配置和啟動dhcp

(1)配置dhcp
1.編輯文件/etc/default/isc-dhcp-server
將INTERFACES項改為

INTERFACES="wlp3s0"

wlp3s0對應無線網卡名字。
2.然后編輯文件/etc/dhcp/dhcpd.conf,在文本后面添加

subnet 10.5.5.0 netmask 255.255.255.0 {range 10.5.5.26 10.5.5.30;option domain-name-servers 8.8.8.8;option routers 10.5.5.1;option broadcast-address 10.5.5.255;default-lease-time 600;max-lease-time 7200;
}

3.編輯
(2)啟動dhcp server

sudo dhcpd

出現

Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcp/dhcpd.leases
PID file: /var/run/dhcpd.pid
Wrote 0 leases to leases file.
Listening on LPF/wlp3s0/84:ef:18:cc:32:4c/10.5.5.0/24
Sending on   LPF/wlp3s0/84:ef:18:cc:32:4c/10.5.5.0/24No subnet declaration for enp4s0 (no IPv4 addresses).
** Ignoring requests on enp4s0.  If this is not whatyou want, please write a subnet declarationin your dhcpd.conf file for the network segmentto which interface enp4s0 is attached. **Sending on   Socket/fallback/fallback-net

表示成功了。并且通過sudo netstat -uap命令查看DHCP服務是否正常啟動,如果出現有dhcpd的字樣說明服務啟動成功。

其他出現

Can't open /var/lib/dhcp/dhcpd.leases for append.

修改權限后執行可以成功

sudo chmod 777  /var/lib/dhcp/dhcpd.leases

3.4 啟用internet共享

(1)啟動路由轉發,

sudo iptables -A FORWARD -o wlp3s0 -i wlp3s0 -s 192.168.5.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE

刪除/etc/sysctl.conf中下面一行中的’#',解除net.ipv4.ip_forward=1的注釋。然后執行sudo sysctl -p使其生效。或者調用

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

再執行

sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

實驗后發現如果連上了wifi,就沒有了熱點。看來還是需要看create_ap 腳本是怎么實現的。

參考文獻
https://www.cnblogs.com/liyam/p/6186527.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/710866.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710866.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710866.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機試指南:Ch5:線性數據結構 Ch6:遞歸與分治

文章目錄 第5章 線性數據結構1.向量 vector2.隊列 queue(1)隊列的特點、應用(2)基本操作(3)例題例題1:約瑟夫問題2 (難度:中等) (4)習題習題1:排隊打飯 (難度:中等) 3.棧 stack(1)棧…

前端 JS 經典:Content-type 詳解

1. 什么是 Content-Type Content-Type 是 HTTP 協議中的一個請求頭或響應頭字段,用于指示發送或接收的實體的媒體類型,告訴服務器或客戶端如何解析和處理請求或響應的主體部分。 2. Content-Type 的構成 Content-Type 由兩部分組成:媒體類型…

視頻在線壓縮

video2edit 一款免費的在線視頻編輯軟件,可以進行視頻合并、視頻剪輯、視頻壓縮以及轉換視頻格式等。 鏈接地址:在線視頻編輯器和轉換器 - 編輯,轉換和壓縮視頻文件 打開視頻壓縮頁面,上傳想要壓縮視頻,支持MP4&…

收入穩步增長 助力持續發展 尼康發布截至2024年3月財年第三季度財報

近日,尼康截至2024年3月財年的第三季度(2023年10月1日-2023年12月31日)財報正式發布。數據顯示,尼康集團第三財季銷售收入共計1977億日元,較去年同期上漲300億日元,漲幅約17.9%。其中影像業務領域&#xff…

Java面試題:解釋Java內存模型中的內存順序規則,Java中的線程組(ThreadGroup)的工作原理,Java中的FutureTask的工作原理

引言 在Java開發領域,內存模型、多線程和并發是三個至關重要的概念,它們直接影響到程序的性能、穩定性和可擴展性。作為面試官,考察候選人對這些概念的理解和應用能力是評估其技術水平的重要手段。本文將提供三道涉及這些核心知識點的面試題…

視頻記錄儀_基于聯發科MT6762的智能4G記錄儀方案

智能記錄儀采用聯發科強勁八核處理器,12nm制程工藝的記錄儀具便是滿足這些需求的理想選擇。搭載4GB32GB內存,并運行Android 11.0操作系統,這款記錄儀具展現出強勁的性能表現。 首先,這款記錄儀具具備優秀的視頻錄制功能。它能完整…

WPS如何共享文件和文件夾

1 WPS共享單個文件 用WPS打開要分享的文件,點擊右上角的“分享”鍵,選擇上傳到云端。 之后點擊“創建并分享”,即可分享該文檔。 2 WPS創建共享文件夾 2.1 如何共享文件夾 首先打開WPS,點擊左上角的首頁。在首頁欄中&#…

Ubuntu系統下DPDK環境搭建

目錄 一.虛擬機配置1.添加一個網卡(橋接模式)2.修改網卡類型3.修改網卡名稱4.重啟虛擬機5.查看網卡信息6.dpdk配置內存巨型頁 三 DPDK源代碼下載和編譯1.下載源代碼2.解壓源代碼3.安裝編譯環境4.編譯5.設置dpdk的環境變量6.禁止多隊列網卡7.加載igb_uio模塊8.網卡綁定9.驗證測試…

Vue3自定義文章列表組件

一、Vue3的代碼展示 <template><div><div v-for"article in articles" :key"article.id" class"article-card"><div class"author-info"><img :src"article.avatar" alt"Author Avatar&qu…

Android 驗證啟動模式

文章目錄 Android 驗證啟動模式查看任務棧launchModestandardsingleTopsingleTasksingleInstance Intent標記FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TASK 和 FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_SINGLE_TOP Android 驗證啟動模式 查看任務棧 可…

軟考52-上午題-【數據庫】-關系模式2

一、關系模式的回顧 見&#xff1a;軟考38-上午題-【數據庫】-關系模式 二、關系模式 2-1、關系模式的定義 示例&#xff1a; 念法&#xff1a;A——>B A決定B&#xff0c;或者&#xff0c;B依賴于A。 2-2、函數依賴 1、非平凡的函數依賴 如果X——>Y&#xff0c;&a…

Linux Shell腳本練習(三)

1、測試用戶名與密碼是否正確。 2、輸出1-1000內的素數。 3、對 100 以內的所有正整數相加求和(1234...100)。 4、輸出9*9 乘法表。 5、編寫腳本,顯示進度條。 、 6、輸入三個數并進行升序排序

RocketMQ - 深入研究一下生產者到底如何發送消息的

1. 創建Topic的時候為何要指定MessageQueue數量 首先如果要搞明白生產者的工作原理,那么就必須先明白一個概念,MessageQueue是什么? 而要明白MessageQueue是什么,就必須把他跟Topic以及Broker綜合起來看,才能搞明白。如果我們要使用RocketMQ,你先部署出來一套RocketMQ集…

C++高級面試題:解釋 C++ 中的智能指針循環引用問題,并介紹如何解決它

解釋 C 中的智能指針循環引用問題&#xff0c;并介紹如何解決它 智能指針循環引用問題指的是兩個或多個對象之間相互持有對方的智能指針&#xff0c;導致內存泄漏的情況。當使用智能指針時&#xff0c;如果對象之間存在循環引用關系&#xff0c;可能會造成內存泄漏&#xff0c…

附詳細答案,最新BAT大廠面試者整理的Android面試題目

前言 前幾年移動互聯網創業的風口&#xff0c;如今漸漸消失&#xff0c;移動互聯網被巨頭公司瓜分&#xff0c;一些創業公司倒閉了&#xff0c;Android 開發需求慢慢趨近于飽和。而當初移動互聯網處于風口時&#xff0c;自學、轉行以及培訓機構出來了大量 Android 開發從業者&…

CSS-浮動,定位

1. 浮動 (float) CSS的定位機制有三種&#xff1a;普通流(標準流)&#xff0c;浮動和定位。 普通流就是一個網頁內標簽元素正常從上到下&#xff0c;從左到右排列順序的意思&#xff0c;比如塊級元素會獨占一行&#xff0c;行內元素會按順序依次前后排列&#xff1b;按照這種大…

docker 安裝單機版 opengauss5.0.1

前言 因為官網的鏡像直接安裝不成功&#xff0c;所以才寫的這邊文章 1、下載openGauss 地址&#xff1a; https://opengauss.org/zh/download/ 下載名稱為&#xff1a;openGauss-5.0.1-CentOS-64bit.tar.bz2 1.1、 下載gosu-amd64 下載 gosu-amd64 2、制作鏡像(和官網保持一致)…

佛山50公里徒步組團|真北敏捷社區佛山敏捷DevOps社區

真北敏捷社區&佛山敏捷DevOps社區有兩個宗旨&#xff0c;一是求知&#xff0c;二是連接。連接有識之士&#xff0c;同修友士之識。峨峨乎高山&#xff0c;洋洋乎流水。談笑有鴻儒&#xff0c;往來無白丁。 《柳葉刀》上的研究顯示&#xff0c;運動的情緒價值&#xff0c;相…

探索NebulaGraph:一個開源分布式圖數據庫的技術解析

1. 介紹 NebulaGraph的定位和用途 NebulaGraph是一款開源的分布式圖數據庫&#xff0c;專注于存儲和處理大規模圖數據。它的主要定位是為了解決圖數據存儲和分析的問題&#xff0c;能夠處理節點和邊數量巨大、結構復雜的圖結構數據。NebulaGraph被設計用來應對各種領域的圖數…

c語言求階乘序列前N項和

本題要求編寫程序&#xff0c;計算序列 1!2!3!? 的前N項之和。 輸入格式: 輸入在一行中給出一個不超過12的正整數N。 輸出格式: 在一行中輸出整數結果。 輸入樣例: 5輸出樣例: 153 #include<stdio.h> int main() {int a,b,c0,d1;scanf("%d",&a);fo…