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