發表文章

Cisco ASA5505 site-to-site VPN 設定筆記

以前用過PIX 6.3,ASA 7.0,因為最近有擴點的需求,買了一顆ASA5505 ASA 8.4(1),要用來做site-to-site VPN;這才發現新版本(8.4)有一些改變: 1. NAT的設定方式及其指令 2. IKE多了一個version2的功能 設定過程: 1. 先使用ASDM連上ASA5505, 使用其wizard的site-to-site vpn設定功能, 填入資料再按下一步, 直到完成。 2. 兩個LAN各放一台電腦, 互相ping, 結果不會通。 3. 打開buffered log, 發現一個訊息:Asymmetric NAT rules matched for forward and reverse flows; Connection for icmp src Outside xxxxxxxxxxx denied due to NAT reverse path failure. 4. 因此我覺得是NAT的問題,所以找到NAT的設定,發現預設有一條全部轉址的規則;突發奇想,將該規則刪除。結果就通了。 5. 之後再設定任何轉址規則,都會使site-to-site vpn斷線。研究了一下發現是以前版本的NAT 0設定, wizard並沒有幫我們產生!所以自己加入一條NAT Identity, 並加入PAT的設定。 6. site-to-site vpn和NAT轉址功能都正常了。 NAT Identity setting影片展示

複製檔案的好工具:robocopy

最近把資料庫異地備份的工作接回來自己做, 才發現之前同事備份資料時使用的USB 2.0隨身碟效能確實不太好, 每周要備份的資料多達60GB, 至少要兩個小時才能備完。更糟的是, 隨身碟好像有點問題, 每每備份到一半就卡住不動, 又看不出來是什麼狀況。常常等很久之後, 忍不住了就拔線, 都會造成檔案不一致的現象, 還要再下chkdsk /F指令來處理。 稍做觀察後, 我發現那顆隨身碟(Transcend)有兩個問題: 1. USB線頭有接觸不良的情形, 所以複製檔案時不能去碰線, 否則就會整顆磁碟由系統中消失。 2. 並行處理能力不好, 如果有多個大檔案同時寫入時, 就很容易出現卡住的情形。 而我們之前使用的方法(在檔案總管內拖拉), 就會造成同時多個大檔案寫入。因此, 我一開始寫批次檔, 利用xcopy指令一個檔案一個檔案的複製, 果然就不再出現卡住的現象。但是xcopy指令必須一個檔案一個檔案的寫, 而且無法自行處理目錄, 批次檔寫起來有點辛苦! 在嘗試時, 發現robocopy這個指令, 不但有續傳的功能, 而且會自行處理目錄問題, 更好的是會顯示複製的進度。大概用法如下: robocopy g:\xxx h:\yyy /E 這樣一來, 就會把g:碟中xxx目錄內所有檔案及子目錄, 通通複製到h:碟中的yyy目錄下。robocopy在必要的時候會自行新增目錄, 不用我們處理。 最後, 推薦一下USB 3.0的隨身碟, 因為備份時間太久了, 所以我改用segate GoFlex Pro的隨身碟; 實測結果: USB 2.0 -> 25MB/s USB 3.0 -> 100MB/s 所以備份時間由原來的2小時, 縮短為20分鐘。

FreeBSD package - 版本錯亂

在FreeBSD中,常常使用pkg_version -v指令來查看是否有軟體套件需要更新, 有時候會看到如下的狀況: # pkg_version -v autoconf-2.68 ! Comparison failed automake-1.11.1 ! Comparison failed libtool-2.2.10 > succeeds index (index has 2.2.6b) 這代表軟體套件內部資料庫有狀況, 此時可以下pkgdb -F指令來修護之: # pkgdb -F ---> Checking the package registry database [Updating the pkgdb in /var/db/pkg ... - 50 packages found (-0 +7) ....... done] Stale origin: 'devel/autoconf268': perhaps moved or obsoleted. -> The port 'devel/autoconf268' was moved to 'devel/autoconf' on 2010-12-08 because: "Autotools cleanup" Fixed. (-> devel/autoconf) Stale origin: 'devel/automake111': perhaps moved or obsoleted. -> The port 'devel/automake111' was moved to 'devel/automake' on 2010-12-08 because: "Autotools cleanup" Fixed. (-> devel/automake) Stale origin: 'devel/libtool22': perhaps ...

FreeBSD gmirror 實作筆記

最近為我們家的郵件主機做mirror,之前為了怕出狀況, 所以先在virtual machine中實作一次, 情況很正常。主要的作法如FreeBSD HandBook, 及以下文章所述: Using Software RAID-1 with FreeBSD 之後在正式機器上做時, 卻出包了! 重新開機時, 出現如下訊息: Mounting root from ufs:/dev/gm0s1a setrootbyname failed ffs_mountroot: can't find rootvp Root mount failed: 6 Manual root filesystem specification: : Mount using filesystem e.g. ufs:da0s1a ? List valid disk boot devices Abort manual input mountroot> 正式機器那容我們慢慢找問題, 所幸之前已經準備一台virtual machine, 並將所有使用者帳號及郵件資料都備份過去了, 所以當下先切換機器給使用者使用。幾日下來, 備用機器運作也很順, 使用者應該沒發覺, 其實郵作主機已經換了一台。:-) 接下來, 就是思考問題出在那了。其實正如ONLAMP那篇文章的使用者留言, 有人提到, 文章使用的範例是將ad0, ad2兩顆實體硬碟做成mirror/gm0; 如果實作的環境不一樣時, 很容易在修改/etc/fstab檔時, 弄錯。我就是弄錯了!! 原本的/etc/fstab如下: # Device Mountpoint FStype Options Dump Pass# /dev/ad4s1b none swap sw 0 0 /dev/ad4s1a / ufs rw 1 1 /dev/ad4s1g /home ufs ...

SpamAssassin 之SMTP AUTH略過檢查

圖片
最近自己開始在公司外面使用公司的郵件主機寄收信,才發現寄信時雖然有使用帳號密碼認證(SMTP AUTH)。可是主機的檢查垃圾信軟體(SpamAssassin)仍會對信件進行檢查,而且因為在外面的網路都是動態取得ip, 大部份ip都已經被列入寄垃圾的黑名單網域中。所以我寄出的信,都被自己公司的主機標記為垃圾信!雖然試著寄往MSN及GMAIL都還是收得到,但是都被加註,總覺得很不妥當。所以試著調整。原本以為在SpamAssassin的設定檔中有可以設定的選項,結果沒找到。 後來升級軟體時(FreeBSD下使用portupgrade -a指令),發現SpamAssassin套件出現編譯選項,其中第一個選項就是如果通過SMTP AUTH認證,則略過檢查。將其選取後,往下升級,系統重開後,再做測試,就發現成功了。在公司外部,只要通過帳號密碼認證,就不會被認為是垃圾信,而且成功的寄出。 再去/var/log/maillog查看, 發覺其實還是有經過SpamAssassin的檢查, 只是score都變成-90幾的狀態。我想應該是有成功認證的都會把score都-100吧! 這樣即使IP被列在DNSBL的黑名單中, score也不容易大於零, 自然不會被認為是垃圾信。

Mail Server 移機(FreeBSD -> FreeBSD)

看到這篇文章,剛好我也在想,萬一我們的郵件主機掛點,要怎麼辦?是不是平常要把使用者帳號備份出來,如果有狀況時,至少不用叫使用者再去重新改密碼。 Acme Evil: Mail Server 移機完畢 : "FreeBSD上的mail及家目錄裡的mail資料" 因為Acme Evil是由FreeBSD移到Linux,所以使用Webmin來滙出滙入使用者帳號, 確實是個好方法! 但是我只是想保留使用者的帳號及密碼資訊, 並不想移到別的作業系統, 還是保留使用相同的FreeBSD系統。所以我想應該不用使用Webmin吧!是不是把/etc/passwd, /etc/group等檔案copy出來就好! Google了一下, 果然是如此!整理如下: 1. 備份三個檔案: /etc/passwd /etc/master.passwd /etc/group 2. 重建密碼資料庫: pwd_mkdb -p /etc/master.passwd 3. 如果想要的話, 也可以搬移/home目錄等, 使用tar指令(如Acme Evil文中所述) fb1# tar zcvf home.tar.gz /home/ fb2# scp someone@fb1:/root/home.tar.gz . fb2# cd / fb2# tar zxvf /root/home.tar.gz 其中scp指令用來跨主機copy檔案。 實作了一下, 並測試結果, 果然可以把帳號資訊完整移到別台主機。 這樣以後我只要備份這三個檔案, 有什麼萬一的時候, 大不了重裝一台主機, 再重建帳號, 就可以了。

新文章發表

感謝電子情報雜誌在2010/10號刊出我的作品"Oracle 11g RMAN上手玩", 有空請大家捧捧場, 去買一本來看看吧! 這幾年大環境艱困, 文教事業也不好做。希望台灣可以愈來愈好, 大家更幸福。