WiFiPineapple的上网方式

来自RadioWar Wiki
跳转至: 导航搜索

双绞线连接互联网

我们的WiFiPineapple可以通过自己的WAN / LAN接口与已经介入互联网的网络设备相连,比如家用路由器、共享了网络的电脑剩余有线网卡等等,从而与互联网相连。


方法很简单:

  • 在WiFiPineapple的网页界面里找到“普通设置(Advanced)”页面,在里面的命令行里输入如下命令:
iptables -A FORWARD -i eth1 -o wlan0 -s 172.16.42.0 -m state --state NEW -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
  • 点“执行”按钮。
  • 把网线插好,并确认没有插到 PoE Lan 接口



Android Tethering

Android Tethering,也就是使用USB口连接安卓设备,利用安卓的“USB网络分享”功能让我们的WiFiPineapple利用安卓设备连接互联网,同时还可以给安卓设备充电~


方法很简单:

  • 使用USB线连接安卓设备和我们的WiFiPineapple。
  • 在安卓设备里启用“USB网络分享”功能。
  • 在WiFiPineapple的网页界面里找到“普通设置(Advanced)”页面,在里面的命令行里输入如下命令:
iptables -t nat -A POSTROUTING -s 172.16.42.0/24 -o usb0 -j MASQUERADE
iptables -A FORWARD -s 172.16.42.0/24 -o usb0 -j ACCEPT
iptables -A FORWARD -d 172.16.42.0/24 -m state --state ESTABLISHED,RELATED -i usb0 -j ACCEPT
  • 点“执行”按钮。



使用USB 3G上网卡

如果不喜欢用安卓设备插在我们的WiFiPineapple上而想使用3G上网卡让我们的WiFiPineapple上网,其实很简单:


中国联通的USB 3G上网卡为例(街上的商店、网上都可以很容易买到)

  • 将SIM卡插进3G上网卡里,盖好盖子
  • 将3G上网卡插到我们的WiFiPineapple上(当然,通过USB HUB也可以,但是请注意使用带有独立供电的优质的USB HUB)
  • 在WiFiPineapple的网页界面里找到“3G”页面并点击打开
  • 查看页面上“USB Connections”一栏所显示的您的3G上网卡的设备代码,比如
Bus 001 Device 003: ID 12d1:1506 Huawei Technologies Co., Ltd.

这里的12d1:1506就是设备代码

  • 使用浏览器的搜索功能,搜索设备代码,查看是否已经有现成的设置脚本可供使用


如果有现成的设置脚本

  • 请找到相应的脚本里apn=这一行的等号后面的内容改为正确的apn,如中国联通的3G上网卡使用的apn是3gnet
  • 找到apn这一行的下面的username和password这两行,将这两行的等号后面的文字删除(因为中国联通的3gnet这个APN的用户名和密码为空)
  • 点击下面的“更新3G脚本”(Update 3G Script)按钮以保存修改
  • 点击页面上部的强制连接3G网络的链接(此功能尚在测试中,如果不能成功的话请点击主页的左上方的"开机自动3G拨号"(3G bootup),然后重启WiFiPineapple)


如果没有现成的设置脚本

  • 请将下面的对应的设备代码的脚本复制
  • 在3G网卡拨号脚本里找到最下面一行,内容会是esac
  • 在esac这一行的上方写着;;的这一行后面按下回车(因为;;为每一种3G上网卡的设置脚本的结束的标志,不同的设备的脚本不能穿插在一起,会弄混),然后粘贴我们提供的相应的设备代码的脚本(本脚本使用中国联通的3gnet这个APN,如果您的SIM卡使用不同的APN设置才能上网请咨询您的SIM卡的网络服务运营商)
  • 点击下面的“更新3G脚本”(Update 3G Script)按钮以保存修改
  • 点击页面上部的强制连接3G网络的链接(此功能尚在测试中,如果不能成功的话请点击主页的左上方的"开机自动3G拨号"(3G bootup),然后重启WiFiPineapple)


国内常见的USB 3G上网卡的设置脚本

华为E367, E398

设备代码:12d1:1506

*12d1:1506*)    echo "Huawei E398 detected. Attempting mode switch"
        uci delete network.wan2         
        uci set network.wan2=interface  
        uci set network.wan2.ifname=ppp0           
        uci set network.wan2.proto=3g           
        uci set network.wan2.service=umts       
        uci set network.wan2.device=/dev/ttyUSB0     
        uci set network.wan2.apn=3gnet
        uci set network.wan2.username=
        uci set network.wan2.password=
        uci set network.wan2.defaultroute=1    
        uci commit network 
        usb_modeswitch -v 12d1 -p 1506 -V 12d1 -P 1446
        sleep 10; rmmod usbserial
        sleep 3; insmod usbserial vendor=0x12d1 product=0x1506
        sleep 5; /etc/init.d/firewall disable; /etc/init.d/firewall stop
        logger "3G: firewall stopped"
        iptables -t nat -A POSTROUTING -s 172.16.42.0/24 -o 3g-wan2 -j MASQUERADE
        iptables -A FORWARD -s 172.16.42.0/24 -o 3g-wan2 -j ACCEPT 
        iptables -A FORWARD -d 172.16.42.0/24 -m state --state ESTABLISHED,RELATED -i 3g-wan2 -j ACCEPT
        ;;

使用外接无线网卡进行无线中继以及转发操作

当网卡(例:8187系列)插入wifipineapple中,我们可以在USB栏lsusb Output中会获取如下提示:

 Realtek Semiconductor Corp. RTL8187 Wireless Adapter

这就说明网卡连接完成,然后可以通过networkmanager插件进行无线中继以及转发了。

1、首先请在PineApple Bar当中安装networkmanager并访问该功能页面;

2、确保网卡连入wifipineapple并且处于“enable”状态

打开networkmanager后,找到外接网卡的对应区域,一般格式为

 “Physical Interface radio1 [wlan1] - HWAddr [XX:XX:XX:XX:XX:XX]”.(我们假设8187网卡对应wlan1)


以下为详细操作:


  • 选择ENABLE;
  • Network选择WLAN,mode选择Client;
  • Wireless Network Name (SSID)从Available AP选择要连接的AP;
  • channel选择AP对应的频道;
  • Security Mode、Encryption可选择对应的加密方式;
  • Shared Key选择对应的密钥。

以上所有项填写完后,点击“save”,然后点击“Commit”,而在SSH下实际上等同于输入以下命令:

 iwconfig wlan1 essid "your-ssid" key "s:your-passrd"

(your-ssid为要连接的AP的SSID号,your-passrd就是密码)


只要配置成功的情况下,我们可以在log里出现以下结果:

 wlan1: associated
 wlan1: RX AssocResp from XX:XX:XX:XX:XX:XX (capab=0x1431 status=0 aid=4)
 wlan1: associate with XX:XX:XX:XX:XX:XX (try 1/3)
 wlan1: authenticated
 wlan1: send auth to XX:XX:XX:XX:XX:XX (try 1/3)
 DHCP packet received on wlan1 which has no address

点击wlan1后的“DHCP REQUEST”,等同于输入命令:

 udhcpc -n -i wlan1

(wlan1为8187对应的wlan.)

顺利的话就自动联网的,而最后还需一步,普通设置(Advanced)设置里输入:

 iptables -t nat -A POSTROUTING -s 172.16.42.0/24 -o wlan1 -j MASQUERADE
 iptables -A FORWARD -s 172.16.42.0/24 -o wlan1 -j ACCEPT
 iptables -A FORWARD -d 172.16.42.0/24 -m state --state ESTABLISHED,RELATED -i wlan1 -j ACCEPT

记住以上iptables的策略和正常WIFI、Lan、3G等策略不一样,所以请勿张冠李戴!!这时候所有连入wifipineapple的客户端都会经过转发从而正常联网了。


  • 建议尽量选择WPA/WPA2加密的无线网络进行中继或转发,因WEP无线网络会因为某些设置而导致无法认证成功。
  • 建议先开菠萝再插入无线网卡,否则可能出现识别错误导致MK4 Karma打不开的情况。
  • 有时因识别错误DHCP REQUEST不会出现在外接网卡之后,这时需要在普通设置(Advanced)设置里输入“udhcpc -n -i wlan1”联网。