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

好了,全部配置完成,非常適合校園網用銳捷的同學們,比買個路由器有趣多了。樹莓派的功能還是很強大的,希望有更多的伙伴和我一起研究。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM