前几天入手了一个hp veer,商家刷了汉化补丁并安装了一些应用。用着觉得还是不舒服,于是我就重新刷了原版的rom,并用preware安装了一些补丁和应用,用起来顺手很多。但突然发现,veer的vpn配置里只有vpnc和cisco这两种,而我购买的vpn是pptp类型的。在preware里搜了一下pptp无果,难道说我的veer就只能在墙内使用?当然不是了,因为还可以使用openvpn。
Veer可以使用openvpn,而我手上只有pptp vpn,于是我就想在一台机子里搭建一个openvpn srv,然后将这个openvpn的出口都由pptp转出去,这个转发只需使用iptables就搞定了。显然,这里操作都是在Linux下进行的,其他平台能否使用就不知道了。
具体方法: (我使用的是Archlinux)
1. 服务器端
安装openvpn
# pacman -S openvpn
生成证书
# cp -r /usr/share/openvpn/easy-rsa /etc/openvpn
# cd /etc/openvpn/easy-rsa
# . ./vars
# ./clean-all
# ./build-ca
# ./build-key-server 主机名 # 注意这里不要添加密码,这里主机名是你的机器的主机名,可用hostname查看
# ./build-dh
# ./build-key 客户端主机名 # 同样不加密码,客户端主机名随意弄个就行,如veer。这里所有的证书都保存在/etc/openvpn/easy-rsa/keys中,需要将客户端使用的证书发送给客户端
配置openvpn (这里我使用证书验证,使用密码验证的请自行Google)
/etc/openvpn/openvpn.conf:
port 1194
proto tcp
dev tun0
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/主机名.crt # 这里要注意证书的名字
key /etc/openvpn/easy-rsa/keys/主机名.key # 同样是证书的名字
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0 # vpn的网段,自己设吧
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
log-append /var/log/openvpn
status /tmp/vpn.status 10
push "dhcp-option DNS 8.8.8.8"
push "redirect-gateway local"
修改服务器的转发配置:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ppp0 -j SNAT --to pptp_vpn网卡的地址
# /etc/rc.d/iptables save
运行openvpn srv:
# /etc/rc.d/openvpn start
2. 客户端 (即veer)
在veer里使用preware安装openvpn, Xecutah, XServer, XTerm, openssh等。
首先在一台机子上写好客户端的配置,然后使用scp将客户端需要的证书和配置一同传过去就好了。
配置文件 veer.conf: (这个名字可以随意起)
client remote 服务器的ip 1194
dev tun0
proto tcp
resolv-retry infinite
nobind
persist-key
persist-tun
verb 2
ca ca.crt
cert 客户端主机名.crt # 注意证书的名字,这些证书就是前面生成的
key 客户端主机名.key # 同样是证书的名字
comp-lzo
使用scp把证书和配置传到veer: (注意,这是在veer上的XTerm中进行操作)
# scp -r root@服务器的ip:/root/openvpn . # 注意最后有一点,这里假设证书和客户端配置都是放在服务器的/root/openvpn目录中
# cd openvpn && openvpn veer.conf # 认证通过就可以翻墙了
Veer可以使用openvpn,而我手上只有pptp vpn,于是我就想在一台机子里搭建一个openvpn srv,然后将这个openvpn的出口都由pptp转出去,这个转发只需使用iptables就搞定了。显然,这里操作都是在Linux下进行的,其他平台能否使用就不知道了。
具体方法: (我使用的是Archlinux)
1. 服务器端
安装openvpn
# pacman -S openvpn
生成证书
# cp -r /usr/share/openvpn/easy-rsa /etc/openvpn
# cd /etc/openvpn/easy-rsa
# . ./vars
# ./clean-all
# ./build-ca
# ./build-key-server 主机名 # 注意这里不要添加密码,这里主机名是你的机器的主机名,可用hostname查看
# ./build-dh
# ./build-key 客户端主机名 # 同样不加密码,客户端主机名随意弄个就行,如veer。这里所有的证书都保存在/etc/openvpn/easy-rsa/keys中,需要将客户端使用的证书发送给客户端
配置openvpn (这里我使用证书验证,使用密码验证的请自行Google)
/etc/openvpn/openvpn.conf:
port 1194
proto tcp
dev tun0
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/主机名.crt # 这里要注意证书的名字
key /etc/openvpn/easy-rsa/keys/主机名.key # 同样是证书的名字
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0 # vpn的网段,自己设吧
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
log-append /var/log/openvpn
status /tmp/vpn.status 10
push "dhcp-option DNS 8.8.8.8"
push "redirect-gateway local"
修改服务器的转发配置:
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ppp0 -j SNAT --to pptp_vpn网卡的地址
# /etc/rc.d/iptables save
运行openvpn srv:
# /etc/rc.d/openvpn start
2. 客户端 (即veer)
在veer里使用preware安装openvpn, Xecutah, XServer, XTerm, openssh等。
首先在一台机子上写好客户端的配置,然后使用scp将客户端需要的证书和配置一同传过去就好了。
配置文件 veer.conf: (这个名字可以随意起)
client remote 服务器的ip 1194
dev tun0
proto tcp
resolv-retry infinite
nobind
persist-key
persist-tun
verb 2
ca ca.crt
cert 客户端主机名.crt # 注意证书的名字,这些证书就是前面生成的
key 客户端主机名.key # 同样是证书的名字
comp-lzo
使用scp把证书和配置传到veer: (注意,这是在veer上的XTerm中进行操作)
# scp -r root@服务器的ip:/root/openvpn . # 注意最后有一点,这里假设证书和客户端配置都是放在服务器的/root/openvpn目录中
# cd openvpn && openvpn veer.conf # 认证通过就可以翻墙了
没有评论:
发表评论