Linux下WIFI及热点网络配置

本文系统基于uBuntu OS,其他系统可以参照进行,注意对应的命令与语法。事情的原因是大家在群里讨论在ARM开发板上打开热点,解决了顺便做下记录,省的下次忘记。

一、网卡命令:

显示所有网络信息

sudo ip link show 

关闭或打开网络

sudo ip link set wlan0 down
sudo ip link set wlan0 up

激活或启动网络

sudo ifconfig wlan0 up

设置IP地址

sudo ifconfig wlan0 192.168.100.110

查看是否支持AP模式

sudo iw dev wlan0 info

二、WIFI连接工具:

在 linux 中管理 WIFI 的工具有很多,比如 wpa_supplicant、iw、netctl、connmanctl等

Connmanctl工具

# 进入管理工具
sudo connmanctl 
 
# 是能wifi
connmanctl enable wifi
 
# 开启代理
agent on
 
# 扫描 wifi
scan wifi
 
# 列出扫描的wifi列表,包括已连接的
services 
 
# 连接wifi
connect <UUID>
 
# 断开wifi
disconnect <UUID>
 
# 检查当前连接的网络信息
info <UUID>
 
# 删除连接记录
remove <UUID>
 
# 退出
exit

三、热点使用

打开热点主要使用的工具是 hostapd

  • 编写热线 /etc/hostapd/hostapd.conf 配置文件,文件名可以任意

interface=wlan0     # 你的无线接口名
driver=nl80211      # 无线驱动类型
ssid=MyHotspot      # 热点名称
hw_mode=g           # 工作模式,g为802.11g,n为802.11n
channel=6           # 无线频道
macaddr_acl=0       # 不限制MAC地址
auth_algs=1         # 认证算法
ignore_broadcast_ssid=0
wpa=2               # WPA2安全
wpa_passphrase=MyPassPhrase # 密码
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
  • 注意: 通畅情况下这么配置没问题,需要注意的是不热模块之间可能有细微的区别,主要查看对应的手册

  • 启动热点

sudo hostapd -B /etc/hostapd/hostapd.conf

注意:此时启动的热点可以扫描到,但是无法连接,因为热点还无法为设备自动分配IP

四、动态IP分配:

目前常用的工具有 dnsmasq 和 udhcp,可以更具自己的需要进行选择,需要注意的是这两个工具都分为服务端和客户端,想要为热点分配 动态 ip 时,工具都要作为服务端才行

udhcp 使用

# The start and end of the IP lease block
start       192.168.110.100    #default: 192.168.110.200   客户端分配的地址范围
end        192.168.110.200    #default: 192.168.110.254
# The interface that udhcpd will use
interface   wlan0       #default: eth 0 #目标板子上的无线网卡wlan0
#Examles
opt dns 180.184.1.1 180.184.2.2   #dns服务器
option subnet 255.255.255.0
opt router 192.168.110.220                    #wlan的 ip地址,做为网关地址
option dns 192.168.110.220                    # appened to above DNS servers  for a total of 3
option domain local
option lease   864000      # 10 days of seconds
  • 启动服务

sudo udhcpd

主要:这个和热点的启动无先后顺序,但是需要启动动态 ip 分配热点才能连接,但是会发现此时的热点还不能上网,需要进行IP转发才行

五、IP转发

  • 配置IP转发

# 检查是否启用了IP转发
sudo sysctl net.ipv4.ip_forward
 
# 临时启动转发
sudo sysctl -w net.ipv4.ip_forward=1
 
# 永久启动转发,文件不存在时创建即可
sudo vi /etc/sysctl.conf   
# 在文件中添加
net.ipv4.ip_forward=1
# 立即生效
sudo sysctl -p /etc/sysctl.conf
# 检查是否应用
cat /proc/sys/net/ipv4/ip_forward
  • 设置NAT规则

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

参考链接

arm linux 移植 udhcp 与 使用:arm linux 移植 udhcp 与 使用 - schips - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值