Raspberry Pi学习笔记(一)——Rasbian无线网络配置

新入手的树莓派,弄了一整天的网络终于能使用了。

目标:使用有线连接网络,通过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

好了,全部配置完成,非常适合校园网用锐捷的同学们,比买个路由器有趣多了。树莓派的功能还是很强大的,希望有更多的伙伴和我一起研究。

posted @ 2013-07-13 19:16  夜访萤火虫  阅读(2984)  评论(2编辑  收藏  举报