Skip to content

Instantly share code, notes, and snippets.

@Darmody
Last active August 29, 2015 14:14
Show Gist options
  • Save Darmody/358ce3e2e4a08dc61c68 to your computer and use it in GitHub Desktop.
Save Darmody/358ce3e2e4a08dc61c68 to your computer and use it in GitHub Desktop.
ap_raspberry

AP RASPBERRY

树莓派刚刚到手,不知道要玩的什么,硬件又玩不熟,肯定得先拿软件层面的开发入手。刚好家里缺一个路由,啊哈哈哈哈,需求确定!

这里我只是实现了功能,并没有进一步优化,稳定性是不能保障滴!

设置静态IP

执行 sudo vi /etc/network/interfaces,注释掉无线网络的配置:

#allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

添加静态IP配置,注意无线ip段不能与有线网络在一个网段里

iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0

开启热点

开启AP功能,需要用到hostapd。 安装:sudo apt-get install hostapd

这里有个很重要的地方!使用RTL8188CUS芯片网卡的同学需要替换hostapd版本,操作如下:

wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip
unzip hostapd.zip 
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak
sudo mv hostapd /usr/sbin/hostapd.edimax 
sudo ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd 

sudo chown root.root /usr/sbin/hostapd sudo chmod 755 /usr/sbin/hostapd

修改配置 sudo vi /etc/default/hostapd

DAEMON_CONF="/etc/hostapd/hostapd.conf"

这里是指向hostapd的默认配置文件。编辑这个配置文件 sudo vi /etc/hostapd/hostapd.conf

interface=wlan0
bridge=br0
ssid=Jarvis                 # wifi的ssid
channel=1                   # 选择一个频道
wmm_enabled=0
wpa=1
wpa_passphrase=jarvis       # wifi密码
wpa_key_mgmt=WPA-PSK        # 加密方式
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0

DHCP 动次打次动次打次,动态IP分配服务!

这里使用isc-dhcp-servr,安装软件 sudo apt-get install isc-dhcp-server 编辑配置文件 #将一下配置添加进 sudo vi /etc/dhcp/dhcpd.conf

subnet 192.168.10.0 netmask 255.255.255.0 {
  range 192.168.10.10 192.168.10.100;             # 分配IP网段
  option routers 192.168.10.1;                    # 网关地址 
  option broadcast-address 192.168.10.255;        # 广播地址 
  option domain-name-servers 8.8.8.8,8.8.4.4;     # DNS地址,注意!填上路由器的地址有助于提升网速
  default-lease-time 600;                         # 租约时间
  max-lease-time 7200;
}

配置完成,现在启动服务吧!

  sudo ifup wlan0                     # 启用网卡
  sudo service hostapd start  
  sudo service isc-dhcp-server start
  sudo update-rc.d hostapd enable     # 加入启动项
  sudo update-rc.d udhcpd enable      # 加入启动项

路由转发配置

开启内核转发。

编辑 sudo vi /etc/sysctl.conf

net.ipv4.ip_forward=1

使配置立即生效 sudo sysctl -p

将无线网卡进来的请求转发给有线网络,这样就能实现上网了

sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 192.168.8.123 其中192.168.10.0/24为无线的网段,192.168.8.123为eth0有线网络的IP。

貌似大功告成了!

用你的iphone,Android,ipad,mac,win连上无线吧!我自己的测试结果显示正常地上网还是很稳定的,玩游戏的话大多数时间pin值很稳定,但是偶尔会突然阻塞住,还是蛮不爽的。迅雷下载速度几乎无!难道和P2P下载模式有关?

再做些什么?

  • 现在这么险恶的国内上网环境,第一步当然就是翻墙咯!具体视你的vpn情况而定选择openVpn或pptp-linux。我没用过openVpn,在搭建pptp翻墙环境的过程中发现,所有无线连接进来都无法上网!应该和MTU的设置有关,具体没有更进一步的研究。
  • 网络环境的稳定和性能有待优化,虽然肯定不如直接刷openwrt来的爽,但是一台强大的树莓派完全刷成路由器来用,实在太浪费啦~

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment