你的位置:首页 > 互联网IT
gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,Linu
gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,Linux下基于L2TP/IPSec + iptables + gost实现全局网络访问,利用gost访问内网HTTP服务
系统:Windows/linux
软件:gost v3.0
功能:http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射
项目地址:https://github.com/go-gost/gost
gost-v3-beta.6(使用很久,稳定版本)
本地下载1-Windows-32位:gost-windows-386-3.0.0-beta.6.zip
本地下载2-Windows-64位:gost-windows-amd64-3.0.0-beta.6.zip
本地下载3-linux-32位:gost-linux-386-3.0.0-beta.6.gz
本地下载4-linux-64位:gost-linux-amd64-3.0.0-beta.6.gz
gost-v3.0.0-rc8
本地下载5-Windows-32位:gost_3.0.0-rc8_windows_386.zip
本地下载6-Windows-64位:gost_3.0.0-rc8_windows_amd64.zip
本地下载7-linux-32位:gost_3.0.0-rc8_linux_386.tar.gz
本地下载8-linux-64位:gost_3.0.0-rc8_linux_amd64.tar.gz
项目地址下载地址:https://github.com/go-gost/gost/releases
本文内容:Linux下基于L2TP/IPSec + iptables + gost实现全局网络访问,利用gost访问内网HTTP服务,gost 2.1远程端口转发功能的使用说明,gost 2.1本地端口转发功能的使用说明,利用国内vps作为中间代理转发请求到国外vps,利用letsencrypt和gost搭建https代理,linux下利用redsocks+iptables实现全局socks5代理上网,GOST的起源以及应用场景,利用PPTP, redsocks, iptables, https/socks5 proxy实现全局代理上网,GOST - GO Simple Tunnel
gost,gost3,gost-v3版本-配置文件文章
https://www.zhuguodong.com/?id=771
gost,gost3,gost-v3版本-命令文章
https://www.zhuguodong.com/?id=767
同类型gost-v2.0(gost2)版本
https://www.zhuguodong.com/?id=700
-----------------------------------------------------------
Windows隐藏运行软件,cmd隐藏运行,bat隐藏运行,命令窗口隐藏运行
https://www.zhuguodong.com/?id=520
linux隐藏运行软件
nohup /root/gost -L ss://aes-256-cfb:123456@:23333 >/dev/null 2>&1 &
nohup 《内容替换》 >/dev/null 2>&1 &
-----------------------------------------------------------
简单配置运行:
Windows:新建 gost.bat 文件
linux:命令窗口隐藏运行,gost要加入权限:chmod +x gost
启动参数:-c
Windows:start "" "gost.exe" -C gost.yaml
linux:gost -C gost.yaml
说明:.yaml配置文件不能有空行,或者不必要的空格,不然会运行不成功
启动参数:-c
Windows:start "" "gost.exe" -C gost.json
linux:gost -C gost.json
程序gost与文件同一目录下,说明:.json与.yaml配置文件格式(这个文件格式配置不能出现空格),教材就用.json格式演示
配置.json与.yaml格式可相互转换的
输出yaml格式配置
gost -L http://:8080 -O yaml
输出json格式配置
gost -L http://:8080 -O json
将json格式配置转成yaml格式
gost -C gost.json -O yaml
gost -C gost.yaml -O json
-----------------------------------------------------------
Linux下基于L2TP/IPSec + iptables + gost实现全局网络访问
ginuerzh · 2017-01-16 18:23 · 10min read
原文地址:https://groups.google.com/g/go-gost/c/bx0fYx2jmG4。
之前写过一篇类似的文章,是利用PPTP + iptables + redsocks,但由于新版IOS上已经不支持PPTP了,所以这里面就换用IPSec来实现。
新版的gost也已经支持透明代理,redsocks也可以省去了,所以理论上这种方法要比之前的简单许多。
首先安装IPSec VPN服务,网上有人已经写了个自动化脚本,就不用我们费心再一步一步安装了:https://github.com/hwdsl2/setup-ipsec-vpn。
再把透明代理跑起来:
gost -L redirect://:12345 -F http2://SERVER_IP:443?ping=30
若要避免DNS污染,可以再利用DNS转发:
gost -L udp://:1053/8.8.8.8:53?ttl=5 -L redirect://:12345 -F http2://SERVER_IP:443?ping=30
剩下的就是iptables了,修改/etc/iptables.rules文件,在nat中增加:
-A PREROUTING -i eth+ -p udp --dport 53 -j DNAT --to LOCAL_IP:1053
-A PREROUTING -p tcp -j REDSOCKS
-A OUTPUT -p tcp -j REDSOCKS
-A REDSOCKS -d 0.0.0.0/8 -j RETURN
-A REDSOCKS -d 10.0.0.0/8 -j RETURN
-A REDSOCKS -d 127.0.0.0/8 -j RETURN
-A REDSOCKS -d 169.254.0.0/16 -j RETURN
-A REDSOCKS -d 192.168.0.0/16 -j RETURN
-A REDSOCKS -d 224.0.0.0/4 -j RETURN
-A REDSOCKS -d 240.0.0.0/4 -j RETURN
-A REDSOCKS -d SERVER_IP -j RETURN
-A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
上面看上去是不是还是挺麻烦的,其实还有一种更简单的办法,就是利用端口转发,将VPN直接映射到本地:
gost -L udp://:500/SERVER_IP:500 -L udp://:4500/SERVER_IP:4500 -L udp://:1701/SERVER_IP:1701 -F http2://SERVER_IP:443
这样本地就不用安装配置任何东西就可以作为VPN服务了。
-----------------------------------------------------------
利用gost访问内网HTTP服务
ginuerzh · 2016-10-09 13:18 · 10min read
原文地址:https://groups.google.com/g/go-gost/c/ouzBXF0Fqk8。
gost在2.1中增加了远程端口转发功能,可以将内网的端口直接映射到外网的一个指定端口。不过TCP的远程端口转发有一些限制,每当有连接连到了外网的映射端口上时,这个监听端口就会关闭,等待内网的gost再主动建立连接重新开启外网端口监听。
这样就使得此功能的使用受限,只能用来转发类似于SSH这种使用单连接的服务,而像HTTP这种需要建立很多连接的服务就不可用了。
gost 2.2中增加了对HTTP2的支持,由于HTTP2可以多路复用,特别是针对HTTP,可以用单一连接来传输多组请求。那么我们就可以利用HTTP2来实现在外网也能访问到内网的HTTP服务。
假设有一台公网的机器A,IP是 1.2.3.4。
内网的机器B,IP是:192.168.1.100。
具体做法(有点绕):
先在公网机器A上跑gost:
gost -L http2://:443
在内网机器B上跑gost(**注意**这个gost一定要是http2模式):
gost -L http2://:8080
重要的一步, 在内网机器B上开启TCP远程端口转发:
gost -L rtcp://:1443/:8080 -F http2://1.2.3.4:443
上面这一步就是将内网机器B上的HTTP2代理端口直接映射到外网服务器上的1443端口,那么访问外网服务的1443端口就相当于访问内网的8080端口,也就相当于在外网直接访问到内网的HTTP2代理。
假设在机器B所在的网络中有一台路由器,IP为192.168.1.1,我们想在另外一台电脑C上(可以访问机器A的1443端口)访问这个内网路由器的管理界面:
在电脑C上跑gost:
gost -L :8888 -F http2://1.2.3.4:1443
这一步就相当于直接使用内网机器B上的HTTP2代理(8080端口),那么也就可以访问到机器B所在网络的任何服务了, 在机器C上把浏览器代理设为localhost:8888,在浏览器中直接打开192.168.1.1就可以访问到路由器的管理界面了。
-----------------------------------------------------------
gost 2.1远程端口转发功能的使用说明
ginuerzh · 2016-09-06 21:31 · 10min read
原文地址:https://groups.google.com/g/go-gost/c/_-akAbTe3ho。
前一个帖子介绍了本地端口转发的使用,这里就再说说远程端口转发的使用。
gost远程端口转发的功能类似于ssh中-R参数的功能,与本地端口转发一样,也支持UDP和转发链。
还是用之前的场景:
假设有三台机器:local_host, proxy_host, remote_host
local_host可以访问proxy_host和remote_host
proxy_host无法访问local_host和remote_host
remote_host可以访问local_host
proxy_host <- local_host <-> remote_host
注意proxy_host与local_host是单通的,也就是说local_host在防火墙的后面。
TCP远程端口转发的使用:
我们想在proxy_host上用ssh登陆到remote_host上,在local_host上执行:
gost -L=rtcp://:2222/remote_host:22 -F=socks://proxy_host:1080
这里假设proxy_host上部署了gost socks5代理并监听在1080端口上。这样gost就会(通过转发链)连接到proxy_host,并让proxy_host监听TCP 2222端口,当我们使用ssh连接proxy_host的2222端口时,就相当于连接到了remote_host的22端口了:
ssh -p 2222 root@localhost
UDP远程端口转发的使用:
我们现在想在proxy_host上访问remote_host上的DNS服务,在local_host上执行:
gost -L=rudp://:5353/remote_host:53 -F=socks://proxy_host:1080
这里假设proxy_host上部署了gost socks5代理并监听在1080端口上。这样gost就会(通过转发链)连接到proxy_host,在proxy_host上监听UDP 5353端口,当我们向proxy_host:5353发送UDP数据,就相当于发送到了remote_host:53上了:
dig @localhost -p 5353 www.google.com
注意: TCP远程端口转发使用了socks5 bind协议,所以转发链的末端(最后一个-F参数)一定要是socks5类型; UDP远程端口转发使用了UDP-over-TCP,所以转发链的末端(最后一个-F参数)一定要是gost socks5类型。
-----------------------------------------------------------
gost 2.1本地端口转发功能的使用说明
ginuerzh · 2016-08-31 14:37 · 10min read
原文地址:https://groups.google.com/g/go-gost/c/_Bn0oDKants。
2.1版本正在开发中,主要增加端口转发功能,这里主要说一下本地端口转发的使用。
gost的本地端口转发功能类似于ssh中 -L参数的功能(ssh端口转发的使用可以参考这篇文章),而与ssh的区别在于:
gost支持UDP端口的转发。
gost支持通过转发链进行端口转发。
假设有三台机器:local_host, proxy_host, remote_host
local_host就是本地我们正在使用的主机,可以访问proxy_host但不能直接访问remote_host,
proxy_host为代理主机,可以访问local_host和remote_host,
remote_host为远程的一台主机,与proxy_host连通。
local_host <-> proxy_host <-> remote_host
先说说TCP端口转发的使用:
我们想在local_host上用ssh登录到remote_host上(22端口)就可以使用本地端口转发功能了:
gost -L=tcp://:2222/remote_host:22 -F proxy_host:8080
这里假设proxy_host上部署了http代理并监听在8080端口上。
然后在local_host执行:
ssh -p 2222 root@localhost
就可以登录到remote_host上了。
再来看看UDP端口转发的使用:
还是上面的场景,现在想访问remote_host上的UDP 53端口,也就是DNS服务:
gost -L=udp://:5353/remote_host:53 -F socks://proxy_host:1080
这里假设proxy_host上部署了gost socks5代理并监听在1080端口上。
然后在local_host上执行:
dig @localhost -p 5353 www.google.com
此时就相当于访问到remote_host的UDP 53端口。
注意: UDP的端口转发使用了UDP-over-TCP,所以转发链的末端(最后一个-F参数)一定要是gost socks5类型。
-----------------------------------------------------------
利用国内vps作为中间代理转发请求到国外vps
ginuerzh · 2015-12-23 22:28 · 5min read
原文地址:https://groups.google.com/g/go-gost/c/aLj9ruoSp4U。
国外的vps可以帮助我们科学上网,但使用时间长了,很可能会出现限流或不稳定的情况。 这时如果通过国内的vps作为中转,情况可能会有所改善。
这里假设国内vps地址是aliyun.com,国外vps地址是linode.com,有两种方法。
第一种可以称之为桥式:
先架好桥墩
国外vps上(linode.com):
gost -L=:1080
国内vps上(aliyun.com):
gost -L=:8080
````
然后连接各个桥墩,就可以过桥了:
本地:
gost -L=:8888 -F=http://aliyun.com:8080 -F=socks://linode.com:1080
这种方式,由于各vps之间是独立的,所以灵活性较好,在vps较多时可以任意组合。
另外一种称之为链式:
先构建一个链:
国外vps上(linode.com):
gost -L=:1080
国内vps上(aliyun.com):
gost -L=http+tls://:443 -F=socks://linode.com:1080
然后构建本地链:
本地:
gost -L=:8888 -F=http+tls://aliyun.com:443 ```
这种方式虽然没有第一种灵活,但可以通过设置国内vps为https或shadowsocks代理,让支持此类型代理的应用直连国内vps就可以科学上网了。
-----------------------------------------------------------
利用letsencrypt和gost搭建https代理
ginuerzh · 2015-12-18 18:05 · 5min read
原文地址:https://groups.google.com/g/go-gost/c/32jXBP3pAxc。
letsencrypt在12月3号正式进行公测了,也就是说现在所有人都可以免费拥有自己的tls证书了,前提是服务器要绑定域名。
首先当然是要生成证书:
git clone https://github.com/letsencrypt/letsencrypt.git
cd letsencrypt
letsencrypt-auto certonly --email your_email@email.com -d your_host_domain.com
如果一切顺利的话,在/etc/letsencrypt/下会会生成live目录,进去后会有你的域名目录,再进去就是你的证书了。 我们只用到两个文件**cert.pem**和**privkey.pem**。
证书生成好了,下面就可以运行https代理了:
gost内置了一个tls证书,如果要使用自己的证书,需要在gost的运行目录中放置cert.pem和key.pem两个文件(key.pem即letsencrypt生成的privkey.pem),
假如gost可执行文件在/home/abc目录下,可以将letsencrypt证书拷贝到此目录:
cd /home/abc
cp /etc/letsencrypt/live/your_host_domain.com/cert.pem /home/abc/cert.pem
cp /etc/letsencrypt/live/your_host_domain.com/privkey.pem /home/abc/key.pem
最后运行gost:
gost -L=http+tls://:443 -logtostderr -v=2
如果没有报'open cert.pem: no such file or directory'错误,则说明letsencrypt的证书加载成功。
浏览器端使用SwitchyOmega添加此https代理就可以使用了。
-----------------------------------------------------------
linux下利用redsocks+iptables实现全局socks5代理上网
ginuerzh · 2015-11-19 21:25 · 10min read
原文地址:https://groups.google.com/g/go-gost/c/c7QCorgZiLU。
之前写过一个类似的文档,不过因为参杂了vpn配置,所以略微复杂,下面是简化版。
在linux下的应用若要使用socks5代理,一般都需要在应用内手动设置,而且有些应用不支持设置代理功能。 其实可以通过redsocks+iptables来实现类似于vpn功能,将所有tcp流量重定向到socks5代理(也支持https代理)。
步骤如下:
安装redsocks:
ubuntu下:
sudo apt-get install redsocks
如果没有此软件,则只能自己下源码编译 https://github.com/darkk/redsocks。
配置redsocks:
新建一个配置文件redsocks.conf,内容如下:
base {
log_debug = off;
log_info = on;
log = "file:/tmp/reddi.log";
daemon = on;
redirector = iptables;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 31338;
ip = 127.0.0.1;
port = 8888;
type = socks5;
}
配置项里面的port指的就是socks5代理的端口(这里使用的是8888)。
然后执行redsocks:
redsocks -c redsocks.conf
通过netstat查看是否运行正常(监听在31338端口):
netstat -tlnp
netstat
查看日志:
tail -f /tmp/reddi.log
配置iptables,新建配置文件ipt.conf,内容如下:
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT
:INPUT ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
# Create new chain
:REDSOCKS -
-A REDSOCKS -d 0.0.0.0/8 -j RETURN
-A REDSOCKS -d 10.0.0.0/8 -j RETURN
-A REDSOCKS -d 127.0.0.0/8 -j RETURN
-A REDSOCKS -d 169.254.0.0/16 -j RETURN
-A REDSOCKS -d 192.168.0.0/16 -j RETURN
-A REDSOCKS -d 224.0.0.0/4 -j RETURN
-A REDSOCKS -d 240.0.0.0/4 -j RETURN
-A REDSOCKS -d proxy_server_ip -j RETURN
# Anything else should be redirected to port 31338
-A REDSOCKS -p tcp -j REDIRECT --to 31338
-A OUTPUT -p tcp -j REDSOCKS
COMMIT
注(这一步很重要):配置中红色标明的proxy_server_ip指的是本地代理软件所连接的远程服务器ip地址,用gost为例:
gost -L :8888 -F a.b.c.d:8080
要将proxy_server_ip替换为a.b.c.d
如果是shadowsocks,就是shadowsocks配置文件中的server项
最后应用iptables配置:
sudo iptables-restore < ipt.conf
结束!
-----------------------------------------------------------
GOST的起源以及应用场景
ginuerzh · 2015-10-26 09:39 · 5min read
原文地址:https://groups.google.com/g/go-gost/c/Cnh_4aeRVcg。
gost的想法是在2013年产生的,那一年也是我来到当前这家公司的第一年,进入公司后发现公司对网络的限制已经到了极限:只能通过公司的代理访问网络,并且在未申请更高权限的情况下只能访问baidu搜索,其他网站一律被封,然而我们的小组又是搞移动互联网的,所以平时开发和查资料很不方面。
当时我们有一个Linode VPS用于开发,公司也放行了此VPS个别端口的HTTP访问权限,于是就开始寻思着能不能利用这个Linode中转一下。 其实需求很简单:通过公司的代理,在本地与linode之间建立一个tunnel。
一开始在网上搜索了一下,没有找到满足的(也可能我没有发现),基本上都是直连,无法在有代理的环境中使用。接着就开始尝试着自己写一个,第一版的代码在:https://github.com/ginuerzh/goproxy,这一版功能很简单,使用的是HTTP轮询方式,所以效率也很低,不过勉强满足了上面的需求,可以访问了。
不久就发现,公司其实也放行了linode的443端口,并且支持http CONNECT请求,这样就可以建立长连接,提高数据传输效率了。马上就写了第二版:https://github.com/ginuerzh/gohttptun2,这一版的功能与现在的gost已经很像了,只是还是比较的简陋。
这一版使用了很长时间,也比较稳定,所以就没有继续更新了,直到后来发现了c9.io,可以通过websocket中转数据,这个时候gost就产生了。
很多人知道gost是因为c9.io,然而gost不是专门在c9.io这种环境中使用的,而是正如上面所说,适合需要多级转发的场景,虽然这种场景比较少见。
-----------------------------------------------------------
利用PPTP, redsocks, iptables, https/socks5 proxy实现全局代理上网
ginuerzh · 2015-07-23 18:27 · 30min read
原文地址:
https://groups.google.com/g/go-gost/c/dzDQeTfNCjY。
https://docs.google.com/document/d/1OGIrebKWq__Lt0ADxprxapevC1BEzPaR6ry9XY_WDdA/edit#heading=h.qh7wl45v71jq
使用场景¶
在使用代理上网的情况下,一般需要在每个应用中分别设置代理(如果应用支持代理),很难做到让所有网络流量默认都走代理。 在手机(特别是iphone)上如果不使用VPN,仅通过https或socks5代理也是很难实现类似VPN的全局代理功能。
REDIRECT
这里linux pc使用ubuntu 14.04, vpn使用pptp, proxy使用socks5。
pptp服务器安装配置¶
安装pptp服务器
sudo apt-get install pptpd
执行完上面命令后pptp服务器就安装好了,下面主要就是配置了。
配置pptp服务器
编辑/etc/pptpd.conf,增加以下两行:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
这里localip指pptp服务端的IP, remoteip是客户端连接后分配的IP范围。
编辑/etc/ppp/chap-secrets,设置pptp认证信息,在最后面新增一行:
vpn pptpd 123456 *
这里vpn是用户名,pptpd是vpn类型,可以设置为*,123456是密码,最后一个*表示接收任何IP的连接。
编辑/etc/ppp/pptpd-options,添加DNS服务器:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
这里使用google的公共dns服务器,也可以指定你自己的dns服务器。
最后重启pptp服务器使以上设置生效:
sudo service pptpd restart
查看一下pptp服务是否正在运行:
netstat -tlnp | grep 1723
出现类似以下信息说明pptp服务正在运行:
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN -
配置linux系统¶
编辑/etc/sysctl.conf,增加一行:
net.ipv4.ip_forward=1
使修改生效:
sudo sysctl -p
到此为止,pptp服务端就配置完了,可以使用手机测试一下。
redsocks安装配置¶
redsocks可以配置linux下的iptables实现TCP连接的重定向功能
项目介绍:http://darkk.net.ru/redsocks/
项目源码:https://github.com/darkk/redsocks
下载编译redsocks¶
git clone https://github.com/darkk/redsocks.git
cd redsocks
sudo apt-get install libevent-dev
make
没有错误的话会生成一个名为redsocks的可执行文件。
新建一个redsocks配置文件redsocks.conf,内容如下:
base {
log_debug = on;
log_info = on;
log = "file:/tmp/reddi.log";
daemon = on;
redirector = iptables;
}
redsocks {
local_ip = 0.0.0.0;
local_port = 31338;
ip = 127.0.0.1;
port = 8899;
type = socks5;
}
这里的local_ip, local_port是redsocks服务的监听地址,ip, port为代理的地址,type指定代理类型。
运行redsocks:
./redsocks -c redsocks.conf
因为在配置文件里面指定了后台运行(daemon=on),所以执行以上命令后会直接出现命令行提示符,不会阻塞。
iptables设置¶
下面是最复杂也是最容易出问题的环节。
新建文件ipt.conf,内容如下:
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT
:INPUT ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
# Create new chain
:REDSOCKS -
-A PREROUTING -i ppp+ -p tcp -j REDIRECT --to 31338
# -A PREROUTING -i ppp+ -p udp --dport 53 -j DNAT --to 192.168.1.1:53
# -A INPUT -p tcp --dport 1723 -j ACCEPT
# -A INPUT -p tcp --dport 47 -j ACCEPT
# -A INPUT -p gre -j ACCEPT
# Ignore LANs and some other reserved addresses.
# See http://en.wikipedia.org/wiki/Reserved_IP_addresses#Reserved_IPv4_addresses
# and http://tools.ietf.org/html/rfc5735 for full list of reserved networks.
-A REDSOCKS -d 0.0.0.0/8 -j RETURN
-A REDSOCKS -d 10.0.0.0/8 -j RETURN
-A REDSOCKS -d 127.0.0.0/8 -j RETURN
-A REDSOCKS -d 169.254.0.0/16 -j RETURN
-A REDSOCKS -d 172.24.0.0/16 -j RETURN
-A REDSOCKS -d 192.168.0.0/16 -j RETURN
-A REDSOCKS -d 224.0.0.0/4 -j RETURN
-A REDSOCKS -d 240.0.0.0/4 -j RETURN
# Anything else should be redirected to port 31338
# -A REDSOCKS -p tcp -o eth0 -j DNAT --to 127.0.0.1:31338
-A REDSOCKS -p tcp -j REDIRECT --to 31338
-A OUTPUT -p tcp -j REDSOCKS
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
是不是很复杂,当然如果你很了解iptables,这就是小菜一碟了。 如果你的系统本身配置了iptables,请根据自身网络情况适当修改。
在上面的配置文件中,有几个方面需要注意:
如果你在配置vpn时,将dns设置为8.8.8.8和8.8.4.4,且你的系统又无法访问此dns服务器,这时就要设置dns转发了:
-A PREROUTING -i ppp+ -p udp --dport 53 -j DNAT --to 192.168.1.1:53
这里的--to 192.168.1.1:53就是用来设置转发到的dns服务器地址。
配置中的eth0为系统访问外网的接口,一般情况下为eth0,当有多个接口时会出现eth1, eth2等等,可以通过ifconfig命令查看自己使用的是哪个接口。
应用iptable设置:
sudo iptables-restore < ipt.conf
执行完以上命令后配置中方的iptables规则就会立即生效了,可以通过以下命令确认:
sudo iptables-save
看看输出结果是否与ipt.conf中的一致。
代理配置¶
可以使用任何标准的https, socks5代理,例如shadowsocks, gost等,客户端的监听地址需要与redsocks配置中的ip, port一致。
OK¶
DONE!
如果你成功走到了这里,恭喜你,你可以让你的手机,PC无障碍的通过代理全局上网了。
-----------------------------------------------------------
GOST - GO Simple Tunnel
ginuerzh · 2015-05-21 15:08 · 1min read
原文地址:https://groups.google.com/g/go-gost/c/vKbJh1IPK7o。
GO语言实现的安全隧道¶
特性¶
支持设置上层http代理。
客户端可用作http(s), socks5代理。
服务器端兼容标准的socks5协议, 可直接用作socks5代理, 并额外增加协商加密功能。
Tunnel UDP over TCP, UDP数据包使用TCP通道传输,以解决防火墙的限制。
多种加密方式(tls,aes-256-cfb,des-cfb,rc4-md5等)。
客户端兼容shadowsocks协议,可作为shadowsocks服务器。
二进制文件下载:https://bintray.com/ginuerzh/gost/gost/view。
-----------------------------------------------------------
GO Simple Tunnel
GO语言实现的安全隧道
功能特性
多端口监听
多级转发链
多协议支持
TCP/UDP端口转发
TCP/UDP透明代理
DNS解析和代理
TUN/TAP设备
反向代理
负载均衡
路由控制
限速限流
准入控制
动态配置
插件系统
Prometheus监控指标
Web API
Web UI
Telegram讨论群:https://t.me/gogost
Google讨论组:https://groups.google.com/d/forum/go-gost
提交Issue:https://github.com/go-gost/gost/issues
旧版入口:v2.gost.run
下载安装
二进制文件
https://github.com/go-gost/gost/releases
源码编译
git clone https://github.com/go-gost/gost.git
cd gost/cmd/gost
go build
Docker
docker run --rm gogost/gost -V
Shadowsocks Android插件
xausky/ShadowsocksGostPlugin
https://github.com/xausky/ShadowsocksGostPlugin
发表评论: