转至:http://www.cnblogs.com/yefang/p/Raspbian_wireless_network_configuration.html
新入手的树莓派,弄了一整天的网络终于能使用了。
目标:使用有线连接网络,通过Mentohust认证锐捷,无线网络配置为AP热点共享上网。
一、配置有线网络
编辑/etc/network/interfaces
1 sudo nano /etc/network/interfaces
注释掉DHCP,配置静态IP和MAC地址
auto lo iface lo inet loopback auto eth0 #iface eth0 inet dhcp iface eth0 inet static hwaddress ether XX:XX:XX:XX:XX:XX address 172.17.68.172 netmask 255.255.255.0 gateway 172.17.68.254
配置DNS服务器
1 sudo nano /etc/resolv.conf
添加Google Dns服务地址
nameserver 8.8.8.8 nameserver 8.8.4.4
保存并重启network服务
1 sudo /etc/init.d/networking restart
二、安装Mentohust
先安装libpcap
1 sudo apt-get install libpcap-dev
先检查一下一些编译用的组件,没有的会自动安装上
1 sudo apt-get install autotools-dev libgtk2.0-dev libscim-dev libtool automake1.9
Mentohust源码准备
1 git clone https://github.com/microcai/mentohust.git 2 cd mentohust 3 sh autogen.sh
编译并安装
1 ./configure --prefix=/usr 2 make && sudo make install
给程序授予超级用户权限(可选)
1 sudo chmod u+s /usr/bin/mentohust
配置Mentohust
欢迎使用MentoHUST 版本: 0.3.1 Copyright (C) 2009-2010 HustMoon Studio 人到华中大,有甜亦有辣。明德厚学地,求是创新家。 Bug report to http://code.google.com/p/mentohust/issues/list 用法: mentohust [-选项][参数] 选项: -h 显示本帮助信息 -k -k(退出程序) 其他(重启程序) -w 保存参数到配置文件 -u 用户名 -p 密码 -n 网卡名 -i IP[默认本机IP] -m 子网掩码[默认本机掩码] -g 网关[默认0.0.0.0] -s DNS[默认0.0.0.0] -o Ping主机[默认0.0.0.0,表示关闭该功能] -t 认证超时(秒)[默认8] -e 心跳间隔(秒)[默认30] -r 失败等待(秒)[默认15] -l 允许失败次数[0表示无限制,默认8] -a 组播地址: 0(标准) 1(锐捷) 2(赛尔) [默认0] -d DHCP方式: 0(不使用) 1(二次认证) 2(认证后) 3(认证前) [默认0] -b 是否后台运行: 0(否) 1(是,关闭输出) 2(是,保留输出) 3(是,输出到文件) [默认0] -y 是否显示通知: 0(否) 1~20(是) [默认5] -v 客户端版本号[默认0.00表示兼容xrgsu] -f 自定义数据文件[默认不使用] -c DHCP脚本[默认dhclient] -q 显示SuConfig.dat的内容(如-q/path/SuConfig.dat) 例如: mentohust -uusername -ppassword -neth0 -i192.168.0.1 -m255.255.255.0 -g0.0.0.0 -s0.0.0.0 -o0.0.0.0 -t8 -e30 -r15 -a0 -d1 -b0 -v4.10 -fdefault.mpf -cdhclient 注意:使用时请确保是以root权限运行!
三、配置无线网络
安装无线网卡驱动,以EDUP EP-N8508GS,8188cus芯片为例。
先要获取kernel header源码
1 su 2 cd /usr/src 3 wget https://github.com/raspberrypi/linux/archive/rpi-3.6.y.tar.gz 4 tar xvfz rpi-3.6.y.tar.gz 5 KVER=`uname -r` 6 mv linux-rpi-3.6.y linux-$KVER 7 cd linux-$KVER/ 8 sed -i 's/EXTRAVERSION =.*/EXTRAVERSION = +/' Makefile 9 zcat /proc/config.gz > .config 10 wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers 11 make oldconfig 12 make modules_prepare 13 ln -s /usr/src/linux-$KVER /usr/src/linux 14 ln -s /usr/src/linux-$KVER /lib/modules/$KVER/source 15 ln -s /usr/src/linux-$KVER /lib/modules/$KVER/build 16 exit
获取驱动源码
1 wget http://www.realtek.com.tw/downloads/RedirectFTPSite.aspx?SiteID=3&DownTypeID=3&DownID=919&PFid=48&Conn=4&FTPPath=ftp%3a%2f%2f58.211.24.153%2fcn%2fwlan%2fRTL8192xC_USB_linux_v3.4.4_4749.20121105.zip 2 unzip RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip 3 cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/driver/ 4 upzip rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz 5 cd rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105
修改Makefile文件,找到如下配置,可以看到默认配置是i386平台。
1 sudo nano Makefile
... CONFIG_PLATFORM_I386_PC = y CONFIG_PLATFORM_ANDROID_X86 = n CONFIG_PLATFORM_ARM_S3C2K4 = n CONFIG_PLATFORM_ARM_PXA2XX = n ...
将上面CONFIG_PLATFORM_I386_PC = y改为CONFIG_PLATFORM_I386_PC = n,这里没有RPi的BCM2708平台配置,所以需要自行添加,添加CONFIG_PLATFORM_BCM2708 = y
... CONFIG_PLATFORM_I386_PC = n CONFIG_PLATFORM_BCM2708 = y CONFIG_PLATFORM_ANDROID_X86 = n CONFIG_PLATFORM_ARM_S3C2K4 = n CONFIG_PLATFORM_ARM_PXA2XX = n ...
添加下面的配置到文件里相似的地方
ifeq ($(CONFIG_PLATFORM_ARM_BCM2708), y) EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN ARCH := arm CROSS_COMPILE := KVER := $(shell uname -r) KSRC := /lib/modules/$(KVER)/build MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/ INSTALL_PREFIX := endif
改好后保存退出,就可以开始编译安装了
1 make && sudo make install
安装后模块名称是8192cu.ko,载入模块后网卡就能正常使用了。
1 sudo insmod 8192cu.ko
四、配置无线网络
先给无线网络配置静态IP
1 sudo nano /etc/network/interfaces
添加下面的内容
#allow-hotplug wlan0 #auto wlan0 iface wlan0 inet static #iface wlan0 inet manual address 192.168.10.1 netmask 255.255.255.0 #gateway 192.168.137.1 #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf #iface default inet dhcp
安装hostapd
1 wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz 2 tar -zxvf v1.1.tar.gz 3 cd RTL8188-hostapd-1.1/hostapd 4 make && sudo make install
编辑hostapd 默认配置文件
1 sudo vim /etc/default/hostapd
找到#DAEMON_CONF= "",修改为:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
然后编辑:
1 sudo vim /etc/hostapd/hostapd.conf
修改为:
# 把无线网卡wlan0 作为接入点 interface=wlan0 # 使用rtl871x驱动 driver=rtl871xdrv #driver=nl80211 #共享网络的SSID是RaspberryPi ssid=RaspberryPi # 网卡工作在802.11G模式 hw_mode=g #无线网卡选用11信道 channel=11 # WPA2 配置 wpa=2 #wpa密码是raspberry wpa_passphrase=raspberry #认证方式为WPA-PSK 加密方式为CCMP wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP rsn_pairwise=CCMP beacon_int=100 auth_algs=3 wmm_enabled=1
保存退出,然后重启服务:
1 sudo service hostapd restart 2 [ ok ] Stopping advanced IEEE 802.11 management: hostapd. 3 [ ok ] Starting advanced IEEE 802.11 management: hostapd.
五、安装DHCP服务
1 sudo apt-get install isc-dhcp-server 2 sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak 3 sudo nano /etc/dhcp/dhcpd.conf
复制粘贴如下内容:
default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.10 192.168.10.100; option routers 192.168.10.1; option broadcast-address 192.168.10.127; option domain-name-servers 8.8.8.8,8.8.4.4; default-lease-time 600; max-lease-time 7200; }
保存退出,然后重启服务:
1 sudo service isc-dhcp-server restart
六、配置路由转发
1 sudo iptables -F 2 sudo iptables -X 3 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 4 sudo bash 5 iptables-save > /etc/iptables.up.rules 6 exit
编辑:
1 sudo nano /etc/network/if-pre-up.d/iptables
添加下面两行代码:
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
保存退出,然后修改iptables权限:
1 sudo chmod 755 /etc/network/if-pre-up.d/iptables
开户内核转发:
1 sudo nano /etc/sysctl.conf
找到下面两行:
# Uncomment the next line to enable packet forwarding for IPv4 #net.ipv4.ip_forward=1
把net.ipv4.ip_forward 前面的#去掉,保存退出。 然后
1 sudo sysctl -p
七、添加开机自启动
完成上面的步骤,如果没什么问题,应该可以上网了。但是重启后还要手动启动hostapd和dhcp服务。下面几条命令可以添加这两个服务开机自动启动。
1 sudo apt-get instsall chkconfig 2 sudo chkconfig --add hostapd 3 sudo chkconfig --add isc-dhcp-server
好了,全部配置完成,非常适合校园网用锐捷的同学们,比买个路由器有趣多了。树莓派的功能还是很强大的,希望有更多的伙伴和我一起研究。