linux命令列模式下配置wifi熱點
本文主要目的是學習筆記,參考N多網上資料,在此謝過前輩先賢們。
First注意:
本文是在centos6下用hostapd+dnsmasq實現Wifi熱點配置,以下操作請首先排除wpa_supplicant、NetworkManager這類網路管理工具的影響。
三種方式檢測網絡卡是否支援master mode:
iwconfig wlan0 mode master #不報error就是支援做熱點;
iw list #檢視列出內容中support interface modes下是否有支援AP mode;
ethtool -i wlan0 #檢視無線網絡卡的driver,檢視driver是否支援AP mode(通過http://wireless.kernel.org/en/users/Drivers 這個AP模式支援的驅動列表裡查詢AP項為yes的為支援)
開始安裝:
yum install hostapd dnsmasq -y
配置hostapd,配置檔案在/etc/hostapd/hostapd.conf
【conf內容】
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
# Some usable default settings...
macaddr_acl=0
auth_algs=1
# ignore_broadcast_ssid=0
# Uncomment these for base WPA & WPA2 support with a pre-shared key
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
# rsn_pairwise=CCMP
# DO NOT FORGET TO SET A WPA PASSPHRASE!!
wpa_passphrase=******
# Most modern wireless drivers in the kernel need driver=nl80211
driver=nl80211
# Customize these for your local configuration...
interface=wlan0
hw_mode=g
channel=7
ssid=HOST-AP
配置完了,可執行hostapd /etc/hostapd/hostapd.conf測試驅動/熱點是否可用;
配置dnsmasq,配置檔案/etc/dnsmasq.conf
【conf修改內容】
interface=wlan0
listen-address=192.168.0.1
#no-dhcp-interface=
dhcp-range=192.168.0.50,192.168.0.150,12h
dhcp-option=3,192.168.0.1
dhcp-option=6,8.8.8.8
開啟主機的路由轉發:
echo 1 >/proc/sys/net/ipv4/ip_forward
ip 轉發設定預設在重啟系統之後會消失;若想儲存 ip_forward 設定:
修改 /etc/sysctl.conf 中:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1(if found it)
可執行sysctl -p來使核心引數即時生效。
設定無線接入點IP地址:
ifconfig wlan0 192.168.0.1/24
若已經有IP,這裡可執行:ifup wlan0
若想服務開機啟動,可直接編輯/etc/sysconfig/network-scripts/ifcfg-wlan0,修改BOOTPROTO=static,並新增IPADDR=1.2.3.4 NETMASK=255.255.255.0。
啟動hostapd及dnsmasq網路服務:
service hostapd start
service dnsmasq start
若想實現服務開機自啟動:
chkconfig hostapd on
chkconfig dnsmasq on
建立iptables規則(資料轉發通過有線網絡卡eth0作為internet出口):
iptables -F
iptables -X
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables 設定預設在重啟系統之後會消失,儲存iptables規則:
/etc/init.d/iptables save
正常的話,已經可以用手機連你的wifi啦(上文中SSID好像叫HOST-AP)
1.
客戶端使用HOSTAPD無線AP時,網速不穩定,導致某些時刻無法開啟網頁或者其它因為網路超時導致的網路不可訪問故障。 該問題主要是因為無線資料傳輸校驗中隨機種子數較少導致的無線網路資料傳輸時延過大導致的。
cat /proc/sys/kernel/random/entropy_avail檢視具體數值,一般小於1000;sudo apt-get install haveged安裝隨機數生成器(haveged);
/etc/init.d/haveged start 啟動隨機數生成器,提高entropy_avail數值。這樣無線網路時延將恢復到正常狀態,網路不在出現以上描述的問題。
2.
如果啟動hostapd總是報:nl80211: Failed to set interface wlan0 into AP mode,可能是因為hostapd已經啟動了,或者當前裝置驅動不支援AP mode。如果是後者,有一種情況況是需要升級核心。
核心編譯之前須執行make menuconfig,找到下列選項,必須勾選:Networking —->
Networking options —->
[*] Network packet filtering (replaces ipchains) —>
Core Netfilter Configuration —>
<*> Netfilter Xtables support (required for ip_tables)
IP: Netfilter Configuration —>
<*> Connection tracking (required for masq/NAT)
<*> IP tables support (required for filtering/masq/NAT)
<*> IP range match support
<*> Packet filtering(根據linux釋出,以下三項可能name不同)
<*> REJECT target support
<*> Full NAT
3.
其它相關網址:
https://wireless.wiki.kernel.org/en/users/download(linux wireless driverdownload)
http://www.361way.com/hostapd-soft-ap/2933.html(centos配置wifi熱點)
http://forum.ubuntu.org.cn/viewtopic.php?p=2975544(ubuntu下配置熱點)
http://blog.itpub.net/29901741/viewspace-1294741/(橋接模式配置熱點)
相關推薦
linux命令列模式下配置wifi熱點
本文主要目的是學習筆記,參考N多網上資料,在此謝過前輩先賢們。 First注意: 本文是在centos6下用hostapd+dnsmasq實現Wifi熱點配置,以下操作請首先排除wpa_supplicant、NetworkManager這類網路管理工具的影響。 三種方式檢
Linux在命令列模式下執行命令
Linux系統登入環境 在Linux預設的登入的模式中,主要分為兩種,一種是純文字介面的登入環境,另一種則是圖形介面的登入環境。 ●Linux預設提供6個終端介面來讓使用者登入,切換的方式為:[Ctrl]+[Alt]+[F1]~[F6]。系統會按[F1]~[
webpack4.0命令列模式下【不用配置檔案】打包教程【傻瓜教程】
解決問題 解決webpack4.0預設是從src目錄下尋找index.js然後輸出到dist目錄中的main.js。很多同學用命令列在這裡會踩很多坑。今天我來徹底解決這個問題。很簡單。 初始化 新建一個目錄 mkdir wpdemo 進入
關於Linux命令列環境下無線網絡卡的配置
無線網絡卡的一種配置方法,通過wpa_supplicant並依據SSID及口令生成相關配置檔案,然後講配置檔案掛接進網絡卡的的配置即可(樹莓派中也使用這種方法)。當然也可以直接在interface無線網絡卡中配置明文的相關配置,條條大路通羅馬而已。 [email
CentOS命令列模式下修改linux解析度的方法
來自:http://www.centoscn.com/CentOS/config/2014/0222/2434.html 進入到/boot/grub/目錄下,然後就可以看到裡面有個名為menu.lst的檔案,用vim將其開啟,可以看到以下內容: # grub.conf
驚豔的cygwin——Windows下的Linux命令列環境的配置和使用
原文地址:http://oldratlee.com/post/2012-12-22/stunning-cygwin N年前倒騰過一次cygwin,當時體驗感覺不好。到現在一直用的是GNU utilities for Win32,在Windows的CMD中使用*nix的命令
Smplayer命令列模式下的用法
用法: smplayer [-minigui] [-defaultgui] [-mpcgui] [-config-path 目錄] [-send-action 動作名稱] [-actions 動作列表] [-close-at-end] [-no-close-at-end] [-fullscreen]
ubuntu16.04命令列模式下自動列印^@解決辦法
筆記本型號為神舟Z7-KP7GT,顯示卡為GTX1060,在更換ubuntu系統驅動時進入命令列模式後,系統會一直自動列印^@字元到控制檯,個人猜想應該是筆記本鍵盤的驅動與ubuntu系統自帶的驅動有所衝突,但無法關閉圖形介面導致無法更換驅動。經百度後,發現可
Dig是一個在類Unix命令列模式下查詢DNS包括NS記錄,A記錄,MX記錄等相關資訊的工具
Dig是一個在類Unix命令列模式下查詢DNS包括NS記錄,A記錄,MX記錄等相關資訊的工具查詢yahoo.com的A記錄:(此處一定是域而不是主機,如我公司為xinpindao.com)dig yahoo.com A +noall +answer 查詢yahoo.com MX記錄的列表:dig yahoo
命令列模式下編譯多個C/C++原始檔
最近在學習linux,需要經常使用命令列,這時才發現熟悉命令列之後,命令列真的很強大,也很有逼格 由於在linux系統中需要在命令列格式下對C語言進行編譯,順便也研究了一下windows系統下的命令列編譯,感覺也蠻方便的。 單個原始檔編譯 linux系統下:g++ pro
(轉)在Linux命令列模式安裝VMware Tools
7 輸入“cd vmware-tools-distrib/”進入名為“vmware-tools-distrib”的目錄,輸入“./vmware-install.pl”嘗試安裝, 出現錯誤“-bash: ./vmware-install.pl: /usr/bin/per: bad
如何在命令列模式下執行帶包的java檔案
最近在學習java,但是看到包(package)一節的時候,不知道在命令列下該怎麼執行帶包的java檔案了,經過查資料才搞懂。 比如有以下程式: package com.test public class Hello{ public static voi
在CentOS7命令列模式下安裝虛擬機器
1.主機環境描述: 作業系統:CentOS7 系統GUI:無 CPU:Intel4代,記憶體:16G, 硬碟1T 主機IP地址:192.168.0.95(內網) 已開啟的服務:ssh,ftp, samba共享(共享目錄為/var/data/test1, 許可權為可讀寫)
說說在CMD命令列模式下ADB命令顯示為不是內部或外部命令,亦不是可執行程式和批處理檔案的解決辦法
有時候在android開發中我們會用到adb命令列,但很多人在cmd中輸入adb命令後,會出現'adb'不是內部或外部命令,亦不是可執行程式和批處理檔案的問題 解決辦法是:找到SDK目錄,在其子目錄p
mplayer命令列模式下的使用方法【轉】
mplayer命令列模式下的使用方法http://hi.baidu.com/lovehack2006/blog/item/162ef9778214111eb051b9d4.htmlMPlayerMPlayer 是我在 Linux 系統中用到的相當好的媒體播放程式,它因支援播放廣泛的音/視訊檔案格式而著稱。
Ubuntu命令列模式下掛載與解除安裝U盤
由於GPU顯示卡出現問題,需要重灌驅動,在命令列模式下插入U盤,拷貝驅動程式,因此本文總結一下再命令列下掛載U盤的方法 首先不要插入U盤,執行 cat /proc/partitions 檢視輸出內容,然後插上U盤,繼續執行上面的指令,觀察輸出的變化,多出來的內容就是U盤
linux命令列下安裝配置virtualbox虛擬機器
轉自:http://www.server110.com/virtualbox/201308/307.html linux下安裝virtualbox虛擬機器命令操作 無意間看到一篇虛擬機器效能介紹的文章,說到開源的virtualbox性很不錯,於是最近到官方網站www.vir
Linux 下命令列模式與X-window之間的切換
命令列模式:也可以稱為終端介面(terminal或console) 預設情況下會有6個Terminal來讓使用者登入,切換方式為:[Ctrl]+[Alt]+[F1]~[F6](F1-F6為6個終端號) 6個終端介面的命名:[tty1~tty6] Linux登入模式主要分為
linux命令列下執行php的方法和配置
首先找到php的安裝目錄,我這裡安裝到了/usr/bin/php, 前面的引數是php指令碼的路徑,後面的是執行php檔案的路徑。 配置 如果不希望每次執行時都輸入php指令碼的全部路徑,可以進行設定,cp /usr/bin/php /usr/sbin 至此,
(Ubuntu系列)——Linux下軟體的安裝與解除安裝(命令列模式)
關於軟體的形式: Linux下是除了二進位制形式的軟體分發外,還有原始碼形式的軟體包,講一講這些軟體的安裝與解除安裝: 一、二進位制分發軟體包的安裝與解除安裝 linux軟體的二進位制分發是指事先已經編譯好二進位制形式的軟體包的釋出形式,其優點是安裝使