iptables设置Linux全局代理

original url:http://www.2cto.com/os/201504/395181.html

一般用Linux的话都是用全局代理都是用http_proxy以及https_proxy这两个环境环境变量来实现的, 但是缺点是这种方式并不是真正的全局代理, 即使设置了代理的话,对于某些应用还是无效的,比如w3m,而且这种方式并不支持socks协议.

我在实验室环境使用shadowsocks作为代理用来访问外网, 没有用来翻墙,原因是个人感觉shadosocks比其他socks软件好部署,虽然加密损失点性能,但是table加密那点计算量也不算什么.在windows环境的话用proxifity就可以很好得解决全局代理的问题,在Linux上,上面也说了,确实是一件比较麻烦的事情.

shadowsocks的服务器端就不介绍了, 推荐安装C with libev版本, 这个版本包含了ss-server ss-redir ss-local ss-tunnel,其他版本貌似没有实现本文功能的ss-redir. 除了ss-server是作为服务端的,其余三个都是做作为客户端的.ss-redir是用来做透明代理的, ss-local是做本地socks5代理的, ss-tunnel是做隧道的(这个目前还不知道实际的用途). 本文要说的就是用ss-redir配合Linux强大的iptable来实现全局代理.

下面以ubuntu14.04的环境来介绍

# cat juli-start-iptables.sh 
#!/bin/sh
#创建一个叫SOCKS的链
 
iptables -t nat -N SOCKS
 
#忽略服务器的地址,如果不属于内网IP的话一定要注意加上.
 
#其实下面这句可以省略的, 因为它属于172.16.0.0/12
 
iptables -t nat -A SOCKS -d 172.23.45.19 -j RETURN
 
# 忽略本地地址
 
iptables -t nat -A SOCKS -d 0.0.0.0/8 -j RETURN
 
iptables -t nat -A SOCKS -d 10.0.0.0/8 -j RETURN
 
iptables -t nat -A SOCKS -d 127.0.0.0/8 -j RETURN
 
iptables -t nat -A SOCKS -d 169.254.0.0/16 -j RETURN
 
iptables -t nat -A SOCKS -d 172.16.0.0/12 -j RETURN
 
iptables -t nat -A SOCKS -d 192.168.0.0/16 -j RETURN
 
iptables -t nat -A SOCKS -d 224.0.0.0/4 -j RETURN
 
iptables -t nat -A SOCKS -d 240.0.0.0/4 -j RETURN
 
# Anything else should be redirected to shadowsocks's local port
 
#除上面之外的所有流量都跳转到socks的本地端口(local_port),这里使用shadosock默认端口1080
 
iptables -t nat -A SOCKS -p tcp -j REDIRECT --to-ports 1080
 
# 最后是应用上面的规则,将OUTPUT出去的tcp流量全部经过SOCKS链
 
#如果是在openwrt上实现透明代理的话,使用下面被注释了的规则
 
iptables -t nat -A PREROUTING -p tcp -j SOCKS
iptables -t nat -A PREROUTING -p udp -j SOCKS
iptables -t nat -A PREROUTING -p icmp -j SOCKS
 
#iptables -t nat -A OUTPUT -p tcp -j SOCKS

可以将这段脚本保存为一个sh,加入开机自启

将防火墙规则加入系统后,启动ss-redir,其实两者顺序调换了也无所谓

#ss-redir -c /etc/shadosocks.json

shadosocks.json的内容和设置ss-local是一致的.shadosocks的好处是server/client共用一套配置.shadosocks官网即使对客户端服务器有分类, 但是客户端只是服务器端的一个子集,所以推荐用服务器的版本.

经过这样一番设置的话, 本机的所有tcp流量都会经过代理机器出去了,目前ss-redir不知处udp转发.

阅读更多
想对作者说点什么? 我来说一句
相关热词

没有更多推荐了,返回首页

关闭
关闭
关闭