redsock2 可以把一些不支持透明代理的代理服务器重定向一下,这样可以实现透明代理了
redsock2安装很简单直接make就可以了,
ubuntu需要
1
|
apt-get intsll libevent-2.0-5 libssl-dev
|
安装完成后,直接把 redsocks2 复制到相关目录即可。
我这用它做网关, 然后测试了一下,http 和 https 不能一起走,要分开
redsocks2 配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
base {
log_debug = off;
log_info = off;
daemon = on;
redirector= iptables;
}
redsocks {
local_ip = 192.168.1.1;
local_port = 1080;
ip = 192.168.1.1;
port = 8787;
type
= http-relay;
timeout = 12;
autoproxy = 1;
}
redsocks {
local_ip = 192.168.1.1;
local_port = 1081;
ip = 192.168.1.1;
port = 8787;
type
= http-connect;
timeout = 12;
autoproxy = 1;
}
redsocks {
local_ip = 192.168.1.1;
local_port = 1090;
interface = eth0;
type
= direct;
#主要用来解决NAT问题,让WAN可以访问到LAN
timeout = 1;
autoproxy = 0;
}
autoproxy {
no_quick_check_seconds = 300;
quick_connect_timeout = 2;
}
ipcache {
cache_size = 4;
cache_file =
"/home/user/conf/cache.ip"
;
stale_time = 7200;
autosave_interval = 3600;
port_check = 1;
}
|
相关iptables 设置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/bin/bash
iptables-restore<
/etc/network/iptables
.up.rules
iptables -t nat -N RSHTTPS
iptables -t nat -A RSHTTPS -o lo -j RETURN
iptables -t nat -A RSHTTPS -d 0.0.0.0
/8
-j RETURN
iptables -t nat -A RSHTTPS -d 10.0.0.0
/8
-j RETURN
iptables -t nat -A RSHTTPS -d 127.0.0.0
/8
-j RETURN
iptables -t nat -A RSHTTPS -d 169.254.0.0
/16
-j RETURN
iptables -t nat -A RSHTTPS -d 172.16.0.0
/12
-j RETURN
iptables -t nat -A RSHTTPS -d 172.17.0.0
/12
-j RETURN
iptables -t nat -A RSHTTPS -d 192.168.0.0
/16
-j RETURN
iptables -t nat -A RSHTTPS -d 224.0.0.0
/4
-j RETURN
iptables -t nat -A RSHTTPS -d 240.0.0.0
/4
-j RETURN
iptables -t nat -A RSHTTPS -p tcp -j REDIRECT --to-port 1081
iptables -t nat -I PREROUTING -p tcp --dport 443 -j RSHTTPS
iptables -t nat -N RSHTTP
iptables -t nat -A RSHTTP -o lo -j RETURN
iptables -t nat -A RSHTTP -d 0.0.0.0
/8
-j RETURN
iptables -t nat -A RSHTTP -d 10.0.0.0
/8
-j RETURN
iptables -t nat -A RSHTTP -d 127.0.0.0
/8
-j RETURN
iptables -t nat -A RSHTTP -d 169.254.0.0
/16
-j RETURN
iptables -t nat -A RSHTTP -d 172.16.0.0
/12
-j RETURN
iptables -t nat -A RSHTTP -d 172.17.0.0
/12
-j RETURN
iptables -t nat -A RSHTTP -d 192.168.0.0
/16
-j RETURN
iptables -t nat -A RSHTTP -d 224.0.0.0
/4
-j RETURN
iptables -t nat -A RSHTTP -d 240.0.0.0
/4
-j RETURN
iptables -t nat -A RSHTTP -p tcp -j REDIRECT --to-port 1080
iptables -t nat -I PREROUTING -p tcp --dport 80 -j RSHTTP
iptables -t nat -N RSDIRECT
iptables -t nat -A RSDIRECT -p tcp -j REDIRECT --to-port 1090
iptables -t nat -I PREROUTING -p tcp -d 208.67.220.220 -j RSDIRECT
#不加下面这条,没办法WAN网连接进来
iptables -t nat -I PREROUTING -p tcp -s 192.168.1.2 --sport 3389 -j RSDIRECT
pkill redsocks2
redsocks2 -c
/home/tool/conf/red
.conf
|
还有另一个叫 cow 的软件也可以实现类似效果。功能上更加强点。
本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1787673,如需转载请自行联系原作者