最新消息:

在pcDuino搭建vpn之openvpn服务器

OpenVPN / pcDuino / vpn / 树莓派 admin 4浏览

硬件 pcDuino V1
版本 Linaro 12.11
由于openvpn要用到NAT,但是pcDuino的内核是不支持的,首先要配置内核支持NAT,具体的配置如下:

[] Networking support —>
Networking options —>
[
] Network packet filtering framework (Netfilter) —>
IP: Netfilter Configuration —>
<> IPv4 connection tracking support (required for NAT)
<
> Full NAT
<> MASQUERADE target support
<
> NETMAP target support
<> REDIRECT target support
Device Drivers —>
[
] Network device support —>
Universal TUN/TAP device driver support

配置完了重新编译内核,具体的编译和使用方法请参考。

如何编译pcDuino内核

echo “tun” >> /etc/modules

重启之后就执行ifconfig tun0
开始搭建服务器

1,更新一下最新的软件源

sudo apt-get update

2,安装OpenVPN and OpenSSL

sudo apt-get install openvpn openssl

3,利用OpenVPN给的脚本

cd /etc/openvpn
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa

vi /easy-rsa/vars

export EASY_RSA=”pwd
export EASY_RSA=”/etc/openvpn/easy-rsa”

4, 需要切换到root用户,执行配置

cd easy-rsa
sudo su
source vars
./clean-all
./pkitool –initca
ln -s openssl-1.0.0.cnf openssl.cnf

5, 现在利用它的一些脚本产生加密文件,这里注意了,第一个命令的时候,它会提示你的输入一些东西,可能在国家在上面缩写不是很难理解,这里说明一下(US = USA, DE – Germany, AT = Austria, CH – Switzerland)。

./build-ca OpenVPN
./build-key-server server
./build-key client1
./build-dh
exit

6, 回到openvpn目录,创建openvpn.conf文件。配置文件里面你可以修改你自己的DNS.

cd ..
sudo vi openvpn.conf
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
user nobody
group nogroup
server 10.8.0.0 255.255.255.0
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
client-to-client
push “redirect-gateway def1″
#set the dns servers
push “dhcp-option DNS 8.8.8.8″
push “dhcp-option DNS 8.8.4.4″
log-append /var/log/openvpn
comp-lzo

7, 打开IP转发,这里我用的是eth0,如果你用的是V2,上面自带网卡,你需要把接入点改成wlan*。

sudo sh -c ‘echo 1 > /proc/sys/net/ipv4/ip_forward’
sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

8, 最后一步

vi /etc/sysctl.conf

删除net.ipv4.ip_forward=1 的#号

9, 让ip转发开机启动

crontab -e
@reboot sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

10,再一次切换到root

sudo su
cd /etc/openvpn/easy-rsa/keys
vi pcDuino.ovpn
dev tun
client
proto udp
remote 你自己的IP 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

11,打包秘钥文件

tar czf openvpn-keys.tgz ca.crt ca.key client1.crt client1.csr client1.key pcDuino.ovpn
mv openvpn-keys.tgz /home/Ubuntu

12,重启OpenVPN server

sudo /etc/init.d/openvpn start

windows客户端配置

1, 将刚才的openvpn-keys.tgz的秘钥文件拷贝出来
2, 到http://openvpn.se/上面下载最新的openvpn版本,这里用到的是openvpn-2.0.9-gui-1.0.3-install.exe下载之后安装
3, 将openvpn-keys.tgz解压到C:Program Files (x86)OpenVPNconfig下面
4, 连接,具体的连接方法见下图

connectconnect1.pngopenvpn

连接成功。

相关文章

如何编译pcDuino内核

转载请注明:爱开源 » 在pcDuino搭建vpn之openvpn服务器

转载请注明:爱开源 » 在pcDuino搭建vpn之openvpn服务器