利用gost实现pptp转socks5或http代理
利用gost实现pptp转socks5或http代理
以debian10为例
1、安装pptp服务器端
sudo apt-get install pptpd #debian系统
编辑/etc/pptpd.conf,ip段可以自己设置,增加以下两行:
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认证信息,在最后面新增一行:
user1 pptpd 123456 *
user2 pptpd 123456 192.168.0.245
*为从地址池随机分配,也可以固定一个ip地址
2、安装gost
官网链接在这儿不会编译就直接下二进制文件,丢进去就行:https://latest.gost.run/
创建gost-config.json 可以创建很多个配置文件。我这儿只写了两条,多个可以自行再生成
{
"Debug": true,
"Retries": 0,
"ServeNodes": [
{
"Name": "transparent_proxy_1",
"Listen": "tcp://:31339",
"ProxyProtocol": "socks5", #透明代理协议,http,https,socks5之类的。
"ProxyAddress": "10.0.0.1:1082",
"Protocol": "redirect",
"Target": ""
"Username": "your_username", #账号密码,有的话加上,没有的话删了这两行。
"Password": "your_password"
},
{
"Name": "transparent_proxy_2",
"Listen": "tcp://:31338",
"ProxyProtocol": "socks5",
"ProxyAddress": "10.0.0.1:54213",
"Protocol": "redirect",
"Target": ""
}
]
}
手动执行命令./gost -C gost-config.json
创建服务项gost.service
[Unit]
Description=Gost Transparent Proxy Service
After=network.target
[Service]
ExecStart=/path/to/gost -C /path/to/gost-config.json #写你的配置文件和gost所在的目录
Restart=always
[Install]
WantedBy=multi-user.target
使用iptables进行数据转发
创建ipt.conf,看不懂的话就直接抄作业
*nat
:PREROUTING ACCEPT
:INPUT ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
# Create new chain
:REDSOCKS -
#指定源ip转发数据到指定端口
-A PREROUTING -i ppp+ -s 192.168.0.234 -p tcp -j REDIRECT --to 31338
-A PREROUTING -i ppp+ -s 192.168.0.235 -p tcp -j REDIRECT --to 31339
# 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 respective ports
#指定源ip转发数据到指定端口
-A REDSOCKS -p tcp -m iprange --src-range 192.168.0.234-192.168.0.234 -j REDIRECT --to 31338
-A REDSOCKS -p tcp -m iprange --src-range 192.168.0.235-192.168.0.235 -j REDIRECT --to 31339
-A OUTPUT -p tcp -j REDSOCKS
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
应用iptables规则并保存配置
sudo iptables-restore < ipt.conf
sudo iptables-save
另附清空iptables的命令
iptables -F # 清空过滤器(filter)表的规则
iptables -X # 删除所有自定义链
iptables -t nat -F # 清空网络地址转换(NAT)表的规则
iptables -t nat -X # 删除所有自定义链
iptables -t mangle -F # 清空mangle表的规则
iptables -t mangle -X # 删除所有自定义链
iptables -P INPUT ACCEPT # 将INPUT链的默认策略设置为接受(ACCEPT)
iptables -P FORWARD ACCEPT # 将FORWARD链的默认策略设置为接受(ACCEPT)
iptables -P OUTPUT ACCEPT # 将OUTPUT链的默认策略设置为接受(ACCEPT)
最后再测试pptp连接后网络是否走对应的链路
利用gost实现pptp转socks5或http代理的更多相关文章
- Sublime 配置代理以及 Socks5 转 http 代理
一.原因 在使用 sublime 3.2.1 的时候,安装插件时出错 因为被墙的原因,所以要设置代理 设置路径: 首选项 -> Package -> Settings -> Pack ...
- 利用proxychains在终端使用socks5代理
最近用各种脚本下载东西的时候发现有的站点需要当地IP才能下,比如.....nico, youtube等: 所以就找了下能在终端用socks5代理的工具,最后找到了proxychains,从此再无压力= ...
- 使用 某款基于Socks5协议的代理软件 一段时间后 被封锁掉IP的一些技术思考
由于关键词比较敏感为了不被删除帖子所以文中某软件(上图所示软件)不用全称表示. 去年9月末在 在某国外网站 上弄了一个vpn,在上面安装了某软件,使用起来还是蛮不错的,平时查查英文论文,看看美剧还是比 ...
- Curl测试socks5 or http 代理命令
测试socks5命令:curl --socks5 125.119.175.48:8909 http://example.com/ 测试http命令: curl --connect-timeout 2 ...
- iOS 利用webView加载html代码,在代理中获取html页面的链接时出现的问题
getDetailWebview.loadHTMLString(webViewData as String, baseURL:NSURL(string: "\(ProBaseWeb)&quo ...
- 在容器中利用Nginx-proxy实现多域名的自动反向代理、免费SSL证书
在个人的小项目或者测试环境中,配置反向代理显得十分繁琐,而借助 Nginx-proxy 的镜像,即使是小白,也能快速实现域名转发. 1.域名.IP自动转发 在开始之前,首先黑进了自家的路由器,将某个域 ...
- 让终端走socks5代理
(2017.9.17更新) 方法1: 在终端中直接运行命令 1 export http_proxy=http://proxyAddress:port 这个办法的好处是简单直接,并且影响面很小(只对当前 ...
- 使用 EW 作Socks5代理
简介: EarthWorm是一款用于开启 SOCKS v5 代理服务的工具,基于标准 C 开发,可提供多平台间的转接通讯,用于复杂网络环境下的数据转发. 主页: http://rootkiter.co ...
- 不用Unity库,利用.NET动态代理自己实现AOP
AOP意为面向切面的程序设计,主要表现为对不同的代码逻辑进行隔离,从而降低不同业务逻辑之间的耦合性,AOP又理解为“横切”,可以在不改变原有实现的情况下,对代码进行拦截和扩展,如果原有设计像一个瓶子, ...
- windows使用proxifier全局代理 - 配置可用; windows10 配置全局代理 走 socks5
最近windows上需要配置全局代理 走 socks5,发现同类型的有 cow pcap 等解决方案,通过尝试发现还是proxifier 比较好用! 下载:https://www.proxifier. ...
随机推荐
- Optional源码分析(涉及Objects源码和Stream源码)
研究Optional源码之前先谈一谈Objects源码. 主要代码: @ForceInline public static <T> T requireNonNull(T obj) { if ...
- MVC:开发模式
1.jsp演变历史 1.早期只有servlet,只能使用response输出标签数据,非常麻烦. 2.后来有了jsp,简化了Servlet的开发,如果过度使用jsp中即写大量的Ja ...
- C#_Win32_PInvoke源码生成器
介绍 一个源代码生成器,用于向 C#项目添加一组用户定义的 Win32 P/Invoke 方法和相关的类型. 链接地址: https://github.com/microsoft/CsWin32 还在 ...
- 基于python人脸识别考勤系统(语音播报)
介绍: 本项目是大二寒假在家没事写的,一直没有时间讲本项目分享出来,现在有时间了哈.那就让我简单的将项目介绍一下吧.好了废话不多说了,直接上图 初始化界面: 可以看到所有的功能都展现在了左边的功能栏中 ...
- MySQL运维6-Mycat垂直分库
一.垂直分库场景 场景:在业务系统中,涉及一下表结构,但是由于用户与订单每天都会产生大量的数据,单台服务器的数据存储以及处理能力是有限的,可以对数据库表进行拆分,原有数据库如下 说明1:整个业务系统中 ...
- lower_bound() upper_bound()函数
转自http://blog.csdn.net/niushuai666/article/details/6734403 函数lower_bound()在first和last中的前闭后开区间进行二分查找, ...
- Python——第二章:列表的增、删、改、查
列表的添加 .append() lst = [] # 向列表末尾添加内容 # append() 追加 lst.append("张绍刚") lst.append("赵本山& ...
- 云MSP服务案例丨某知名制造集团的Oracle RAC部署实践
简介: 随着DT时代到来,移动互联网.物联网开始高速发展,更多的企业意识到了数据库架构选型对业务发展的重要性,如何管理和利用好数据已经变得越来越重要.Oracle作为世界上目前最流行的关系型数据库管理 ...
- 记一次 .NET某收银软件 非托管泄露分析
一:背景 1. 讲故事 在我的分析之旅中,遇到过很多程序的故障和杀毒软件扯上了关系,有杀毒软件导致的程序卡死,有杀毒软件导致的程序崩溃,这一篇又出现了一个杀毒软件导致的程序非托管内存泄露,真的是分析多 ...
- zabbix_agent配置文件
agent常用参数 : [root@jqebsdb zabbix]# cat zabbix_agentd.conf | grep -v ^$ | grep -v ^# PidFile=/var/ru ...