顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - shalitee

頁: [1]
1
各位好,

小弟公司最近發現一個老生常談的問題...
也就是loop的問題.....
原本想說換了新的交換器之後...功能應該比較強了..
理論上應該可以偵測出loop....
下圖是小弟公司出現loop的真實接線狀況 ...(不太會畫圖,多多包含)
(原則上就是core switch下接一台24port的switch hub(A),
switch hub(A)下再串一台8port的switch hub(B),
最後switch hub(B)一條線接成迴圈)


"switch hub(B)"--------"switch hub(A)"-------------"core switch"
    |.......|  <---loop
 

當loop出現時...新的交換器依舊無法偵測出有loop....
然後交換器的CPU衝到99%...網路不通...造成flooding...
賣東西的廠商給我們的回應是...此種接法產生的loop...無法利用STP偵測出..
因為對交換器來說只有一條線接到它...所以無法偵測到...
除非在最下層出現loop的那個switch hub上有支援STP才可以...
這是真的嗎?
除了靠STP...不能從封包的特性去偵測出來嗎?
這種短時間大量的broadcst 風暴...應該是有辦法才對吧?
不知道各位先進有沒有遇過這類問題?

2
use CGI qw(:standard);

print header(-charset=>big5),start_html("Sinotech Mail Query System");
my $sender=param("user");

print p("<font size=6><B>Report :</B></font>");
print p("<font size=4><B>Sender E-mail Address : </B>$sender\@sinotech.com.tw</f
ont>");
print ("<TABLE border='3'>");
print ("<TR><TD width='150'><B>Messages ID</B></TD><TD width='150'><B>Time</B></
TD><TD width='250'><B>Reciver</B></TD><TD width='150'><B>Status</B></TD></TR>");

3
我的系統是Mandarke9.1
我在/etc/syslog.conf裡面多加了一行
mail.=info      /var/log/mail/daily_mesg
檔案是我自行先建立的..並給chmod 666的權限..
-rw-rw-rw-    1 root     root       878007 Aug 16 09:07 daily_mesg
重新啟動syslogd之後..log有正確的寫入沒問題...
可是他卻會把權限改成
-rw-r-----    1 root     root       875915 Aug 16 09:07 daily_mesg
如此一來...我在程式裡面要去讀取的時候..
就會權限不足了..
我有man了一下syslogd的線上文件...裡面有提到下面這行..

Syslogd doesn't change the filemode of opened logfiles at any stage  of process.

意思不是說不會去更改權限嗎??
為什麼還會更改呢??

因為我用perl寫的CGI要放在網頁跑..
所以當程式要去讀取daily_mesg的時候..是用apache的權限去存取的...
所以會無法正確的執行...

我試著用下列方式去解決問題..
1.把daily_mesg的owner改成apache,可是當syslogd寫紀錄進檔案的時候,又會自動把owner改成root...所以這個方法不行..
2.我現在用很消極的作法,利用cron每分鐘去跑一次chmod 666 daily_mesg,但是每分鐘還是會有短暫的時間無法正確執行,直到下一次cron再執行才可以..

請問各位學長...有方法可以解決嗎??
感激不盡..

4
環境是Mandrake9.1+postfix
以下是依照目前環境所安裝的步驟...
所以有些安裝套件及錯誤訊息並不一定適用於所有環境
-------------------------------------------------------------

1.安裝clamav

# tar zxvf clamav-0.75.tar.gz
# cd clamav-0.75
# useradd clamav
# vi /etc/passwd
  修改把 clamav 的 shell 改成 /sbin/nologin
# ./configure --prefix=/usr     #安裝路徑設為/usr ,可自行定義.
# make
# make install
# vi /usr/etc/clamav.conf
  修改成下列設定
----------------------------------------------------------------
  #Example                            #把 Example 那行 mark 掉
  LogFile /tmp/clamd.log              #記得/tmp/clamd.log權限要設成writable
  DatabaseDirectory /usr/share/clamav
  LocalSocket /tmp/clamd
  StreamSaveToDisk                    #讓clamav可以掃描壓縮檔
  User clamav
  ScanMail                            #讓clamav可以掃描郵件
  ScanArchive
-----------------------------------------------------------------
# clamscan ./                #測試看看

# vi /etc/rc.d/rc.local
  增加
    /usr/sbin/clamd          #開機啟動clamd deamon

接下來設定病毒碼自動更新
# touch /var/log/clam-update.log
# chmod 600 /var/log/clam-update.log
# chown clamav /var/log/clam-update.log
# vi /usr/etc/freshclam.conf
   修改成下列設定
    UpdateLogFile /var/log/clam-update.log
# crontab -u clamav -e
   增加下列設定
   9 * * * * /usr/bin/freshclam -v     #每小時九分的時候由clamav使用者執行freshclam


2.安裝MailScanner

2-1.編譯MailScanner

# tar zxvf MailScanner-4.31.6-1.rpm.tar.gz
# cd MailScanner-4.31.6-1
# ./install.sh
# ............error!
編譯到最後會出現error無法進行安裝,此時需另外安裝三個套件,需依照順序安裝,否則會有相依性的問題

# rpm -ivh perl-IO-stringy-2.108-4mdk.noarch.rpm
# rpm -ivh perl-MailTools-1.58-1mdk.noarch.rpm
# rpm -ivh perl-MIME-tools-5.411-4mdk.noarch.rpm

安裝完上述套件之後,再重新執行
# ./install.sh

此時安裝完MailScanner,如有啟動錯誤訊息,請先跳過稍後再討論.

2-2.設定postfix以支援mailscanner.

# service postfix stop
# cp -rp /etc/postfix /etc/postfix.in
# vi /etc/postfix.in/main.cf    
   a.在頂端增加一行 defer_transports = smtp local virtual relay
   b.尋找
              queue_directory = /var/spool/postfix     #修改前
       改成
              queue_directory = /var/spool/postfix.in  #修改後
# cp -rp /var/spool/postfix /var/spool/postfix.in
# vi /etc/postfix/master.cf
   尋找
           smtp   inet   n   -   y   -   -   smtpd        #修改前
    在此行加上mark記號
        #smtp   inet   n   -   y   -   -   smtpd        #修改後

2-3.設定Mailscanner

修改/etc/MailScanner/MailScanner.conf 成下列設定
-------------------------------------------------------
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix.in/deferred
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
--------------------------------------------------------

修改/etc/sysconfig/MailScanner
MTA = postfix

修該權限讓postfix可以寫入
# chown postfix.postfix /var/spool/MailScanner/incoming
# chown postfix.postfix /var/spool/MailScanner/quarantine

2-4.重新啟動Mailscanner

# service MailScanner start
會出現下列錯誤訊息    
# Starting MailScanner daemons:
         incoming postfix: [  OK  ]
         outgoing postfix: [  OK  ]
         MailScanner:       Can't locate Net/CIDR.pm in @INC (@INC contains: /usr/lib/MailScanner /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl . /usr/lib/MailScanner) at /usr/lib/MailScanner/MailScanner/Config.pm line 34.BEGIN failed--compilation aborted at /usr/lib/MailScanner/MailScanner/Config.pm line 34.
Compilation failed in require at /usr/sbin/MailScanner line 42.
BEGIN failed--compilation aborted at /usr/sbin/MailScanner line 42.
[  OK  ]

這是因為缺少了Net-CIDR-0.10.tar.gz,故安裝該套件
# tar zxvf Net-CIDR-0.10.tar.gz
# cd Net-CIDR-0.10
# perl Makefile.PL
# make
# make install

後續繼續啟動Mailscanner還是會有因為缺少套件而發生錯誤..所以直接將所有所需套件安裝完成
# perl -MCPAN -e shell
cpan>先依照提示訊息安裝新版CPAN   (自行參考訊息安裝)
cpan>install Archive::Zip                 (安裝套件)
cpan>install Convert::BinHex          (安裝套件)
cpan>quit                                      (離開cpan)

# service MailScanner start
到此應該可以正確起動MailScanner,並測試收發信是否正常

3.安裝SpamAssassin

# perl -MCPAN -e shell
cpan> install Mail::SpamAssassin

安裝完成後,依照自己環境編輯/etc/mail/spamassassin/local.cf
範例:
----------------------------
allow_user_rules 1
rewrite_subject 1
subject_tag *SPAM*
required_hits 5.0
----------------------------

並在/etc/建立procmailrc 檔案...並依照自己環境編輯/etc/procmailrc
範例:
-----------------------------------------------------------------------------
:0fw
* < 200000                     #信件小於200K才進行掃描
| /usr/bin/spamc               #利用spam deamon呼叫spamassassin,執行速度快
-----------------------------------------------------------------------------

最後編輯/etc/postfix/main.cf,增加一行
mailbox_command = /usr/bin/procmail -f- -a "$USER"

# vi /etc/rc.d/rc.local
  增加
    /usr/bin/spamd -d -x -u nobody &     #開機時啟動spamd deamon

4.整合三者統一由mailscanner執行

編輯/etc/MailScanner/MailScanner.conf
修改為下列設定
-----------------------------------------------
Virus Scanning = yes
Virus Scanners = clamav
Use SpamAssassin = yes
-----------------------------------------------

編輯/usr/lib/MailScanner/clamav-autoupdate
修改為下列設定
$PackageDir = shift || "/usr/local";    #修改前
$PackageDir = shift || "/usr";          #修改後

****************************************************************
以上設定皆為基本設定..基本上是可以跑起來成功的
若要細部設定,就要自己慢慢去修改那些configue檔

5
寄信可以使用HTML格式而不是純文字嗎??
我架了一個xoops2.0的網站..
想寄電子報給會員..
用系統內建寄出的信件都是純文字格式..
就算用HTML語法加進去也無法顯示...

請問哪裡可以調整...好讓電子報可以美美的..不再只是純文字..

謝謝~

6
I was using postfix via pop/imap, and everything is okay.
When i send mail through openwebmail i got this error......
 
 
<<< 220 mail.tendril-tech.com ESMTP Postfix (2.0.6) (Mandrake Linux)
>>> EHLO mail.tendril-tech.com
<<< 250-mail.tendril-tech.com
<<< 250-PIPELINING
<<< 250-SIZE 10240000
<<< 250-VRFY
<<< 250-ETRN
<<< 250 8BITMIME
>>> MAIL FROM:<shalitee@mail.tendril-tech.com>
<<< 250 Ok
>>> RCPT TO:<shalitee@sinotech.com.tw>
<<< 554 <shalitee@sinotech.com.tw>: Relay access denied

What might be causing this?
BTW postfix ,apache and openwebmail are in the same machine and using the same ip address..
 
Where goes my postconf -n output:
 
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 5
delay_warning_time = 4
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail -Y -a $DOMAIN
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = mail.tendril-tech.com,tendril-tech.com
myhostname = mail.tendril-tech.com
mynetworks = $config_directory/mynetworks
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.0.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.0.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrake Linux)
unknown_local_recipient_reject_code = 450
 
 
 
Anyone knows what might be causing this? And how to solve this?



Thanks!


FongChi Liu

7
Linux 討論版 / ls: unrecognized option
« 於: 2004-07-14 15:01 »
各位前輩..

當我在命令列下"ls"時
出現ls: unrecognized option
可是其他指令功能還正常...像dir都還可以..
請問是哪裡出了問題呢??

8
各位前輩..
小弟我日前寫了一支perl程式來統計email排行榜..
主要是利用/var/log/mail/info的記錄檔去分析然後寫出來的..

問題來了..
因為我有兩台mail server...
一台流量很大..一台流量很小...
我先把我寫的程式去分析流量小的那台, log檔大約70MB
很順利的跑出結果..
但是去跑流量大的那台, log檔大約950MB
跑到最後沒有出現結果...反而出現killed的字眼..然後程式就停了...

我有去觀察系統的loading(利用top指令)
發覺memory吃的很兇...當然CPU也是..
我原本以為是我memory不夠..
我就換一台有768MB記憶體的server去跑..
結果還是一樣..memory還是吃光光...然後還是自動killed,...程式就結束了..

請問perl去分析log檔時 ..有限制大小嗎?我知道我的log檔將近1G是很大..
但是慢慢跑也應該會跑出來..
因為我之前是用shell script寫了一支功能相同的程式去跑..
大約要跑3小時才會有結果....

後來想說改寫成 perl會不會比較快...
的確有比較快(快了250%)...但是當遇到這麼大log檔時反而跑不出結果..

所以想請問:
1.perl程式是否有限制開檔的大小?
2.server記憶體需要多少才夠跑這種大檔案??

謝謝..

頁: [1]