Linux下无线网卡的AP模式

99封情书 提交于 2020-03-25 12:11:14

3 月,跳不动了?>>>

正常我们的无线网卡工作在sta模式,通过连接路由进行上网。在Windows下,我们可以用猎豹、360和腾讯管家里的一些软件助手,把我们的无线网卡开一个热点,同样,在Linux中。我们也可以把我们无线网卡的热点打开,让其他设备能够连接。

基本配置

首先确保Linux能识别到无线网卡
ifconfig 能看到 wlan0 并且有路由分配的ip
把原来的动态IP改为静态IP

sudo vim /etc/network/interface

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
    wpa-ssid  "路由名"
    wpa-psk  "密码"
    address   **.**.**.**就写上面的ifconfig的吧
    netmask 255.255.255.0
    gateway  192.168.0.1

重启网络 sudo /etc/init.d/networking restart
重启网卡 sudo ifup wlan0

安装hostapd服务

hostapd就是用来打开无线网卡的AP模式的

sudo apt-get install hostapd
sudo vim /etc/default/hostapd

修改 #DAEMON_CONF=""为
DAEMON_CONF="/etc/hostapd/hostapd.conf"

sudo vim /etc/hostapd/hostapd.conf

#网卡
interface=wlan0
#驱动
driver=*
#WiFi名
ssdi=wifi-name
#工作模式 802.11n
hw_mode=n
#信道
channel=*
#WPA2配置
wpa=2
#WiFi密码
wpa_passphrase=wifi-passwd
#认证方式 WPA-PSK
wpa_key_mgmt=WPA-PSK
#加密方式
wpa_pairwise=CCMP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
wmm_enabled=1

sudo service hostapd restart 重启hostapd服务

安装配置 isc-dhcp-server服务

hostapd仅仅开启了无线网卡的AP模式,但是设备连接时,该如何分配IP呢,这就需要借助isc-dhcp-server来动态分配IP

sudo apt-get install isc-dhcp-server

sudo vim /etc/dhcp/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;
log-facility local7;

//网关IP 就是无线网卡的static ip
subnet 192.168.**.**
netmask 255.255.255.0{
range 192.168.0.1 192.168.0.120;
option routers 192.168.**.**;
option broadcast-address 192.168.0.105;
option domain-name-servers 8.8.8.8,8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
}


sudo service isc-dhcp-server restart  //重启服务

配置路由转发规则

上面两步仅仅保证了,AP服务,你可以连接、有了dhcp你可以获得动态IP,但是如何保证设备能通过这个无线网卡来上网呢,这需要配置,将无线网卡wlan0的设备传输数据转发到有线网卡eth0上面。所以需要配置一下路由转发规则,打通数据传输的链路。

使用iptables实现简答的转发

sudo iptables -F
sudo iptables -X

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo bash
iptables-save > /etc/iptables.up.rules
exit

sudo /etc/init.d/iptables start
sudo echo 1> /proc/sys/net/ipv4/ip——forward
开启路由转发
发布了204 篇原创文章 · 获赞 199 · 访问量 57万+
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!