第一步:在腾讯云上购买海外轻量云服务器,地点建议在新加坡,最便宜的即可。
访问:https://cloud.tencent.com/
选择产品->轻量应用云服务器
选择 中国香港和其他境外地域:
点击立即购买,会提示登录,用微信扫码登录。
选择基于操作系统镜像,选择Ubuntu 20的版本。
地点选择亚太,新加坡,30元/月即可,也可以升级到其他档次。
购买成功后,点击查看示例,即可在工作台中查看服务器的运行状态。
一般过1分钟,服务器就会分配好。
点击这个服务器,选择一键登录
点击登录即可进入到后台命令行界面,到时可能会提示安装orcaterm,确认安装即可。
注意在防火墙上增加规则,允许所有的数据包通过,方便调试,后面再进行详细修改。
第2步: 在ubuntu服务器上安装软件,经过测试有3种方式。
方法1:Zerotier+Squid
该方法可以实现手机和电脑上网。
1.1 海外ubuntu服务器安装ZeroTier
切换到root管理员:
sudo -i
也可以手动设置管理员密码,可以用putty,mtputty等SSH客户端软件登录。
sudo passwd root
nano /etc/ssh/sshd_config,设置为允许root远程登录:
找到PermitRootLogin prohibie-password 修改为:
PermitRootLogin yes
ctrl+O保存后,重启sshd服务:
/etc/init.d/ssh restart
安装zerotier:
curl -s https://install.zerotier.com | sudo bash
登录到https://my.zerotier.com/,注册账号,新建个网络,获得zerotierID。
加入网络
zerotier-cli join zerotierID
注意在Zerotier后台,如果选择了PrivateNetwork,要手动批准该节点加入。
输入ifconfig,即可知道zerotier对应的虚拟网卡名称,以及分配的IP地址的子网掩码,记住这些信息,下面会用到。
1.2 海外ubuntu服务器安装squid代理软件
sudo apt update
sudo apt upgrade
sudo apt install squid
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
修改文件权限,这样可以覆盖修改:
chmod -R 777 /etc/squid/squid.conf
编辑/etc/squid/squid.conf配置文件:
腾讯云后台对文本编辑器的支持不好,尤其一些查找命令和关闭网页冲突了。
建议下载文件到本地电脑上修改,或者通过putty等客户端软件用nano/vi来修改。
修改默认的端口号3128,比如9999(可以自己定义,大概在1908行),这样安全些。
http_port 9999
把zerotier的网卡ip网段加入到允许列表。(大概在1409行)
acl localnet src 10.243.0.0/255.255.0.0
http_access allow localnet
保存,在刚才的文件,上传到服务器上。
service squid restart
1.3 PC端安装zerotier:https://www.zerotier.com/download/
在任务栏图标的joint network 输入之前的zerotierID。
注意在Zerotier后台,如果选择了PrivateNetwork,要手动批准该节点加入。
在命令行里输入ping 服务器Zerotier ip地址进行测试。
在网络和Internet设置->代理设置代理服务器,IP地址服务器Zerotier ip地址,端口号是squid配置文件的端口号。
另外,也可以在chrome/Edge浏览器中安装SwitchyOmega插件,这样可以方便切换代理服务,也可以直接连接,不用在系统中修改。
1.4 手机端使用Zerotier的方法
1)在Zerotier后台增加0.0.0.0/0指向海外服务器IP的路由。
海外ubuntu要打开转发功能,在做如下操作之前,最好在腾讯云服务器后台用快照备份下当前的系统。
输入ifconfig,得到zerotier对应的虚拟网卡标识Zerotier_Card
输入:
PHY_IFACE=eth0
ZT_IFACE=ztxxxxxxx(上面的网卡名称)
sudo iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
sudo iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
sudo iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo apt install iptables-persistent
注意安装上述软件时,提示都选Y。
保存路由表:
sudo bash -c iptables-save > /etc/iptables/rules.v4
注意生效需要服务器的更新,速度比较慢,如果访问不了外网,可以过一段时间再试。
手机端下载zerotier应用,注意ios需要采用国外的id。新建个Network,输入ZerotierID,注意要打开Enable Default Route,会提示安装V*P*N,选择Yes.
一般打开网络10秒钟,手机会出现相关的网络标识,即可访问外网了,所有的流量都通国外的服务器路由出去。
安卓手机目前可以连接成功,但是无法访问外网,估计app有bug。
方法2:Tailscale+Squid
该方法可以实现手机和电脑上网。
-海外服务器安装tailscale:
推荐采用docker方式安装,这样不会和本身的网页服务器发生冲突。
首先安装docker环境:
Install Docker Engine on Ubuntu | Docker Documentation
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
测试下:
sudo docker run hello-world
登录到https://login.tailscale.com/,注册账号,推荐用github。
在setting->key->auth keys,点击Generate Keys,复制这个Auth key.
安装tailscale
sudo docker run -d --name=tailscaled -v /var/lib:/var/lib -v /dev/net/tun:/dev/net/tun --network=host --cap-add=NET_ADMIN --restart unless-stopped --cap-add=NET_RAW --env TS_AUTHKEY=[AUTH KEY] --env TS_EXTRA_ARGS=--advertise-exit-node --env TS_STATE_DIR=/var/lib/tailscale tailscale/tailscale
在tailscale后台就会出现这台服务器,exit node上面有个感叹号,说明没有启用。
点击右边的省略号,选择edit route setting,启用exit node即可。
PC端:https://tailscale.com/download,下载即可,采用github账号登录。把Exit Node打开即可上外网。也可以在海外服务器上安装squid代理软件进行上网。
手机端:下载相应的客户端,注意ios需要采用国外的id。打开exit node.
方法3:Netbird+Squid
该方法可以实现电脑上网,手机端没有相关app,因此无法直接上网,不过可以在家里采用单独一台电脑安装squid采用二级代理的方式上外网。
网址:netbird.io
优点:安装比较简单,配置简单,用github账号登录关联。注意ubuntu版本下面需要下载.deb文件安装。源码开源,可以自己搭建服务器。基于wireguard开发。
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg -y
curl -sSL https://pkgs.wiretrustee.com/debian/public.key | sudo gpg --dearmor --output /usr/share/keyrings/wiretrustee-archive-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/wiretrustee-archive-keyring.gpg] https://pkgs.wiretrustee.com/debian stable main' | sudo tee /etc/apt/sources.list.d/wiretrustee.listsudo apt-get update
https://github.com/netbirdio/netbird/releases/tag/v0.10.2
wget https://github.com/netbirdio/netbird/releases/download/v0.10.2/netbird_0.10.2_linux_386.deb
dpkg -i netbird_0.10.2_linux_386.deb
安装后:
netbird up
之后会出现一个网址,然后用github账号关联。如果第一次没有激活成功,则用命令:
netbird up --setup-key <SETUP KEY>
Setup Key通过登录netbird后台生成。
之后用如下命令查看信息
netbird status -d
按照上面的方法安装squid。
PC端:采用代理服务器上网。
手机端:采用一个单独的电脑(和手机端在同一个wifi下面)安装Netbird和squid,
把http_port改为其他好记的端口号:
http_port 9999
在squid.conf中增加如下内容
cache_peer 代理服务器IP地址 parent 9999(端口号) 0 no-query no-digest
never_direct allow all
手机端要手动设置下wifi,配置代理,服务器的IP地址为二级代理的电脑的局域网IP地址,端口号采用上面的设置。
总结:
推荐Tailscale>Zerotier>Netbird,访问外网的速度差别不大,主要受限于运营商网络的带宽。
Tailscale安装设置比较简单,并且连接V*P*N很快。
Zerotier用的比较广泛,而且可以自己搭建服务器,更加灵活,缺点是登录V*P*N速度稍微慢些,但是上网速度没有差别;另外安卓手机目前无法使用。
Netbird是个冷门软件,可以作为上面2个的备份方案,缺点是没有手机端的app。