Linux下配置无线网卡为热点

相关配置

Ubuntu 12.04/Ubuntu 13.04
无线网卡Tenda 803u / Tp-link TL-WIN310G
VMware Workstation 10
(注:直接安装的是Ubuntu系统的PC也可以)

步骤

安装Hostapd 2.0

Almighty@Ubuntu:~$ sudo apt-get install libnl-dev libpopt-dev libssl-dev
Almighty@Ubuntu:~$ wget http://hostap.epitest.fi/releases/hostapd-2.0.tar.gz
Almighty@Ubuntu:~$ cp hostapd-2.0.tar.gz /mnt/hgfs/github  #拷贝到windows下的目录,方便在windows下阅读和修改代码
Almighty@Ubuntu:~$ cd /mnt/hgfs/github/
Almighty@Ubuntu:/mnt/hgfs/github$ tar -zxvf hostapd-2.0.tar.gz
Almighty@Ubuntu:/mnt/hgfs/github$ cd hostapd-2.0/hostapd/
Almighty@Ubuntu:/mnt/hgfs/github/hostapd-2.0/hostapd$ cp defconfig .config
Almighty@Ubuntu:/mnt/hgfs/github/hostapd-2.0/hostapd$ make
Almighty@Ubuntu:/mnt/hgfs/github/hostapd-2.0/hostapd$ sudo make install

编译成功

配置无线网卡

1.   这里使用tenda 832u,插上网卡后虚拟机会跳出提示,VMware左下角会出现USB设备,
点击连接设备,最终命令行下ifconfig时能看到wlan0网口。 (直接是Ubuntu系统的跳过此步)

2. 配置wlan0网口
Almighty@Ubuntu:~/hostapd-2.0/hostapd$ sudo gedit  /etc/network/interfaces

auto wlan0
iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0

此时有线网口eth0应该可以上网。

配置hostapd

打开hostapd的配置文件

Almighty@Ubuntu:~/hostapd-2.0/hostapd$ sudo gedit /etc/hostapd.conf

配置文件的参数范例如下:

interface=wlan0
driver=nl80211
ssid=Almighty
hw_mode=g
channel=11
dtim_period=1
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
auth_algs=3
#ieee80211n=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

安装dnsmasq

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络。
它提供了DNS功能和可选择的DHCP功能。
当前环境默认已安装运行dnsmasq,这里需要先把它杀掉,然后升级一下。

Almighty@Ubuntu:~$ ps -e | grep dnsmasq
 1293 ?        00:00:00 dnsmasq
Almighty@Ubuntu:~$ sudo killall dnsmasq
Almighty@Ubuntu:~$ sudo apt-get install dnsmasq
Almighty@Ubuntu:~$ ping www.163.com
Almighty@Ubuntu:~$ sudo reboot

配置DHCP服务器

Almighty@Ubuntu:~/hostapd-2.0/hostapd$ sudo gedit /etc/dnsmasq.conf

配置参数如下:

interface=wlan0
bind-interfaces
except-interface=lo
dhcp-range=192.168.0.100,192.168.0.200,6h
dhcp-option=3,192.168.0.1


其中
dhcp-range=192.168.0.100,192.168.0.200,6h #设置dhcp地址范围,即租借时间6小时
dhcp-option=3,192.168.0.1 #为手机配置网关 

配置hostapd,dnsmasq

Almighty@Ubuntu:~$ sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
Almighty@Ubuntu:~$ sudo hostapd -B /etc/hostapd.conf
Configuration file: /etc/hostapd.conf
Using interface wlan0 with hwaddr c8:3a:35:cc:76:cd and ssid "Almighty" 
Almighty@Ubuntu@ubuntu:~$ sudo /etc/init.d/dnsmasq restart

这时station(Android手机、iphone、ipad等)可以连接我们搭建AP了,但还无法上网,尽管我们的虚拟机中eth0可以上网。

配置路由上网

Almighty@Ubuntu:~$ sudo -s
root@Ubuntu:~# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
root@Ubuntu:~# echo 1 > /proc/sys/net/ipv4/ip_forward
root@Ubuntu:~# exit
exit
Almighty@Ubuntu:~$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Almighty@Ubuntu:~$

这时我们的station可以打开网页上网。


你可能感兴趣的:(Linux,网络)