ubuntu 共享WIFI並分享主機的代理服務


背景是這樣的:

公司內的主機訪問外網需要通過一個HTTP代理服務器,主機ubuntu共享wifi給手機使用的時候需要在手機上配置一個代理才能訪問互聯網。

我覺得這樣比較麻煩,所以想在主機上直接把共享wifi數據轉發到HTTP代理,不用在手機上配置代理了。

解決方案:

安裝一個redsocks,這個是在tcp層的代理,我把wifi的數據轉發給它,再由它轉給代理服務器privoxy

iptables -t nat -N REDSOCKS
iptables -t nat -A PREROUTING -i wlp3s0 -p tcp -j 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 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 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-port 2001

 這個iptables的設置表需要解釋一下,如果你本機的地址不是192.168.0.0/16,比如你的地址是11.2.3.33,你需要再添加一條語句,不加你本機上不了網。

iptables -t nat -A REDSOCKS -d 11.2.0.0/16 -j RETURN

  

 redsocks的配置如下:

base {
	log_info = on;
	log = "file:/var/log/redsocks.log";
	daemon = on;
	redirector = iptables;
}
redsocks {
	local_ip = 0.0.0.0;
	local_port = 12345;
	ip = 127.0.0.1;
	port = 1080;
	type = socks5;
}

  我其實是通過socks5代理跑出去的,socks5代理外面再包一個proxychain,用於穿過公司的http代理服務器。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM