首页 > 代码库 > Ubuntu下使用无线网卡共享WiFi(AP)
Ubuntu下使用无线网卡共享WiFi(AP)
方法一:
以前一直没有成功在ubuntu下开启过android可用的wifi热点.
但是最近使用ubuntu14.04 一次偶然的机会我安装了kubuntu-desktop,使用kubuntu-desktop时发现,使用其自带的网络管理器,比ubuntu默认的多了一种模式:ubuntu自带的网络管理器只有架构和Ad-hoc模式,而Kubuntu-desktop版的网络管理器多了一个Access Poin模式,而且可以选择创建wireless(shared),而ubuntu只能选择新建wifi.
但是假如我不想使用kubuntu-desktop而是使用ubuntu,怎样以这种方式开启android可用的wifi热点呢?
答案是,进入ubuntu软件中心,输入搜索network,选择kde-nm-connection-editor安装即可.
然后打开软件-新建-wireless(shared),然后模式选择Access Point即可开启.
方法二:
Android是不支持Ad-hoc模式的WiFi.本文介绍在Ubuntu下实现软AP.(需要你的无线网卡支持AP,并且电脑是通过本地连接路由器而不是宽带连接上网的。)
使用工具hostapd,dnsmasq.我的环境是Ubuntu12.10;手机Android 2.3.4;网卡w311mi.有线网络使用静态的IP.(以下代码在实际用的时候要去掉注释)
1、首先,安装软件:
sudo apt-get install hostapd dnsmasq
2、配置hostapd:
sudo gedit /etc/hostapd.conf interface=wlan0 driver=nl80211 ssid=oldfeel # ssid 可以改成你喜欢的名字 hw_mode=g channel=11 dtim_period=1 rts_threshold=2347 fragm_threshold=2346 macaddr_acl=0 auth_algs=3 ieee80211n=0 wpa=3 wpa_passphrase=12345678 #自行设置密码,最好密码后不要留空格 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
3、配置dns:
sudo gedit /etc/dnsmasq.conf interface=wlan0 bind-interfaces #这个是只监听wlan0,没有之会检测所有卡 except-interface=lo dhcp-range=192.168.10.100,192.168.10.199,6h #设置dhcp地址范围,即租借时间6小时 dhcp-option=3,192.168.10.1 #为手机配置网关 dhcp-option=6,8.8.8.8#为手机配置dns,请自己修改为外网的dns地址
4、编辑启动脚本:
sudo gedit /usr/bin/myap #! /bin/sh # 为无线添加路由规则 iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE iptables -A FORWARD -s 192.168.10.0/24 -o eth0 -j ACCEPT iptables -A FORWARD -d 192.168.10.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT #dnsmasq与named一般情况下bind的named会占了53端口, # 然后dnsmasq会启动不了,所以我用killall named来杀了named再启动dnsmasq。 killall hostapd ifconfig wlan0 192.168.10.1 #“-B”后台运行,之后的hostapd.conf需要指名路径. hostapd -B /etc/hostapd.conf /etc/init.d/dnsmasq restart # dnsmasq启动后会出现电脑突然上不了网, # 因为dnsmasq更改了/etc/resolv.conf的原因。可以在/etc/resolv.conf加一行 # nameserver x.x.x.x #填入DNS服务器地址,根据自己的情况修改。 echo "nameserver 8.8.8.8" >> /etc/resolv.conf
5、修改/usr/bin/myap权限:
sudo chmod -R 777 /usr/bin/myap
6、最后还要注意确保系统打开转发功能
sudo su echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf echo 1 >/proc/sys/net/ipv4/ip_forward exit
7、想共享wifi时,请保证电脑能上网,然后运行
sudo myap
8、重启后如果显示有线连接未托管,修改NetworkManager.conf 如下(然后重启):
sudo gedit /etc/NetworkManager/NetworkManager.conf [main] plugins=ifupdown,keyfile dns=dnsmasq no-auto-default=B4:B5:2F:CB:9E:5C, [ifupdown] managed=true
9、手机连接成功后就可以通过UC浏览器打开 http://192.168.10.1/连接电脑上的服务器了。。(欧朋浏览器迷你版打不开...郁闷了半天。。)