我是如何翻墙到境外网络的

电脑,手机,硬件,软件,电子产品等

版主: Jack12345

头像
minquan楼主
论坛精英
论坛精英
帖子: 5414
注册时间: 7月 29, 2022, 9:12 am
昵称(选填): 三民主义

我是如何翻墙到境外网络的

帖子 minquan楼主 »

目录
一、租用境外服务器和最基本的ssh操作

二、建立网站

三、使用v2ray翻墙

四、用第二台境外服务器彻底隐藏自己的踪迹
图片
头像
minquan楼主
论坛精英
论坛精英
帖子: 5414
注册时间: 7月 29, 2022, 9:12 am
昵称(选填): 三民主义

Re: 我是如何翻墙到境外网络的

帖子 minquan楼主 »

一、租用境外服务器和最基本的ssh操作

租用境外服务器,一般采用vultr.com,价格便宜,而且邮箱和联系方式也可以写假的。
有很多其他网站是要实名的,没法用。租用vultr的好处是大部分翻墙者都在用,这样海外的中文网站(有很多其实是国内政府某些体系在外面开的,就比如本站和华人分属两个阵营,也有的是红色贵族的后代在国外开的,比如6park)知道你用vultr也不好查。

但个人抓包发现vultr其实是有网络窃听的,介意者找其他的。bing的国际版搜vps hosting.

我个人比较喜欢租用欧洲的服务器,网速会快些。而且便于建立英文网站。如果你喜欢用日本的,建立伪网站就要用日文。

注册了账户之后,支付宝或微信充钱,创建vps (个别的可能需要信用卡,这样的信用卡必须可以花外汇)

点1核CPU,1G内存,和最小容量的硬盘,大约是1个月收5美元。这也是用vultr的原因,比较便宜。

选择CentOS 7.6 服务器,建立。

你需要了解CentOS的以下基础知识:

登录,退出
创建密钥
使用vim
使用firewalld
使用systemctl开启和关闭服务
sshd基础

这些在国内运维是普遍的知识,国内搜一下就能得到。
还有,所有这些提供虚拟服务器的,都会在服务器界面提供直接命令行操作的,
有的叫console,有的叫VNC,有的用>_来表示。它相当于直接在服务器旁边插个屏幕和键盘登录。
在关闭远程登录后,需要更改配置就必须用这个唯一的途径登录。
之后直接一句

yum install -y epel-release
在以后需要安装其他软件时就不会报找不到。
我的习惯是安装vim和htop.

然后需要用ssh客户端来对其进行远程连接。
最入门的是putty
我个人喜欢用BitviseClient,因为它自动可以同时开命令行窗口(ssh)和文件管理器(sftp),比Putty方便。

BitviseClient使用密钥会比较麻烦,方法如下
主页面 中间,有个 Client key manager 的超链接,点击后,选择import,再把下载下来的密钥导入
在Authentication 栏目里点击 Initial method ,选择public key 就可以了。

以密钥登录,如果成功,不会要求你输入密码,然后就像那些密钥介绍里面的那样,改ssh配置,禁用密码登录
并且在Bitvise Client里面save,即把用密钥登录的改变保存了。

现在马上介绍用ssh进行翻墙

在/etc/ssh/sshd_config中,将以下几行做如下配置
GatewayPorts yes
TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 200

按ESC后输入:wq保存
systemctl reload sshd

BitviseClient相应增加配置
Services 页- SOCKS/HTTP Proxy Forwarding - [√]Enabled (Listen port=1080)

好的,关闭BitviseClient,再重新登录,此时应该能看到本地主机开启了1080端口,它就是由BitviseClient给代理到你在国外主机的sshd,然后由其代理到国外。

Win+R 输入cmd,调出命令行
输入命令 netstat -ano | find "1080"
发现
TCP 127.0.0.1:1080 0.0.0.0:0 LISTENING

说明BitviseClient已经开始转发

下面只需要配置一个Firefox系的浏览器即可。现在Linux主机有icebox,Windows系的可以去softpedia上找。

在设置项的最后,有网络设置,点开后设置代理

图片

可见,firefox的代理设置也是1080,只要它和Bitvise Client设置的相同即可,你可以在1000-65000以内随便挑。
开启这个功能后,firefox就绝对不会直接访问网址,而是接到任何请求都去连接本机的1080,这就是代理

Firefox - > 127.0.0.1:1080 -> Bitvise Client -.....-> [主机IP]:[ssh端口] -> sshd -...-> 全球互联网

之后关闭,再重启。

地址栏输入google.com 成功翻墙
whatismyip.com 显示是你租用的那个国外服务器的主机

但是不要看youtube.com或视频,因为这种ssh连接时间过长,流量过大,
很容易被GFW智能识别,识别的结果就是会软性的阻断连接。

如果网络很慢,你在cmd里面用
ping -t [你的主机IP地址]
就看到很多丢包,ctrl+C停止
如果丢包率超过5%基本上就不可以用了。
你需要重新租用一个服务器。

这个方法只是临时用一下,以便你可以方便的从外网下载开源软件。
或者回国去处理gmail

稳定的翻墙从下期开始。
上次由 minquan 在 10月 27, 2022, 5:05 am,总共编辑 3 次。
图片
Hof
论坛点评
论坛点评
Hof 的博客
帖子: 2089
注册时间: 8月 15, 2022, 3:09 am

Re: 我是如何翻墙到境外网络的

帖子 Hof »

你在墙内?
I would recommend all to write in English, in order to make it a bit difficult for MaskMan to manipulate this community.
头像
minquan楼主
论坛精英
论坛精英
帖子: 5414
注册时间: 7月 29, 2022, 9:12 am
昵称(选填): 三民主义

Re: 我是如何翻墙到境外网络的

帖子 minquan楼主 »

【二】 建立网站

为了掩饰我们访问境外服务器的目的不是在翻墙,而是在合法的浏览一个尚未被GFW屏蔽的网站。

我们必须像模像样的在这个服务器上配置好一个网站,访问起来就像一个网站。

一个网站需要的元素是:IP、域名 和 可以访问的网页。

根据我的经验,域名并不是必须的,但是如果你非要去在国际上申请一个官方域名,比较好的是name.com,但是之后生成证书你得向它申请,并且每年交钱。如果不要域名,则证书可以自己做个盗版的。现在IP已经有了,你在境外租的主机已经给了你一个IPv4的公网IP,就是xx.xx.xx.xx的形式,可能还附赠一个IPv6的,前面就够了,不要用后者,因为对保密配置不利。

【1】看起来正常的网页

首先打开搜索引擎,bing的国际版,搜索
free site html 或者类似的
现在网络环境已经恶化了,第一页大概全是广告。
仔细搜索,应该还是有些免费的,压缩包应该不大,一般几兆就够了
打开之后,发现里面都是html文件,和jpg之类的图片,就对了。
如果不是,加载一些js,也可以用。
但是如果它还依赖于特别的后端程序,如vue,angular,就最好别用,因为不好维护安全。网站建好并且运行起来,就马上遭到黑客袭击。非纯nginx后端,就必须时刻升级维护安全性。

这个网页,你在Windows的我的电脑里面就可以点击打开(默认调出IE),还可以点击里面的链接跳转到各分html网页。
如果js实现不了。那你把index.html的全部文件路径(在此电脑的顶栏就有)复制到chrome浏览器的网址栏,也能打开。

有的网页模板只做好了图片,而文字没有写,太假了。
这时你需要代码编辑器,VSCode,Atom,UltraEdit等等把html文件打开,然后把显示出文字的那些代码,按照合理的方式做编辑和替换。写完之后保存,再点击浏览器,按下F5刷新页面,就能看到修改后的效果了。

在日本租服务器最好写日文网页,在欧美的服务器用英文就行。
当你把这个只读的网页都编辑好以后,点击哪个链接跳转之后又都是合理的网页,下面就可以把它放上服务器了。

【2】服务器伺服网页

以CentOS7为例
yum install -y epel-release
yum install -y nginx

我们用nginx伺服网页
将全部网页,即点开装网页的那个文件夹,全选,通过BitviseClient的SFTP客户端,或者通过WinSCP上传至
/usr/share/nginx/html
目录下
并确保这个目录下有主页文件index.html

再用vim或nano修改/etc/nginx/nginx.conf配置文件

代码: 全选

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
保存之后
nginx -t
检查该配置符合语法。

代码: 全选

systemctl start nginx
systemctl reload nginx
curl 127.0.0.1
应该就出现了主页文件中的文本内容

防火墙放行:
先确保你租用的服务器网站已经默认给放行了80端口和443端口(一般默认是放开的)
再在内部防火墙放行

代码: 全选

firewall-cmd --permanent --add-port=http/tcp
firewall-cmd --permanent --add-port=https/tcp
systemctl restart firewalld
好,现在你打开浏览器
输入这个它在WWW的网址
http://[此服务器的公网IP]

http://112.84.56.71 (112.84.56.71就是你租来的境外服务器的公网IP)

应该能看到网页了。

【3】制作加密私钥和证书

刚才只确保了http访问,现在需要增加https访问,即443端口访问。
加密网站,需要用到的就是网站的私钥和证书
server.key和server.crt
它们作为ssl加密的工具,在https时必须用到。

为什么要多这一步?
因为http是明文,途径的所有服务器都可以查看里面是什么内容
自然很容易被GFW拦截。
但是https经过了以上的公私钥加密,理论上是不能破解的,为了以防万一,把私钥的1024个字节增加到2048个
理论解密时间是原来的平方倍。

这里只介绍如何盗版(开源)的生成证书

私钥->申请书->证书(公钥)

这个过程要做两次,第一次是假装成证书颁发机构,自己给自己申请,并且颁发证书。

第二次是作为网站,生成私钥后向证书颁发机构申请,由其颁发证书。

https://cloud.tencent.com/developer/article/1548350

证书颁发机构自己给自己办证
openssl genrsa -out ca.key 2048
openssl req -new -key ca.key -out ca.csr
会要填一大堆表格,可以编造一下,国家,地区,公司名,common name必须填,其它直接回车
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

好了,现在做网站的
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
同理,编一下你这个网站是在哪国,哪地区,公司名,common name
最后这下是用了办证机构的证书ca.crt和它的私钥,最后批准了网站的申请server.csr生成了它的证书
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

【4】使用加密

把这两个文件server.key和server.crt上传至 /etc/nginx/目录下

再次编辑/etc/nginx/nginx.conf配置文件,更改以下两行:

代码: 全选

        ssl_certificate "/etc/nginx/site.crt";
        ssl_certificate_key "/etc/nginx/site.key";
这样以https访问时nginx就知道去哪里找我们刚做好的这两个加密文件了。
nginx默认443访问的网页和80访问的是同一套。
保存,检查,重启nginx

现在再访问
https://[此服务器的公网IP]

浏览器会报 此网站不安全,信任它的证书吗?
这就可以了,因为毕竟我们是用的盗版证书。

在这个https的流量掩护下,我们在里面才可以搞些小动作,进行翻墙。
而在GFW的机器检查中,我们做的任何翻墙动作,都仿佛是在访问这个网站
https://[此服务器的公网IP]

【5】网络安全
因为网页是只读的,所以黑客无法通过已知的动态网页的漏洞进行攻击。
网站开通后,必然会引来各地的ssh猜密码攻击。
所以最简单干脆的办法,是直接把sshd服务关了,或者用防火墙把这个端口给挡了。

firewall-cmd --remove-service=ssh
systemctl restart firewalld

这样你自己也不能用ssh上去了。
需要的时候必须访问租服务器的网站,再重新开启,即add操作

更为复杂的方法是制作自己的私钥,用私钥登录,并禁用密码。
这在上一章讲过。
不过我还是建议搭配fail2ban,双保险
在配置里bantime=-1s 可以把过来碰瓷猜密码的IP永久封禁。
上次由 minquan 在 10月 2, 2022, 6:49 am,总共编辑 5 次。
图片
Hof
论坛点评
论坛点评
Hof 的博客
帖子: 2089
注册时间: 8月 15, 2022, 3:09 am

Re: 我是如何翻墙到境外网络的

帖子 Hof »

minquan 写了: 9月 6, 2022, 9:11 pm对。
那你要⚠️人身安全。
I would recommend all to write in English, in order to make it a bit difficult for MaskMan to manipulate this community.
CutPaste
见习点评
见习点评
帖子: 2007
注册时间: 8月 1, 2022, 1:18 pm
昵称(选填): 剪贴转贴分享

Re: 我是如何翻墙到境外网络的

帖子 CutPaste »

minquan 写了: 8月 26, 2022, 5:57 am 目录
一、租用境外服务器和最基本的ssh操作

二、建立网站

三、使用v2ray翻墙

四、用第二台境外服务器彻底隐藏自己的踪迹


国内如果用NordVPN翻墙,效果如何?



.
peyote
正式写手
正式写手
帖子: 146
注册时间: 7月 27, 2022, 1:09 am

Re: 我是如何翻墙到境外网络的

帖子 peyote »

用过clash吗?
头像
minquan楼主
论坛精英
论坛精英
帖子: 5414
注册时间: 7月 29, 2022, 9:12 am
昵称(选填): 三民主义

Re: 我是如何翻墙到境外网络的

帖子 minquan楼主 »

【三】使用v2ray翻墙

v2ray现在在github的项目为v2fly,我之所以用它,是因为它提供了用Websocket隐藏在https流量内进行翻墙的选项,而且还可以进行流量优化。除此之外,还可以用trojan,具体怎么用。就用第一章教的ssh翻墙,去海外的bing或google看相关说明就好。
就搜v2ray翻墙,或trojan翻墙。

v2ray翻墙的核心,在于从上一章的网站中,撇出一条分路径,来转给v2ray服务器,让它给你代理流量。

还需要更改nginx配置,搭好v2ray服务器,以及在本地配置v2ray的客户端。最后,还是得用在第一章讲过的firefox或者这个体系的浏览器,去连接v2ray的客户端使用它作为代理。你要是不信firefox, windows可以用pale moon, linux可以用icebox

浏览器 -> 本机代理客户端 ---> 自己在海外搭起来的网站 -nginx转发-> v2ray服务器 -> 外网网站

v2ray还有智能功能,如果你在浏览器里面访问的是内网网站,那它就不代理了,反弹回来,让本机代理客户端去直接访问

但是我不喜欢用这智能功能,基本上我要访问墙内的网站,直接打开另一个浏览器chrome就可以了,何必多冒这个险?

【1】安装并配置v2ray服务器

ssh连接上你在海外租的服务器

代码: 全选

wget https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh 
bash install-release.sh
安装之后应该提示成功:

代码: 全选

installed: /usr/local/bin/v2ray
installed: /usr/local/bin/v2ctl
installed: /usr/local/share/v2ray/geoip.dat
installed: /usr/local/share/v2ray/geosite.dat
installed: /usr/local/etc/v2ray/config.json
installed: /var/log/v2ray/
installed: /var/log/v2ray/access.log
installed: /var/log/v2ray/error.log
installed: /etc/systemd/system/v2ray.service
installed: /etc/systemd/system/v2ray@.service
现在生成两个密码,第一个密码让Linux随机生成

代码: 全选

cat /proc/sys/kernel/random/uuid
然后会弹出一行有四个-号的数据串,将它保存到本地的文本文件中
这是第一个密码,叫[uuid密码]

你再随便敲击键盘,胡乱的敲击十几个字母数字出来,再随便挑上几个,改成大写
这是第二个密码,叫[路径密码]


然后打开v2ray的配置文件/usr/local/etc/v2ray/config.json,并写入以下

代码: 全选

{
  "inbounds": [{
    "port": 2345,
    "listen": "127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "[uuid密码]",
          "level": 1,
          "alterId": 0
        }
      ]
    },
    "streamSettings":
    { "network": "ws",
        "wsSettings": {"path": "/[路径密码]"}
        }

  }],
  "outbounds": [
    {
    "protocol": "freedom",
    "settings": {}
     },
    {
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
    }
 ]
}
注意把以上的[uuid密码]和[路径密码]替换成你刚才生成的两个密码。

例如刚才的
[路径密码] = bvfdEsqBoipGfJn4e.bvfdAoitwe

里面就改为:
"wsSettings": {"path": "/bvfdEsqBoipGfJn4e.bvfdAoitwe"}

这什么意思呢?
就是网址
https://[服务器的公网IP]/bvfdEsqBoipGfJn4e.bvfdAoitwe
要让nginx转给v2ray去处理成websocket长连接,给你提供代理服务
后面这一长串,就像你上网时,.com后面那长串的网页具体路径

所以不要抄我的这串,你自己生成,这样本文被墙内网特知道了,也不能用这段碰巧接入你的服务器的v2ray服务。
保存之后,
systemctl enable v2ray; systemctl start v2ray
systemctl status -l v2ray

它现在伺服于本地的2345端口。我们不需要给它开通防火墙,因为它只有一个客户,就是同一主机的nginx

【2】配置nginx

重新打开/etc/nginx/nginx.conf

把这段加在server 的{}内

代码: 全选

	location /[路径密码] { # 修改成你刚在v2ray的配置里填写的
		proxy_redirect off;
		proxy_pass http://127.0.0.1:2345; # 假设v2ray的监听地址是2345
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header Host $host;
		}
后面的http_version 1.1和upgrade都是将其改为websocket连接。

保存
检查
nginx -t
重启
systemctl restart nginx

这样只要是去访问那个路径,转到本机的2345端口,再转给v2ray了。
服务器的配置就完成了。

如果你再给一个用户服务,重新生成一对密码,再生成不同名的v2ray配置文件。
同时,也不能再用2345,而是再写个新的端口,不重复就行。
nginx上段的配置复制并做相应修改。

打开/etc/systemd/system/v2ray@.service
检查语法,大概是
systemctl start v2ray@[新配置文件名不加.json后缀]
就再开了新的v2ray服务,它在另一个端口,接受另一对密码的用户访问。
如/usr/local/etc/v2ray/client2.json为新的配置文件
systemctl start v2ray@client2
就可以启动新的v2ray进程。

【3】Windows的代理安装和配置

在第一章我们已经学会了firefox服务器,借由本地的BitviseClient的代理去连接到服务器的ssh,再翻墙。
所以firefox的代理配置不变,还是指定1080为代理端口,我们去配置本地的。
现在我们再用ssh代理

先下载Qv2ray,或者其它的v2ray client(去google或bing搜索)

并且把v2ray的windows版下载了。

Qv2ray需要调用v2ray才能运行,换句话说前面只是后面的一个图形界面。

我喜欢把这两个解压放在同一个文件夹[翻墙目录]下,里面一个目录是qv2ray,另一个目录是v2ray
打开[翻墙目录]/qv2ray/qv2ray.exe (可以把它做个快捷方式移出来方便使用,最好改一下名称)

点击首选项
内核设置页:
V2Ray核心可执行文件路径 ../v2ray/v2ray.exe
V2Ray资源目录 ../v2ray/
点击OK就把v2ray连接给qv2ray了



入站设置页
勾选 设置系统代理、SOCKS设置、UDP支持
监听地址 0.0.0.0 或 127.0.0.1
端口 1080
UDP本地IP 127.0.0.1
点击OK

退出首选项,建立新连接,点击左下的『新建』
『手动输入』——『打开连接编辑器』

标签 = [随便起个名字]
主机 = [你租上的境外主机的公网IP]
端口 = 443
类型 = vmess

UUID = [uuid密码]
AlterID = 0 ——你也可以把它改了,但是必须和v2ray服务器配置的"alterId": 一并更改
传输协议 = ws
路径 = /[路径密码]

点击OK保存即可

然后就在左上角出现了这个连接,右键点击连接。连接上了,右方的[速度图像]底下会飘来一根线,代表代理的带宽。

现在关闭ssh,即关闭ssh的代理,或者你把它的代理功能给取消勾选了。

重开firefox类浏览器,翻墙开始!


【4】其它问题
google.com随便用
youtube.com随便用
whatismyip.com显示的是你租用的那个主机的IP,这个不太好,因为墙有可能记录你访问了这里,
如果你在海外的中文论坛注册了账号,并登录,网站也会记录你租的海外服务器的这个IP
如果那个网站是中共办的钓鱼网站,想办你,只需要把这个IP发给墙的管理员,一查就能抓着你了。
这就是翻墙被抓的原理。

一般这个翻墙是不会被识别的,只要你不说。反应在速度上就是比较快。
你可以用ping.pe网址
或cmd的ping -t (CTRL+C终止)检查丢包率
丢包率在2%以下可以认为没有被识别,5%以上就是可能被封了,不过你可以对比一下别的国外网站的丢包率
有时候是网络问题,并不是你的被识别了。
如果被识别了,只好另租一个服务器,从头干起。

下一期讲如何隐藏你翻墙的这个IP,让你即使在墙外灌水,也安全无忧。
上次由 minquan 在 10月 2, 2022, 6:37 am,总共编辑 7 次。
图片
zhangwen720
著名点评
著名点评
帖子: 3737
注册时间: 8月 4, 2022, 12:17 pm
昵称(选填): 中原一把伞

Re: 我是如何翻墙到境外网络的

帖子 zhangwen720 »

minquan 写了: 9月 7, 2022, 8:32 am 谢谢。

统一回复,那些商业VPN自2020年起在国内已经不起作用了,除非你是用自己公司在华经过批准的VPN.

不仅如此,连法轮功的自由门也不管用了,所以我才要费这么大劲来自己租服务器搭梯子。
自由门不是不管用,我还是在用,不过现在只有上主页快点,上其它的很慢,估计是用的人太多了
Jack12345
论坛精英
论坛精英
帖子: 8160
注册时间: 7月 22, 2022, 11:46 am

Re: 我是如何翻墙到境外网络的

帖子 Jack12345 »

如果 国外 有认识人的话,还有一种办法。几年前 我在国内的时候 用过。在 国外机器上 装 teamViewer,24小时开机。国内同样用 teamViewer 连接上 国外的那台机器,就可以 翻墙,一直用了。youtube 都没问题。

其他在 国外服务器上 设置 VPS 之类的教程,我也跟着 用过,不 work 。

不知道 用 SSH 之类的 能否穿墙?没试过
zhangwen720
著名点评
著名点评
帖子: 3737
注册时间: 8月 4, 2022, 12:17 pm
昵称(选填): 中原一把伞

Re: 我是如何翻墙到境外网络的

帖子 zhangwen720 »

你说这个网站是国内政府系统搞的,依据呢?
Jack12345
论坛精英
论坛精英
帖子: 8160
注册时间: 7月 22, 2022, 11:46 am

Re: 我是如何翻墙到境外网络的

帖子 Jack12345 »

zhangwen720 写了: 9月 28, 2022, 10:46 am 你说这个网站是国内政府系统搞的,依据呢?
这个网站 不是 国内政府系统搞的,是 一个 美国华人 搞得,匿名的。

现在 还没有 被 国内政府 收买,再加上以前的 自由传统,所以 五毛的帖子有,中立的 自由声音 也有。
头像
CanGuanGong
论坛精英
论坛精英
CanGuanGong 的博客
帖子: 7841
注册时间: 7月 23, 2022, 6:05 pm
昵称(选填): 调戏作风优良能打胜仗的小粉红

Re: 我是如何翻墙到境外网络的

帖子 CanGuanGong »

赞楼主,注意安全,国内文字狱太白色了!
======================================================
| 离岸小粉红研究中心首席科学家 +新老买提双料精神领袖兼党组书记 +行为艺术买提第一人 |
=======================================================
jerry
正式会员
正式会员
帖子: 14
注册时间: 7月 24, 2022, 2:55 am

Re: 我是如何翻墙到境外网络的

帖子 jerry »

Jack12345 写了: 9月 14, 2022, 7:07 pm 如果 国外 有认识人的话,还有一种办法。几年前 我在国内的时候 用过。在 国外机器上 装 teamViewer,24小时开机。国内同样用 teamViewer 连接上 国外的那台机器,就可以 翻墙,一直用了。youtube 都没问题。

其他在 国外服务器上 设置 VPS 之类的教程,我也跟着 用过,不 work 。

不知道 用 SSH 之类的 能否穿墙?没试过
TeamViewer 国内登陆也要手机验证了
头像
minquan楼主
论坛精英
论坛精英
帖子: 5414
注册时间: 7月 29, 2022, 9:12 am
昵称(选填): 三民主义

Re: 我是如何翻墙到境外网络的

帖子 minquan楼主 »

【四】用第二台境外服务器彻底隐藏自己的踪迹

上一节说到,已经实现了用v2ray进行翻墙,实现途径是

firefox类浏览器 -> 本机代理端口(如1080) -> 本机翻墙客户端 -..[1]..-> 伪境外网站 -> nginx -> v2ray -..[2]..->任何网址

连接[1]会因为出境,而在GFW留下你在国内的IP地址和访问的境外IP,就是你租用的境外服务器的公网IP

连接[2]有可能被你访问的境外网址记录这个IP,一旦你在这个境外网址上发表了反共言论,就有可能被它转给国内特务,在GFW上搜索匹配该境外服务器IP的访问记录,这就是很多翻墙网友被抓的原因。

不要以为twitter就反共了,司马南还能把巨额美元出境在美国买房呢,你知道美国的深层政府就不和中共勾结吗?
现在的wikileak都不登载巴拿马文件,不揭露中共的丑事了,所以一切小心。
在勇敢翻墙时,一定要做好自我保护,包括但不限于卸载360,卸载电脑管家,关qq,贴图不用wx进行传输,检查翻墙软件是否可信等。做好个人身份保护,别人套你话时一定要留个心眼,是否说出去的话能让特务更容易的找到你。

补充一句,检查现在firewalld的状态是
firewall-cmd --info-zone=public

在此基础上,介绍如何隐藏用来翻墙的这个IP。原理说起来简单,就是v2ray的那个主机,由另一台境外主机做代理,再去访问,就解决问题了。所以你还要再租一台主机。

v2ray -..[2]..->掩护机-..[3]..->任何网址

即使网站通知给国内的网特,也通知的是掩护机的地址,而如果你没有直接连接过它,则查无此条记录,无法通过IP发现你。
将v2ray所在的服务器称为翻墙机。

它们之间通过开源软件OpenVPN的私密信道相连。

【1】翻墙机安装OpenVPN和制作密钥

先在翻墙机上安装OpenVPN

代码: 全选

yum install -y epel-release
yum install -y fail2ban vim mc tcpdump traceroute links nc
yum install -y easy-rsa openssl-devel openvpn NetworkManager-openvpn openvpn-auth-ldap
制作密钥

代码: 全选

openvpn --genkey --secret static.key
cat static.key
【2】新建掩护机

掩护机作为OpenVPN的服务器,功能是在指定端口接到翻墙机的连接,核准密码IP后,为其进行转发
我建立CentOS7主机时,就做了个第一次运行的脚本,如下

代码: 全选

#!/bin/sh
#安装openvpn
yum install -y epel-release
yum install -y fail2ban vim mc tcpdump traceroute links nc
yum install -y easy-rsa openssl-devel openvpn NetworkManager-openvpn openvpn-auth-ldap

#开启作为路由器进行流量转发的功能
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
systemctl start firewalld
firewall-cmd --remove-service=ssh --permanent
firewall-cmd --add-masquerade --permanent
systemctl restart firewalld
firewall-cmd --add-port=[服务器端口]/udp

#初步配置OpenVPN
cd /etc/openvpn
cat > mask.conf << EOF
dev tun0
lport [服务器端口]
proto udp
ifconfig 10.0.0.1 10.0.0.2
secret ...
log-append /var/ovpn.log
EOF

#默认登录后直接进入openvpn的配置目录
echo "cd /etc/openvpn" >> /etc/bashrc
其中的[服务器端口] 要由你自己设,可以1000-60000随便挑,一般不会和现有的重复。如果报错了,就换一个。
改好之后保存,启动,等它自己执行这些命令。
如果你的服务器网页不允许设置这种自启动脚本,也可以开机以后把以上命令一行行复制过去,执行即可。

【3】从翻墙机登录掩护机,并完成配置

服务器自动启动之后,为了方便起见,我们间接ssh它。
注意:即使你知道它的IP地址,不要在BitviseClient里面直接去连接它,以免在GFW上留痕。
现在放行ssh:
firewall-cmd --add-service=ssh

我们就在翻墙机里,用Linux的ssh,作为客户去访问掩护机:
ssh root@[掩护机的公网IP]

进去之后,刚才生成并输出到屏幕上的static.key,现在用鼠标从头至尾选中,BitviseClient会自动复制下来。
敲入
vim static.key
按下a
然后按下ctrl+v
好了,整个static.key的内容都已经粘进来了
ESC后,输入:wq后回车保存退出

我们已经在openvpn的配置目录里

直接打开配置文件mask.conf
修改
secret static.key 0
保存之后就可以了。

如果你还想增加双保险,只允许接待翻墙机IP的openvpn连接,就应该在防火墙上设置唯一准入。
简单办法是在服务器的网页里,找到firewall那页,添加规则,只允许[服务器端口]对[翻墙机IP]开启

或者是把firewall-cmd取消了对所有IP的端口准入

代码: 全选

firewall-cmd --remove-port=[服务器端口]/udp
firewall-cmd --add-rich-rule 'rule family="ipv4" source address="[翻墙机公网IP]/32" port port="[服务器端口]" protocol="udp" accept'
firewall-cmd --info-zone=public
第二行的添加命令也可以增加持久化,原命令末尾加上 --permanent 即可,这个持久化是重启后自动加载的。如果不加这条虽然当前生效了,但是重启后可能就无效了。

最后再部署openvpn服务
cd /usr/lib/systemd/system
cp openvpn-server@.service openvpn@.service

打开openvpn@.service并修改
WorkingDirectory=/etc/openvpn/
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i.conf

保存之后,
systemctl start openvpn@mask
systemctl status -l openvpn@mask

运行正常,就输入
firewall-cmd --remove-service=ssh
systemctl restart firewalld
然后你就发现报错,连接断开了。
这就对了,除非你通过租用服务器那家网站(如vultr)网页的VNC再进入主机,开启ssh端口,否则现在谁都没法远程连接这个掩护机。它就安全了,也不用搞什么私钥登录那般麻烦。

当然,你在网页上,操控该主机的外部防火墙,也能达到同样的效果。但有的服务器商不提供外部防火墙。
接下来就只需要在翻墙机进行配置了。

【3】初步开通openvpn通道

掩护机的openvpn服务已经开启,我们回到原来的主机里,如果还回不去
exit
就回来了
回到原来有static.key的目录,我假设是家目录~
新建tun.conf,填入以下内容

代码: 全选

daemon
dev tun
remote  [掩护机公网IP]
rport [服务器端口]
lport [客户端端口]
proto udp
ifconfig 10.0.0.2 10.0.0.1
secret static.key 1
writepid /run/tunpid
log-append /var/ovpn.log
verb 4
以上[服务器端口]要与你在掩护机里面的配置相同,[客户端端口]你任选,1000以上不能是2345或者其他与v2ray现在用的端口,现在测试一下连通性:

代码: 全选

openvpn tun.conf
sleep 1
ping -c 1 10.0.0.1
当你看到
--- 10.0.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss
就说明连接成功了。

现在断开通道
cat /run/tunpid
会出现个进程号
kill [进程号]
openvpn的客户端关闭,该通道也关闭

【4】巧设路由

之前我们说过,是要v2ray的流量自动的去用openvpn的通道,但是我们的翻墙机表面上是个正常的网站,则它给任何访问的用户发消息时,不能去用openvpn的通道,否则就不能显示网页了。所以要进行分流。

还是在家目录,我们先建立openvpn的启动脚本startun

代码: 全选

#!/bin/bash
openvpn tun.conf
sleep 1
tail -10 /var/ovpn.log
ping -c 1 10.0.0.1
ip route add default via 10.0.0.1 table vpn
echo
echo '-- ip route list table vpn --'
ip route list table vpn
ip rule add dev tun0 table vpn prio 100
ip rule add from 10.0.0.2/32 table vpn prio 101
echo
echo "-- ip rule show --"
ip rule show
后一半是条件路由规则,意思是源地址为10.0.0.2的流量去用openvpn通道的对侧即10.0.0.1来路由

openvpn的关闭脚本stoptun

代码: 全选

#!/bin/bash
#kill `cat /run/tunpid`
ps aux|grep openvpn|grep -v 'grep'|awk '{print $2}' | xargs kill
sleep 2
ip route
现在启动openvpn
sh startun
我们能看到ping的结果,还看到了路由的更改效果
101: from 10.0.0.2 lookup vpn

现在唯一要做的就是设置v2ray了:
cd /usr/local/etc/v2ray
打开config.json并编辑:

代码: 全选

  "outbounds": [
    {
    "sendThrough": "10.0.0.2",
    "protocol": "freedom",
保存退出。
加入sendThrough的设置后,v2ray代理时就不再用翻墙机的公网IP,而强制使用openvpn的10.0.0.2了,然后路由表会自动的去找10.0.0.1作为路由器。因为现在已经建立了openvpn通道,它就会找掩护机的openvpn服务器,完成第二跳。

systemctl restart v2ray

然后再重新连接v2ray,你再在浏览器翻墙的时候,用的就是掩护机IP了,
不妨去whatismyip.com检查一下。

【全文完】

如果你用的openvpn版本>=2.5 两台主机的配置文件必须加这一条
cipher AES-256-CBC
上次由 minquan 在 11月 1, 2023, 9:18 am,总共编辑 7 次。
图片
Jack12345
论坛精英
论坛精英
帖子: 8160
注册时间: 7月 22, 2022, 11:46 am

Re: 我是如何翻墙到境外网络的

帖子 Jack12345 »

jerry 写了: 9月 28, 2022, 11:16 am TeamViewer 国内登陆也要手机验证了
下载 国外版的 英语 TeamViewer ?

或者就算 手机登录,用来看 youtube 等,只看不说话,应该还好
jerry
正式会员
正式会员
帖子: 14
注册时间: 7月 24, 2022, 2:55 am

Re: 我是如何翻墙到境外网络的

帖子 jerry »

Jack12345 写了: 9月 28, 2022, 11:19 am 下载 国外版的 英语 TeamViewer ?

或者就算 手机登录,用来看 youtube 等,只看不说话,应该还好
没用。teqmviewer发现你是大陆ip,然后按照法规要求你输入中国手机号码验证。
上次由 jerry 在 10月 3, 2022, 7:05 pm,总共编辑 1 次。
zhangwen720
著名点评
著名点评
帖子: 3737
注册时间: 8月 4, 2022, 12:17 pm
昵称(选填): 中原一把伞

Re: 我是如何翻墙到境外网络的

帖子 zhangwen720 »

Jack12345 写了: 9月 28, 2022, 10:58 am 这个网站 不是 国内政府系统搞的,是 一个 美国华人 搞得,匿名的。

现在 还没有 被 国内政府 收买,再加上以前的 自由传统,所以 五毛的帖子有,中立的 自由声音 也有。
我觉得还是以前那个不管是贪也好,是怎么着也好,大家都知道他是个什么人,如果大家在这里说了半天,不符合墙内的意思,又推了重来,很无聊的。
Jack12345
论坛精英
论坛精英
帖子: 8160
注册时间: 7月 22, 2022, 11:46 am

Re: 我是如何翻墙到境外网络的

帖子 Jack12345 »

minquan 写了: 9月 28, 2022, 11:16 am https://newmitbbs.com/viewtopic.php?t=30027
https://newmitbbs.com/viewtopic.php?t=32561

你看看这两个就知道了——五毛是钦定版主,雷打不动。
这倒 有点冤枉 站方了,旧站倒了后,新站很快 上线了。估计 是 在美国的 一个搞网站的 人 建立的,时区和美国也一样

现在 人少,站主 估计 来者都是客,不管 小将 老将 都不得罪。

但 中国新闻 版主 在国内,好多天 不上线 (现在国内 根本没有 墙 这个网站,softfist 测过),又没理由的 删帖 封人,完全不合格。这样情况下 放个 并列版主(并没有 撤掉 原版主),站方 都 不同意,有点 过于 偏袒 了
zhangwen720
著名点评
著名点评
帖子: 3737
注册时间: 8月 4, 2022, 12:17 pm
昵称(选填): 中原一把伞

Re: 我是如何翻墙到境外网络的

帖子 zhangwen720 »

我有个问题想问一问各位,能够做出一个软件让电脑直接用物理地址连接到另一台电脑么。我的意思是说,,装一个客户端在我的电脑上,然后我输入我的物理地址,然后这个软件直接连接另一台同样装了这个客户端的电脑。相当于两台电脑直接连通。这样的话,如果自由门有这样的功能,我就可以利用全世界的物理连接直接翻墙出去。
回复

回到 “电脑手机(IT)”