一些 web ok list, 避免 proxy log 過大

由於 proxy 有做認証控管,如果一些程式不支援認証 proxy 就會塞滿一堆被 deny 的 log

以下為目前看到的清單
crl.adobe.com
ex. http://crl.adobe.com/aum.crl

liveupdate.symantecliveupdate.com
ex http://liveupdate.symantecliveupdate.com/liveupdate_3.3.0.69_chinese_livetri.zip

java.sun.com
ex http://java.sun.com/update/1.6.0/map-1.6.0.xml
http://java.sun.com/update/1.6.0/1.6.0_12-b04.xml

swupmf.adobe.com
ex. http://swupmf.adobe.com/manifest/50/win/reader8rdr-en_US.upd
http://swupmf.adobe.com/manifest/50/win/AdobeUpdater.upd

Connect 方式
desktop2.google.com:443

廣告

Squid – 透過 proxy 無法 SVN Commit

使用者透過 Proxy 無法做 SVN Commit

出現下面錯誤訊息
Commit
Commit failed (details follow):
Server sent unexpected return value (400 Bad Request) in response to MKACTIVITY
request for 『/svn/mstar/!svn/act/6c6b0d3e-111a-5f4e-bd9a-f24d71d4de02′

解法:

很簡單, 只是 Squid 看不懂 request method

vi /etc/squid/squid.conf

extension_methods REPORT MERGE MKACTIVITY CHECKOUT PROPFIND

Squid 除錯 – storeSwapOutFileClosed: dirno 1, swapfile 000XXXX, errflag=FFFFFFFF

在 Squid cache.log 看到這個 log 乍看之下以為是 檔案壞掉

2009/12/31 12:44:35| storeSwapOutFileClosed: dirno 1, swapfile 0006DAFB, errflag=FFFFFFFF

經追查結果應該是檔案目錄結構壞掉,無法寫入所致。

把 cache 目錄重新 format 一次再重新建 cache 目錄即可。

Squid 3.1 與 Ubuntu 9.10 – Compile Issue

若用 Ubuntu 9.10 由於 Kernel 已經用到 2.6.31

在 compile 要 squid-3.1.0.15 才不會有問題

用過 squid-3.1.0.8 , squid-3.1.0.13 都不行

0. 先安裝 compiler 相關工具 build-essential
我有用 ldap 所以也要安裝
apt-get install build-essential libssl-dev libldap2-dev

1. tar zxvf squid-3.1.0.15.tar.gz
cd squid-3.1.0.15

vi build.sh
./configure –prefix=/home/squid \
–mandir=/usr/local/man \
–enable-snmp \
–enable-htcp \
–enable-gnuregex \
–enable-dlmalloc \
–enable-referer-log \
–enable-async-io=160 \
–enable-useragent-log \
–enable-cache-digists \
–enable-cpu-profiling \
–enable-kill-parent-hack \
–enable-removal-policies \
–enable-xmalloc-statistics \
–enable-default-err-language=Traditional_Chinese \
–enable-basic-auth-helpers="LDAP" \
–enable-external-acl-helpers="ldap_group" \
–enable-storeio=diskd,ufs \
–with-filedescriptors=4096 \
–with-maxfd=16384 \
–enable-ssl

sh build.sh
make && make install

新版 msn 無法用 squid proxy 連線

新版 MSN 一推出,同事的 MSN 都被打掛不能使用。當天真的很慘, MIS 的電話幾乎被打爆。

昨天重新在 review fail log ,忽然找到原因了。

不能連線的原因是出在若使用者某一台電腦是第一次登入 MSN , MSN 會去取連絡人清單等資料,但由於 MSN 有 BUG,當他在用 SSL 連線取得連絡人清單時,並不會把 LDAP 的 帳號帶過去,所以連線被視為非法連線被 Proxy 拒絕掉。
現在只要讓這些網站的 SSL Connection 可以過, MSN 連線就會正常。

squid.conf example

### for new msn messenger
acl msn_ssl dstdomain .contacts.msn.com .storage.msn.com
http_access allow msn_ssl CONNECT

Squid 語音封鎖

收集一些語音播放的網址

如果有需要在公司檔線上收聽音樂 可以參考
Video 播放暫時還沒有阻擋的計畫 故不在此篇範圍

用 Google 搜尋一下 關鍵字可以用 “src player .swf"
發現很多網站使用 ….player.swf
如果只檔 player.swf 是可以擋掉七八成以上

http://pic.wretch.cc/icon/mp3player.swf?config=http://l.yimg.com/wretch.yimg.com/icon/mp3player.xml
http://pic.wretch.cc/photos/serv/video/video_player/BGMusicPlayer.swf

http://l.yimg.com/wretch.yimg.com/photos/icon/WretchFLVPlayer.swf

http://l.yimg.com/wretch.yimg.com/photos/serv/video/video_player/WretchPlayer.swf

http://l.yimg.com/wretch.yimg.com/photos/serv/video/video_player/BGMusicPlayer.swf

http://vlog.xuite.net/vlog/guest/external.php?media_id=$1=&pt=0&ar=0&as=0″

squid – 使用 tempfs (RAM) 加速法

在大陸網站看到有人用 Memory 當 squid 的 cache_dir 效果不錯。自己試用之後真的非常快,只要開過的網頁再開,簡直可以說是"秒"殺,真的非常快。

只不過當 Ramdisk 使用快要滿了,在下載比較大的檔案會變的很慢,目前還在研究問題的原因。

0. cache_dir 的決定
通常是以主機記憶體大小的三分之一,例如記憶體 1G 則 cache_dir 大約 300M,如果記憶體剩餘的比較多,可能可以到二分之一。這個大小,可以依造執行的狀況,再調整。

1. 設定 tmpfs
有兩種方式
a. 在 /etc/fstab 加入
none /var/spool/squid tmpfs defaults,size=320M 0 0

b. 以指令方式建立
mount -t tmpfs -o size=320m none /var/spool/squid

有些人是用和 /tmp 綁定,目前我尚未使用所以無法評論,有空我實做後再把結論寫出來。

2. squid.conf.mem 設定
通常我會保留把原始設定保留起來,所以另外寫一個 squid.conf.mem 方便切換
cp /etc/squid/squid.conf.stand
舊的 squid.conf 複製一份為 squid.conf.stand
vi /etc/squid/squid.conf.mem

cache_mem 8
cache_dir ufs /var/spool/squid 320 8 256
cache_swap_low 85
cache_swap_high 95

說明:
cache momery 建議不要太大,預設是 8M ,這個大小已經足夠 1G 的 cache object使用,加上我們的 cache_dir 只有 320M。cache_dir 之前上面說明設定為 320 M。

有很多網站不管記憶體多少都將第一層目錄設成 16 這是錯的。應該是有人看到範例就直接抄過來,只改記憶體大小,後面兩個數字就直接照抄,完全不知道這個數字是怎麼來的。
cache_dir ufs /tmp 256 16 256

3. 啟動 script

為了啟動及關閉方便,寫了兩個 Script ,如果有機會,我再合併成一支執行。
vi startSquidMem.sh

#!/bin/sh

mount -t tmpfs -o size=320m none /var/spool/squid
chown squid:squid /var/spool/squid
mount /var/spool/squid
cp /etc/squid/squid.conf.mem /etc/squid/squid.conf
#squid -z
#建立 cache_dir, 不過現在的 /etc/init.d/squid 會檢查,如果沒有做會自己做)
/etc/init.d/squid start

vi stopSquidMem.sh
#!/bin/sh

/etc/init.d/squid stop
# 復原設定
cp /etc/squid/squid.conf.stand /etc/squid/squid.conf

squid NTLM 認證效能(未完)

ttl 請勿設太短 以免增加認證次數
external_acl_type nt_group ttl=3600 concurrency=20 %LOGIN
/usr/squid/libexec/wbinfo_group.pl
http://www.squid-cache.org/mail-archive/squid-users/200506/0757.html

squid – 產生 sarg 的使用者名單

是這樣的 我要產生一個名單給 sarg 當作 使用者名單
好可以將 sarg 產出報表時根據這份名單把 工號 username 會變成帶有中文名

下面我是在 linux 去撈我們 AD 的工號及姓名
有需要的人可以參考一下 結果會大致如下
P0001 P0001 林大民

#!/bin/sh
net ads search “(&(sAMAccountName=P*)(objectclass=user))" sAMAccountName cn -U帳號%密碼 | grep -v “Got " |c
ut -d: -f2|paste -d" " – – -| awk ‘{print $2,$2,$1}’ | grep P[0-9] | tr [:upper:] [:lower:] | sort > userlist

paste -d" " – – –
這是把三合併成一行

grep -v “Got" 這是濾掉 net ads search 出來
會有一行 Got XXX replies

awk ‘{print $2,$2,$1}’
將輸出結果 “林大民 P0001″ 改成 “P0001 P0001 林大民"

tr [:upper:] [:lower:] — 大寫轉小寫
proxy 裡的工號是小寫 所以將原本的大寫轉小寫

squid 安裝 – sarg 設定

1. Compile Sarg

# cd /usr/local/src
# tar -xvf sarg-2.2.3.1.tar.gz
# cd sarg-2.2.3.1
# ./configure –sysconfdir=/etc/sarg

# vi /etc/httpd/conf.d/sarg.conf

2. Setting Web Dir for Sarg
Alias /sarg /var/www/html/sarg

DirectoryIndex index.html
AllowOverride AuthConfig
#AuthType Basic
#AuthUserFile /var/www/html/sarg/.htaccess
#order deny,allow
#deny from all
#allow from 127.0.0.1

# cd /etc/squid/script
# wget http://www.initzero.it/products/opensource/sarg-reports/download/sarg-report
# mv sarg-report sarg-report.sh
# vi sarg-report sarg-report.sh
請改下面改成你需要的

HTMLOUT=/var/www/html/sarg — sarg 網頁的目錄
LOGOIMG= Sarg 首頁 LOGO 網址
LOGOLINK=網址
DAILY=Daily — Daily Report 的目錄名稱
WEEKLY=Weekly – Weekly Report 的目錄名稱
MONTHLY=Monthly — Monthly Report 的目錄名稱