選linux系統的主機做Proxy 伺服器,他不需要主機效能配置多高,他可以是你公司裡最爛的機器(那也總該有塊網卡吧,有兩個的最好,一塊的話也可以,你只要在他上面綁2個IP,一個是外網IP,一個就是你內網的啦),但是你把他配置成Proxy 伺服器一樣能發揮出很高的效能,當然他只負責這個服務。做法就是:在那台最爛的機子上要最小安裝linux,只選擇squid服務安裝。
安裝了squid 服務首先要初始化他 用命令 squid -z
然後就要啟動代理服務,vi /etc/squid/squid.conf(編輯squid服務的主設定檔),將設定檔裡的 cache_dir ufs /var/spool/squid 100 16 256 這一行的注釋去掉,將1944 1945行的注釋也去掉,並且修改那裡的IP,改為要代理的內網IP。修改完了儲存退出。
最後啟動服務就OK了 service squid start
通過以上步驟基本上一個簡單的Proxy 伺服器就搭建好了。
如果想進行一下存取控制,那也很容易做到,還是要 vi /etc/squid/squid.conf 在大約8000行左右的是配置存取控制的模版,你只要照貓畫虎就可以了。舉個簡單的例子,你不想讓員工在某段時間裡上網,你可以做以下操作:在主設定檔裡添加 acl worktime time 9:00-12:00
http_access worktime deny
service squid restart
這樣他們在9:00-12:00就不能上網了,是不是很簡單。
有人說:通過代理上網還要在自己的瀏覽器裡輸入Proxy 伺服器的IP和連接埠,太不方便了。linux就能幫你解決這個困擾,就是設定透明代理,設定好了之後,用戶端就不用設定瀏覽器的代理配置了。做法如下:
在主設定檔裡 把 http_port 3128
http_accel_port 80
http_accel_with_proxy on
http_accel_uses_host_header on 這幾行的注釋去掉
再添加一行 http_accel_host virtual (如果有這一行,就不用加了,直接去掉他的注釋)
然後重啟服務 service squid restart
開啟路由轉寄 echo 1 > /proc/sys/net/ipv4/ip_forward
執行連接埠重新導向 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
客戶機將預設閘道指向Proxy 伺服器的IP就可以了。
用linux 做伺服器,還有個很重要的優點:速度快,穩定不容易受攻擊,不容易down機。
好了,關於用linux 做Proxy 伺服器就先說這麼多了,還有很多好的設定,就需要我們自己去摸索,自己去實踐啦