Linux开启NAT-AP无线热点最佳实践教程

xingyun86 2021-12-16 829

Linux开启NAT-AP无线热点最佳实践教程

1.下载必备工具

$sudo apt install hostapd

2.查看网卡信息

$ip address

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e4:5f:01:42:0b:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.209/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::e65f:1ff:fe42:b00/64 scope link 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether e4:5f:01:42:0b:01 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 scope global wlan0
       valid_lft forever preferred_lft forever

3.配置hostapd.conf

$sudo vi hostapd.conf

#无线设备名称,可用iwconfig命令查看
interface=wlan0
#使用的网桥名称,如果是用DHCP+NAT方式可忽略此行
#bridge=br0  
#hostapd 0.6.8或者更高版本唯一选择
driver=nl80211
#终端看到的wifi名称
ssid=MyAccessPoint
#指明要选用的无线传输协议,这里表示使用802.11g
hw_mode=g
#802.11b/g都至多只有三条互不干扰的信道,即1,6,11,一般填这三个其中一个
channel=1
#验证身份的算法,1表示只支持wpa,2表示只支持wep,3表示两者都支持,wep已经被淘汰了,请不要使用
auth_algs=1
#wpa加密方式,1代表支持wpa,2代表支持wap2,3代表两者都支持
wpa=1
#wifi密码,请自行修改
wpa_passphrase=12345678
#对所有用户进行同样的认证,不进行单独的认证,如果需要,请设置为WPA-EAP
wpa_key_mgmt=WPA-PSK
#控制支持加密数据的秘钥,CCMP比TKIP更强
wpa_pairwise=CCMP

4.启动热点AP

配置wlan0网卡ip

$ sudo ip address add 10.0.0.1/24 dev wlan0

$ sudo sysctl net.ipv4.ip_forward=1

$ sudo iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE

$ sudo hostapd ./hostapd.conf

完整脚本如下所示:

#!/bin/bash
workdir=$(cd $(dirname $0); pwd)
sudo pkill hostapd
sudo ip address add 10.0.0.1/24 dev wlan0
sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT
sudo iptables -t filter -A INPUT -p udp -m udp -j ACCEPT
sudo hostapd $workdir/hostapd.conf


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回