redsocks 将socks代理转换成全局代理
redsocks 需要手动下载编译。前置需求为libevent组件,当然gcc什么的肯定是必须的。
获取源码 git clone https://github.com/darkk/redsocks
安装 libevent 组件 centos 下 yum install libevent libevent-devel -y
编译完,拷贝到/sbin 目录下,修改配置文件
vim /etc/redsocks/redsocks.conf
base{
log_debug = on;
log_info = on;
// 日志文件地址
log = "file:/var/log/redsocks.log";
daemon = on;
redirector = iptables;
user = nobody;
group = nobody;
}
redsocks {
//本地redsocks要监听的地址和端口 地址可以为0.0.0.0 即监听本地所有网卡ip
local_ip = 192.168.200.167;
local_port = 31338;
//socks地址和端口
ip = 192.168.200.167;
port = 9988;
type = socks5;
}
启动:
/sbin/redsocks -c /etc/redsocks/redsocks.conf &
查看监听端口:
ss -lntp|more
配置iptables
这里提供两个配置,第一个是基于黑名单的配置,就是说除了指定的ip地址以外,所有数据包通过redsocks转发:
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -o lo -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-port 31338
iptables -t nat -I PREROUTING -p tcp -j REDSOCKS
第二个是基于白名单的配置,就是说指定的ip地址才会经过redsocks转发:
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-port 31338
iptables -t nat -I PREROUTING -p tcp -d 172.30.0.0/16 -j REDSOCKS
修改 iptables 时请注意配置
可以直接修改 iptables 配置文件 /etc/sysconfig/iptables
举例,添加以下nat表设置
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-N REDSOCKS
-A REDSOCKS -p tcp -j REDIRECT --to-port 31338
-I PREROUTING -p tcp -d 50.28.87.153/32 -j REDSOCKS
COMMIT
重启 iptables 服务
将内核转发打开,再将其他机器通过路由将某 ip 或某 ip 段的流量通过该机器转发至 socks 代理。
ps: redsocks 只能转发 tcp 流量
本博文主要基于该贴,http://bbs.konotes.org/thread-5089-1-1.html
redsocks 将socks代理转换成全局代理的更多相关文章
- 将 Tor socks 转换成 http 代理
你可以通过不同的 Tor 工具来使用 Tor 服务,如 Tor 浏览器.Foxyproxy 和其它东西,像 wget 和 aria2 这样的下载管理器不能直接使用 Tor socks 开始匿名下载,因 ...
- jdk动态代理与cglib代理、spring aop代理实现原理
原创声明:本博客来源与本人另一博客[http://blog.csdn.net/liaohaojian/article/details/63683317]原创作品,绝非他处摘取 代理(proxy)的定义 ...
- jdk动态代理与cglib代理、spring aop代理实现原理解析
原创声明:本博客来源为本人原创作品,绝非他处摘取,转摘请联系博主 代理(proxy)的定义:为某对象提供代理服务,拥有操作代理对象的功能,在某些情况下,当客户不想或者不能直接引用另一个对象,而代理对象 ...
- 何为代理?jdk动态代理与cglib代理、spring Aop代理原理浅析
原创声明:本博客来源为本人原创作品,绝非他处摘取,转摘请联系博主 代理(proxy)的定义:为某对象提供代理服务,拥有操作代理对象的功能,在某些情况下,当客户不想或者不能直接引用另一个对象,而代理对象 ...
- jdk动态代理与cglib代理、spring Aop代理原理-代理使用浅析
原创声明:本博客来源为本人原创作品,绝非他处摘取,转摘请联系博主 代理(proxy)的定义:为某对象提供代理服务,拥有操作代理对象的功能,在某些情况下,当客户不想或者不能直接引用另一个对象,而代理对象 ...
- redsocks 设置全局代理
分享一下我的经验, http://lilydjwg.is-programmer.com/2014/2/7/linux-really-global-http-proxy.42701.html 1. 优点 ...
- proxifier配合ss,实现全局代理
proxfixer配合ss的话,基本可以实现全局代理,分应用代理,或者玩外服的游戏(一般的游戏默认不走代理,本软件可以强制应用代理) 由于ss使用的是sockets5代理,一般情况下只有浏览 ...
- Linux利用iptables实现真-全局代理
对于经常要浏览油管等被墙网站的人而言,利用代理来实现fq是非常有必要的.现在fq的方法中,最为主流的应该要数ssr了,因此本教程都是基于ssr的socks5代理而言的. 在windows中,ssr客户 ...
- Linux/CentOS设置全局代理(http)
说明:为什么说是http代理,其实这个还不能说是全称走代理,罪名写的区别就是ICMP协议这个设置就无效,只能说是90%的应用都可以使用这个设置来实现代理访问,只有个别不行,比如一些软件根本不走http ...
随机推荐
- paper 128:奇异值分解(SVD) --- 线性变换几何意义[转]
PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理问题,简单形象,真 ...
- 【003:switch 不加 break的结果
#include <stdio.h> int main(){ char ch = 's'; switch(ch){ case 'a':{ printf("aaaaa") ...
- xshell5激活
Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户能轻松和安全地从Windows PC上访问Unix/Linux主机.以上内容全部为广告 ...
- java获取文件的md5值
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- DP专题训练之HDU 1864 最大报销额
做DP一定要注意数组的大小,嗯,就是这样~ Description 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过10 ...
- stack栈
栈(statck)这种数据结构在计算机中是相当出名的.栈中的数据是先进后出的(First In Last Out, FILO).栈只有一个出口,允许新增元素(只能在栈顶上增加).移出元素(只能移出栈顶 ...
- linux下打开、关闭tomcat,实时查看tomcat运行日志
启动:一般是执行sh tomcat/bin/startup.sh 停止:一般是执行sh tomcat/bin/shutdown.sh脚本命令 查看:执行ps -ef |grep tomcat 输出如下 ...
- SqlBulkCopy批量添加数据
var sqlconn = ConfigurationManager.ConnectionStrings["SQLConnStringRead"].ConnectionString ...
- Silverlight安装成功后,提示安装
Silverlight安装成功后,提示安装. 解决方法1: 刷新浏览器,重新打开. 解决方法2: 打开>控制面板>添加删除程序>找到Sliverlight那个,卸载它就对了,那些 S ...
- javax.crypto.BadPaddingException: Given final block not properly padded
一.报错 写了一个加密方法,在Windows上运行没有问题,在Linux上运行时提示如下错误: javax.crypto.BadPaddingException: Given final block ...