在VPS上架设VPN服务器,通过手机和电脑实现翻墙

参考:http://freenuts.com/how-to-set-up-openvpn-in-a-vps/

VPN IP:69.163.34.62

网卡是venet0,

 
 

  • 修改服务器的DNS为Google Public DNS,防止国内DNS污染:

    sudo vi /etc/dhcp/dhclient.conf

    找到并修改

    prepend domain-name-servers 8.8.8.8, 8.8.4.4;

  • 架设VPN服务器,在VPS上架好了ftp后不能登录,要建立一个sudo用户username,然后才能ftp登录。密码password
  • 安装openvpn,并且生成密码

    sudo apt-get install openvpn

    sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn

    cd /etc/openvpn/easy-rsa/

    su

    source ./vars (注意两个点之间要有空格)

    ./clean-all

    ./build-ca

    ./build-key-server server

    ./build-key client

    ./build-dh

    全部回答”y

    exit (退出su

  • 修改iptables规则,让OpenVPN连接到全世界。

    转发IP

    sudo vi /etc/sysctl.conf

    找到下面行,去掉前面的#注释

    net.ipv4.ip_forward=1

    启动转发,

    sudo sysctl -p

    得到如下结果,

    net.ipv4.ip_forward=1

  • 建立iptalbes规则,

    sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT –to 69.163.34.62

  • 建立VPS OpenVPN配置文件

    sudo vi /etc/openvpn/server.conf

    按照如下配置:

    port 1194

    proto udp

    dev tun

    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

    server 10.8.0.0 255.255.255.0

    ifconfig-pool-persist ipp.txt

    push “redirect-gateway def1 bypass-dhcp”

    push “dhcp-option DNS 8.8.8.8”

    push “dhcp-option DNS 8.8.4.4”

    client-to-client

    duplicate-cn

    keepalive 10 120

    comp-lzo

    user nobody

    group nogroup

    persist-key

    persist-tun

    status openvpn-status.log

    log /var/log/openvpn.log

    verb 3

  • 开启OpenVPN服务

    sudo /etc/init.d/openvpn start

  • 客户端配置,根据如下配置修改客户端的opvn文件

    sudo vi /etc/openvpn/easy-rsa/keys/client.conf

    粘贴如下:

    client

    dev tun

    proto udp

    remote 69.163.34.62 1194

    resolv-retry infinite

    nobind

    persist-key

    persist-tun

    ca ca.crt

    cert client.crt

    key client.key

    comp-lzo

    verb 3

    redirect-gateway

    script-security 2

  • 重启之后会变,则修改

    sudo vi /etc/rc.local

    加入如下行,

    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT –to 69.163.34.62

    openvpn /etc/openvpn/server.conf

  • 将keys目录里面的4个文件下回本地,取回的时候要先修改keys目录的权限

    client.conf

    ca.crt

    client.crt

    client.key

  • 查看网络设备节点

    ls /dev/net -l

    如果没有,则VPN服务无法启动,那么编辑rc.local文件,在服务启动前加入如下行。

    sudo mkdir /dev/net

    sudo mknod /dev/net/tun c 10 200

    sudo chmod 666 /dev/net/tun

  • 重启后,看是否启动了服务,sudo /etc/init.d/openvpn status,此时我的还是显示未启动,但是客户端实际上已经可以连接上了。

    VPN ‘server’ is not running

  • 在手机端安装openvpn connect软件,打开后,将4个文件拷到SD卡,将client.conf修改后缀名为client.opvn。先用浏览器上www.ip138.com查看ip在哪,然后打开软件后倒入profile from SD,选择client.opvn,连接后。再看IP,如果是美国IP就对了。
  • 然后就可以自由上FB,Twitter等等啦。
  • 在Windows下面使用,在下面地址下载客户端

    https://openvpn.net/index.php/open-source/downloads.html

    安装之后,将4个文件复制到安装目录的config目录下,一定要用管理员打开应用才行。

  • 缺点是openvpn是全局的,而不能指定局部应用程序。
  • Anyway, Enjoy it~~

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注