cubieboard 发表于 2014-8-14 17:38:32

在 Cubieboard 上搭建 SoftAP 热点,并通过 OpenVXN 上网

本帖最后由 弘毅 于 2017-11-11 11:29 编辑

http://www.kochiyaocean.org/linux-set-softap-using-hostapd/
在下使用的平台是 CubieTruck ,ROM 是 Cubian (Debian Wheezy),进程管理工具是 sysvinit。文中标注为红色的是需要注意的地方,蓝色部分则可以按需求修改

确定网卡支持

首先要确定网卡是否支持 SoftAP。安装 iw :# apt-get install iw
然后使用 iw 查看网卡情况# iw list
……
Supported interface modes:
……
* managed
……
* AP
……
如果看到了这样的内容,恭喜你,你的设备支持 SoftAP。
之后可以通过 lsusb 命令来确认网卡的芯片。如果是瑞昱(rtlxxxx)的芯片的话则需要瑞昱提供的 hostapd 才能使用
在 瑞昱官方网站 下载 Linux 驱动包,使用里面的 hostapd 源代码编译并安装,使用自带的配置就能驱动了~这里 提供了一个自动编译安装瑞昱特制版 hostapd 的脚本,不过在下没有亲自试过

如果需要购买网卡的话推荐腾达 wm311+,这个网卡的芯片是 RT3070,不用特殊编译就能使用~
然后确定 interface 名称:# ifconfig
eth0      Link encap:EthernetHWaddr c0:b0:d0:4a:56:b1
……
lo      Link encap:Local Loopback
……
wlan0   Link encap:EthernetHWaddr 00:22:f4:f8:c3:89
……
一般来说有线网卡是 eth0,无线网卡是 wlan0 ,不过也有可能不同。记下它们。
配置 Hostapd
# apt-get install hostapd
# vim /etc/hostapd/hostapd.conf
输入以下内容:interface=wlan0 #interface 名称
ssid=yourssid #SoftAP 的名称,按需修改
channel=11
wpa=2 #选 1 是 WPA,2 是 WPA2,3 是 WPA/WPA2 ,其实都可以啦
wpa_passphrase=yourpasswd #密码,同样按需修改
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP #不使用 TKIP 是因为 802.11n 不支持
rsn_pairwise=CCMP
driver=nl80211
hw_mode=g
wpa_ptk_rekey=600
ieee80211n=1 #如果你的网卡不支持 802.11n 就不要输入这个了。
保存后编辑默认配置文件:# vim /etc/default/hostapd
加入这一行:DAEMON_CONF="/etc/hostapd/hostapd.conf"
保存然后启动服务就行了# service hostapd start
不出意外的话你已经可以搜到你设置的热点了。
架设 DHCP 并进行 NAT 转发

虽然热点已经出来了,但是连接的话是会卡在获得 ip 地址的阶段的。所以我们需要架设 DHCP 服务器端。首先给无线网卡分配地址(很多人连不上热点就是因为没有分配 ip 地址,所以请务必不要忘记这一步!):# ip addr add 192.168.1.1/24 dev wlan0
可以按照需求来修改 ip 地址。然后把这个命令加入开机脚本 /etc/rc.local通过修改 /etc/network/interface 更方便而且一劳永逸,这里不多说了
打开 ipv4 内核转发# vim /etc/sysctl.conf
加入以下内容:net.ipv4.ip_forward = 1
保存后应用配置# sysctl -p
然后安装 dnsmasq :# apt-get install dnsmasq
# vim /etc/dnsmasq.conf
加入以下内容:interface=wlan0 #interface 名称
bind-interfaces
dhcp-range=192.168.1.100,192.168.1.200,24h #应该和上面分配的 ip 地址和子网掩码相符
dhcp-option = 6,8.8.8.8,8.8.4.4 # DNS 地址
保存后启动# service dnsmasq start
最后打开 nat 转发:# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
同样将这个命令写入 rc.local 使其开机时执行。这时候连接上热点,应该就可以浏览网页了~
使用 OpenVXN 实现上网

在我的上一篇文章 在 VPS 上架设 OpenVXN 上已经介绍了配置服务端的方法。
很多 VXN 服务商也提供了 OpenVXN 的接入方式,由于 OpenVXN 的科学上网效果比 L2TP 和 PPTP 好所以这里以 OpenVXN 为例,L2TP 和 PPTP 的配置与之大同小异。

下载 OpenVXN:# apt-get install openvpn
将之前拿到的服务器 key、crt 证书和 ca.art 连同写好的 ovpn 文件放入 /etc/openvpn(ovpn 文件改名为 conf 文件)# vim /etc/default/openvpn
加入以下内容:AUTOSTART="cubie" #改成你的配置文件名
保存后启动# service openvpn start
配置好 nat 转发:# iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
这样你的客户端就能全局 OpenVPN 翻墙了。
需要注意的是,OpenVXN 在时间不同步的时候是无法连接的,由于 CubieTruck 断电后时间会清空所以在断电之后请务必把时间改成当前时间

架设 ipv6 地址的 DHCP 并配置 NAT 转发

因为 ipv6 的 nat 在 3.7 之后才被集成到 Linux 内核中,而 CubieTruck 的内核版本只有 3.4 ,所以只好等新版本内核了……配置 ipv6 地址:# ip addr add 2001:db8:8001:935::1/64 dev wlan0
打开 ipv6 转发:# vim /etc/sysctl.conf
加入以下内容:# sysctl net.ipv6.conf.all.forwarding=1保存后应用配置# sysctl -p安装 radvd:# apt-get install radvd
# vim /etc/radvd.conf
输入以下内容:interface wlan0 {
AdvSendAdvert on;
prefix 2001:db8:8001:935::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
然后启动 radvd# service radvd start
最后打开 ipv6 nat 转发# ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
这样你的客户端就能分配到 ipv6 地址并访问 ipv6 网络资源了~
在下水平有限,写的教程可能不够完整,如果有问题的话欢迎联系在下……以上

原文作者:KochiyaOcean
原文链接:http://forum.cubietech.com/forum ... 2239&extra=page%3D1
页: [1]
查看完整版本: 在 Cubieboard 上搭建 SoftAP 热点,并通过 OpenVXN 上网