如何科学上网

墙的工作方式

维基百科简介 等你翻过去就知道了 ^_^

如何科学上网

需要准备的东西

  1. 购买vps(建议买国外的,国内受监管) 如果有就跳过此步

    推荐购买地址 (建议先买5$/month没,一般需求应该够了,没必要选25$的)

    服务端要求的要求操作系统为Ubuntu 16+ / Debian 8+ / CentOS 7+,所以vps选操作系统时注意下不要选错了

  2. 购买域名(建议买国外的,国内需要很长的备案时间)

    推荐godaddy

    购买完成后记得配置好DNS,把域名指向刚才购买的域名的外网ip,在这里假设购买的域名为 example.com (大家记得修改成自己购买的域名不要直接复制)

    DNS相关知识 希望能帮到你

  3. paypal账号(为了结账 注册地址)

    如果有迷惑的这个是官方的帮助链接 希望能帮到你

  4. 一定的时间和耐心

    顺利的话大约一个小时

vps购买好以后, 需要安装的软件分服务端和客户端

安装服务端

我们先来安装服务端软件 服务端需要安装的软件

  1. nginx(用来转发流量,起混淆作用)

  2. v2ray(充当代理角色)

下面来给出一副图说明下基本工作原理 以下所有操作建议用root执行

安装Nginx并配置给站点ssl证书

我们先来安装nginx

安装脚本 在这里 如果不想看教程可以直接复制下面这条命令在家目录下执行

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --ssh_port 22

nginx 安装完成后 接下来我们来为购买的域名生成虚拟主机配置文件

./oneinstack/vhost.sh

选择如下图 ​ 配置完成后我们需要改下生成的nginx配置

vi /usr/local/nginx/conf/vhost/example.com.conf

​ 修改以配置,大约在23行下添加如下配置

location /ray {
      proxy_redirect off;
      proxy_pass http://127.0.0.1:10000;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $http_host;
}

​ 然后重新加载下nginx的配置

systemctl reload nginx

nginx安装完成后,我们开始安装v2ray

安装v2ray

v2ray一键安装教程 在这里 感谢大佬 233boy 为萌新提供便利 ​
    协议我们先随便选下(后面我们需要手工改下配置)

    端口我们选 10000

    不配置shadowsock

v2ray安装完成后,我们修改下v2ray的配置

vi /etc/v2ray/config.json

改为如下配置

{
  "inbound": {
    "port": 10000,
    "listen":"127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "改为自己的UUID, 不知道的进命令行使用v2ray info查看用户ID的值",
          "alterId": 64
        }
      ]
    },
    "streamSettings": {
      "network": "ws",
      "wsSettings": {
      "path": "/ray"
      }
    }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "blocked"
        }
      ]
    }
  }
}

然后重启v2ray

v2ray restart

至此服务端算是安装配置完成

安装客户端

接下来我们开始安装配置客户端

Windows 下载地址 (找自己对应系统版本的包 32位和64位不一样)

Mac 下载地址

IOS 去应用商店搜 Kitsunebi 或 i2Ray

Android apk包下载地址

贴下Windows客户端配置

{
  "inbound": {
    "port": 1080,
    "listen": "127.0.0.1",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false
    }
  },
  "outbound": {
    "protocol": "vmess",
    "settings": {
      "vnext": [
        {
          "address": "example.com",
          "port": 443,
          "users": [
            {
              "id": "和服务端的UUID填成一样的",
              "alterId": 64
            }
          ]
        }
      ]
    },
    "streamSettings": {
      "network": "ws",
      "security": "tls",
      "tlsSettings": {
        "serverName": "example.com"
      },
      "wsSettings": {
        "path": "/ray"
      }
    }
  },
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "direct"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "direct"
        },
        {
          "type": "chinasites",
          "outboundTag": "direct"
        },
        {
          "type": "chinaip",
          "outboundTag": "direct"
        }
      ]
    }
  }
}

配置的大概意思是把请求发给example.com的443端口,传输协议使用ws(websocket),使用TLS加密,websocket的域名为 example.com,websocket的路径为/ray 其他客户端的配置类似就不一一写出来了,主要原因还是没有条件 ^_^

配置完成后打开 chrome 浏览器,安装 Proxy SwitchyOmega 扩展,配置代理协议为sock5 地址 127.0.0.1 端口为 1080 切换至 proxy 模式

结束语

然后打开文首的链接就可以看到墙是怎么工作的了 维基百科简介 希望大家遵纪守法不要用来做不利于国家团结的事 ^_^

20190206更新

执行下来有什么问题,可以在我的掘金帐号下留言


Recent posts

Leetcode30

ElasticSearch 系列(一)

Mysql 分区表实践

Kafka 入门

Hugo 安装



Archives

2020 (11)
2019 (56)