安装redsocks
代码库redsocks,直接clone到本地。
前置条件:安装libevent和build-essential。
进入clone的目录,直接输入make命令编译,只要不是错误,警告消息可以忽略。在目录下会出现一个redsocks的可执行文件。
redsocks配置
在目录下新建一个配置文件redsocks.conf
,目录下有个叫redsocks.conf.example
的全量配置文件,复制它的内容到redsocks.conf
,然后修改之,以下把很多注释的东西删除了,改动的地方已标明。
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
| base { log_debug = off; log_info = on; daemon = off; redirector = iptables; }
redsocks { local_ip = 127.0.0.1; local_port = 12345; <= 这端口试tcp监听端口
ip = 127.0.0.1; <= socks5 服务地址 port = 1081; <= socks5 服务端口
type = socks5; <= 一般都是 socks5 (ss, tro..) }
redudp { local_ip = 127.0.0.1; local_port = 10053; <= 这端口试udp监听端口
ip = 127.0.0.1; <= socks5 服务地址 port = 1081; <= socks5 服务端口
// login = username; <= 无需登录信息,删除 // password = pazzw0rd; <= 同上
dest_ip = 8.8.8.8; dest_port = 53;
udp_timeout = 30; udp_timeout_stream = 180; }
dnstc { local_ip = 127.0.0.1; local_port = 5300; }
dnsu2t { local_ip = 127.0.0.1; local_port = 5313;
remote_ip = 8.8.8.8; remote_port = 53; }
|
启动redsocks
输入./redsocks
运行,默认读取目录下的redsocks.conf
,也可后台启动,自行配置。
iptables配置
启动防火墙sudo ufw enable
,新建以下防火墙脚本,运行后即可全局上,建议先iptables-save > /etc/iptables.rules
保存修改前的防火墙,用完后可恢复iptables-restore /etc/iptables.rules
。
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
| #!/bin/bash
iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d xxx.xxx.xxx.xxx -j RETURN iptables -t nat -A REDSOCKS -d 127.0.0.1 -j RETURN iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS -d 100.64.0.0/10 -j RETURN iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN iptables -t nat -A REDSOCKS -d 198.18.0.0/15 -j RETURN iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS iptables -t nat -A PREROUTING --in-interface enp3s0 -p tcp -j REDSOCKS
|