ubuntu下使用openkeeper连接外网并通过无线网卡共享外网连接

来源:互联网 发布:了解茶的软件 编辑:程序博客网 时间:2024/05/22 02:07

———————2016年1月19日更——————
Raspberry Pi Fake Access Point / Wifi Honey Pot Tutorial:
http://andrewmichaelsmith.com/2013/08/raspberry-pi-wi-fi-honeypot/
http://blog.claytonn.com/raspberry-pi-creating-access-point/
———————9月16日更————————–
今天发现坑的那个连接学校某台内网VPN服务器上外网的内网VPN服务器down了,于是回宿舍就自己断开了实验室的OpenKeeper。
这里写图片描述
好处就是,不管在实验室还是寝室,完全可以自己控制每一边的NetKeeper帐号的连接和断开操作。

断开的操作

先查看hostapd的状态,发现是正在运行的,则先断开hostapd关闭无线分享。

$ service hostapd status$ service hostapd stop 

———–9月18日 更——-
哦不行,像上面那样停止hostapd是不行的。用ps aux|grep hostapd之后发现hostapd 依然在运行。要结束它所在的进程才行。

$ sudo killall hostapd

就像/usr/sbin/myap里面写的一样,得结束掉hostapd所在的进程。

扫描当前物理环境的可用SSID

先要让wlan0网卡up。

$ sudo ip link set wlan0 up#或者$ sudo ifconfig wlan0 up

事实上,前者也是调用的后者。(这里网卡名称写错了所以没有执行,但是你懂我的意思)
这里写图片描述
然后当up的时候,可能会碰到困难,就是rf-kill问题。
直接

# sudo rfkill unblock wifi

解除对wifi的限制。
参考:http://www.linuxdiyf.com/linux/18948.html

$ sudo iw dev wlan0 scan |grep SSID

这里写图片描述
知道了哪些wifi可连之后,就连它吧。

$ sudo iw dev wlan0 connect CQUPT

这里CQUPT是开放网络,所以可以直接连。如果是加密的就另说了。至于断开已连上的wifi,我网上找了一下然而并没有找到,说是直接关闭wifi就完事了。。。

$ sudo iwconfig wlan0 down

断开openkeeper

$ ok-stop

原文链接:
http://os.51cto.com/art/201407/446266.htm
https://my.oschina.net/oldfeel/blog/292264
需要安装两个工具:

$ sudo apt-get install hostapd dnsmasq

关键需要配置三个配置文件

$ sudo vi /etc/hostapd.conf $ sudo vi /etc/dnsmasq.conf$ vi /usr/bin/myap#也许会用到下面这个$ sudo vi /etc/NetworkManager/NetworkManager.conf

配置hostapd

$ sudo vi /etc/hostapd.confinterface=wlan0driver=nl80211ssid=oldfeel                   # ssid 可以改成你喜欢的名字hw_mode=gchannel=11dtim_period=1rts_threshold=2347fragm_threshold=2346macaddr_acl=0auth_algs=3ieee80211n=0wpa=3wpa_passphrase=12345678   #为了使密码后面没空格,看完之后删掉注释wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP

进入hostapd的交互式命令行。

$ hostapd_cli

配置DNS

Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以为局域网电脑提供内网ip地址和路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络,我们将通过它来为我们接入后的客户端设备提供DHCP以及DNS服务。这样客户端就可以通过无线模拟AP顺利访问网络。
参考:http://os.51cto.com/art/201311/415573.htm

$ sudo vi /etc/dnsmasq.confinterface=wlan0bind-interfaces #这个是只监听wlan0,没有之会检测所有卡except-interface=lodhcp-range=192.168.3.2,192.168.3.100,6h     #设置dhcp地址范围,即租借时间6小时dhcp-option=3,192.168.3.1 #为手机配置网关dhcp-option=6,202.202.32.33 #为手机配置dns,请自己修改为外网的dns地址

编辑启动脚本

$ sudo vi /usr/bin/myap#! /bin/sh# 为无线添加路由规则iptables -Fiptables -Xiptables -t nat -Fiptables -t nat -Xiptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADEiptables -A FORWARD -s 192.168.10.0/24 -o eth0 -j ACCEPT# 这里是将wifi的流量转发到`eth0`网卡上,于是可以通过eth0网卡能访问的地址(如内网BT Down铺),都可以通过wifi网络访问,如果要共享互联网连接,则需要将`eth0`改为上外网的网卡,比如`ppp0`。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 hostapdifconfig 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 202.202.32.33" >> /etc/resolv.conf

将wifi流量转发到eth0网卡之后手机连接wifi之后访问学校内网资源

将wifi流量转发到ppp0网卡之后手机连接wifi之后访问外网资源

修改/usr/bin/myap权限

$ sudo  chmod -R 777 /usr/bin/myap

确保系统打开转发功能

$ sudo su# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf# echo 1 >/proc/sys/net/ipv4/ip_forward# exit

想共享wifi时,请保证电脑能上网,然后运行

$ sudo vi /etc/NetworkManager/NetworkManager.conf[main]plugins=ifupdown,keyfiledns=dnsmasqno-auto-default=B4:B5:2F:CB:9E:5C,[ifupdown]managed=true

Bug fixed

这里写图片描述
『SIOCSIFFLAGS: Operation not possible due to RF-kill的解决』
http://www.linuxdiyf.com/linux/18948.html

0 0
原创粉丝点击