標籤:redsocks2 iptables ubuntu
redsock2 可以把一些不支援透明代理的Proxy 伺服器重新導向一下,這樣可以實現透明代理了
redsock2安裝很簡單直接make就可以了,
ubuntu需要
apt-get intsll libevent-2.0-5 libssl-dev
安裝完成後,直接把 redsocks2 複製到相關目錄即可。
我這用它做網關, 然後測試了一下,http 和 https 不能一起走,要分開
#http.conf
base { log_debug = off; log_info = off; daemon = on; redirector= iptables;}redsocks { local_ip = 192.168.1.1; local_port = 1080; #https.conf 用的 1081 ip = 192.168.1.1; port = 8787; type = http-relay; #https.conf 用的 http-connect timeout = 12; autoproxy = 1;}autoproxy { no_quick_check_seconds = 0;}ipcache { cache_size = 4; cache_file = "/home/user/conf/cache.http"; stale_time = 7200; autosave_interval = 3600; port_check = 1;}
另外網關還做了DNAT用了這個後發現沒辦法開放連接埠了。然後再添加一個配置
direct.conf
base { log_debug = off; log_info = off; daemon = on; redirector= iptables;}redsocks { local_ip = 192.168.1.1; local_port = 1090; interface = eth0; type = direct; timeout = 1; autoproxy = 0; #這裡就關閉自動代理了,這裡的IP都是直接允許存取的.}
相關iptables 設定
#!/bin/bashiptables-restore</etc/network/iptables.up.rulesiptables -t nat -N RSHTTPSiptables -t nat -A RSHTTPS -o lo -j RETURNiptables -t nat -A RSHTTPS -d 0.0.0.0/8 -j RETURNiptables -t nat -A RSHTTPS -d 10.0.0.0/8 -j RETURNiptables -t nat -A RSHTTPS -d 127.0.0.0/8 -j RETURNiptables -t nat -A RSHTTPS -d 169.254.0.0/16 -j RETURNiptables -t nat -A RSHTTPS -d 172.16.0.0/12 -j RETURNiptables -t nat -A RSHTTPS -d 172.17.0.0/12 -j RETURNiptables -t nat -A RSHTTPS -d 192.168.0.0/16 -j RETURNiptables -t nat -A RSHTTPS -d 224.0.0.0/4 -j RETURNiptables -t nat -A RSHTTPS -d 240.0.0.0/4 -j RETURNiptables -t nat -A RSHTTPS -p tcp -j REDIRECT --to-port 1081iptables -t nat -I PREROUTING -p tcp --dport 443 -j RSHTTPS#iptables -t nat -I PREROUTING -p udp -j RSHTTPSiptables -t nat -N RSHTTPiptables -t nat -A RSHTTP -o lo -j RETURNiptables -t nat -A RSHTTP -d 0.0.0.0/8 -j RETURNiptables -t nat -A RSHTTP -d 10.0.0.0/8 -j RETURNiptables -t nat -A RSHTTP -d 127.0.0.0/8 -j RETURNiptables -t nat -A RSHTTP -d 169.254.0.0/16 -j RETURNiptables -t nat -A RSHTTP -d 172.16.0.0/12 -j RETURNiptables -t nat -A RSHTTP -d 172.17.0.0/12 -j RETURNiptables -t nat -A RSHTTP -d 192.168.0.0/16 -j RETURNiptables -t nat -A RSHTTP -d 224.0.0.0/4 -j RETURNiptables -t nat -A RSHTTP -d 240.0.0.0/4 -j RETURNiptables -t nat -A RSHTTP -p tcp -j REDIRECT --to-port 1080iptables -t nat -I PREROUTING -p tcp --dport 80 -j RSHTTPiptables -t nat -N RSDIRECTiptables -t nat -A RSDIRECT -p tcp -j REDIRECT --to-port 1090iptables -t nat -I PREROUTING -p tcp -d 208.67.220.220 -j RSDIRECT#下面這條不添加,外網沒辦法串連到內網的相關IPiptables -t nat -I PREROUTING -p tcp -s 192.168.1.12 --sport 3389 -j RSDIRECTpkill redsocks2redsocks2 -c /home/user/conf/http.confredsocks2 -c /home/user/conf/https.confredsocks2 -c /home/user/conf/direct.conf
redsocks2 自動代理設定