1.查看自己的无线网卡信息:
$ hwinfo --netcard
如果不用桥接模式,用nat模式的话,只安装hostapd就可以了。
查看是否支持ap功能,如果有AP字样,说明支持
$ sudo apt-get install iw
$ iw list
2.安装hostapd,反正提示依赖什么包就安装什么包
$ sudo apt-get install libnl1 libnl-dev libnl-doc
$ sudo apt-get install libssl-dev
$sudo apt-get install bridge-utils
$sudo apt-get install hostapd
$sudo cp /usr/share/doc/hostapd/examples/hostapd.conf.gz /etc/hostapd/
$sudo gzip -d /etc/hostapd/hostapd.conf.gz
$vi /etc/hostapd/hostapd.conf
hostapd.conf内容如下:
interface=wlan0
bridge=br0
driver=nl80211
ssid=ssa
hw_mode=g
channel=11
dtim_period=1
rts_threshold=2347
fragm_threshold=2346
auth_algs=3
wpa=1
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
以下都是桥接模式的方法,如果用nat模式往最后看。
3.设置网卡桥接模式
下面这个文件最后备份一下
$sudo vi /etc/network/interfaces
把里面内容替换成如下 (172.16.16.178是eth0原来的地址,意思就是br0现在成了该主机的对外网卡,eth0是br0桥接的端口之1
所以br0在这里的设置完全是和eth0一样的)
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
bridge_ports eth0
address 172.16.16.X ##这里是你的IP
netmask 255.255.255.0
network 172.16.16.0
broadcast 172.16.16.255
gateway 172.16.16.G ##这里是你的网关
编辑完成后保存
$sudo /etc/init.d/networking restart
最好是重启一下。
其实到这里网应该已经通了,ping 一下运营商的nds服务器
$ping 8.8.8.4.4
应该显示可以通了。但是
$ping www.baidu.com
应该是不能通的。
4.为主机重新设置dns
这里不在/etc/resolve.conf里改,因为重启后就没有了。下面这个文件重启后不会被改掉。
$sudo vi /etc/resolvconf/resolv.conf.d/tail
这个文件默认应该是没有的,保存
nameserver 202.100.64.68
保存后ping 下www.baidu.com,应该可以通了
5.手机与电脑eth0设置
电脑端eth0不用设置IP地址了。把原来设置的删掉。
手机端要手动设置IP地址,为172.16.16.Y,其它设置都一样
试一下,手机应该可以上网了。
上面是bridge模式上网,你的无线设备会和ubuntu主机一样出现在你的局域网里;下面是我用电信cdma无线网卡拨号上网,用笔记本的wifi来共享给手机和其它电脑,采用的是nat模式,用ubuntu主机作nat路由器,来对无线设备的数据进行转发,这里没有配置DHCP,所以要在无线设备上手动设置IP地址,网关,和DNS。
1.正确设置hostapd.conf
2. 设置/etc/sysctl.conf中ipforward
下面两步是关键
3.设置wlan0的IP地址
sudo ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
4.设置iptables转发
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
5.把iptables 设置保存
sudo iptables-save > /etc/iptables-rules
6.在下次启动时加载iptables设置
sudo iptables-restore < /etc/iptables-rules
如果是安装系统时无线网卡插在计算机上,可能会引起Networkmanager接管无线网卡导致“nl80211 driver initialization failed.”错误
已有给出了解决办法,编辑/etc/NetworkManager/NetworkManager.conf
加入以下两行
[keyfile]
unmanaged-devices=mac:<hwaddr>
把NetworkManager重启一下就好了。