硬件 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 —>
配置完了重新编译内核,具体的编译和使用方法请参考。
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搭建vpn之openvpn服务器
转载请注明:爱开源 » 在pcDuino搭建vpn之openvpn服务器