redsocks使用,实现全局代理
配置文件,配置文件参考
base {
// debug: connection progress & client list on SIGUSR1
log_debug = on;
// info: start and end of client session
log_info = on;
log = stderr;
daemon = off;
redirector = iptables;
}
redsocks {
local_ip = 192.168.8.1; // 执行本脚本的路由器内网地址
local_port = 12344;
ip = www.leng2011.icu; // 服务器地址
port = 6082;
// known types: socks4, socks5, http-connect, http-relay
type = socks5;
}
运行
redsocks -c ./redsocks.conf
转发规则,注意修改之前需要先清除
# 清除
iptables -t nat -F
# 创建REDSOCKS规则
iptables -t nat -N REDSOCKS
# 跳过所有的内网IP以及116.204.106.129 外网服务器的地址
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 -d 116.204.106.129/32 -j RETURN
# 其他全部转发
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12344
# 最重要的,均经过REDSOCKS链的判定处理:
iptables -t nat -A PREROUTING -p tcp -j REDSOCKS
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
# 查看nat表的规则
iptables -L -t nat|grep REDIRECT
# REDIRECT tcp -- anywhere anywhere redir ports 12344
# 推荐都写到一个脚本里面手动执行
iptables -t nat -F && \
iptables -t nat -N REDSOCKS && \
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 -d 116.204.106.129/32 -j RETURN && \
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12344 && \
iptables -t nat -A PREROUTING -p tcp -j REDSOCKS && \
iptables -t nat -A OUTPUT -p tcp -j REDSOCKS