Router設定
語法: route add wanderer gw vlager mtu 296
route add [-net|-host] target [netmask Nm][gw Gw][metric N]
ex: # /sbin/route add default gw 140.113.190.254 netmask 0.0.0.0 metric 1
指定default gateway為140.113.190.254
# /sbin/route add –net 140.113.190.0 netmask 255.255.255.0 dev eth0
將網路卡裝置eth0加入route table, 並指定網域是140.113.190.0
如果從routing table 中發現沒有router, 而造成無法對外連線, 可以使用route指令增加一台router (Gateway), 而 RedHat Linux使用者可以直接執行 /etc/rc.d/init.d/routed啟動router. 如要在每一次開啟這台Linux伺服器使用內定通訊閘的話, 只要修改 /etc/sysconfig/network, 將含有通訊閘定義的那行更改成GATEWAY=”140.113.190.254” 即可.
arp指令: 檢視網路硬體, 以及網路卡的MAC位址
ether: Ethernet
tr: 16/4 Mbps TR
ax25: AMPR AX.25
netrom: AMPR NET/ROM
arcnet: ARCnet
dlci: Frame Relay DLCI
tcpdump指令: 查看網路流通量
netstat監視網路Routing Table
-r 偵查網路狀態, 以下為各flags意義:
G: Gateway
U: 這個網路介面, 目前是啟動狀態.
H: Single host使用的router, 通常是 127.0.0.1
D: routing table 由 ICMP redirect message產生
M: routing table 被 ICMP redi rect message所修改.
-i 顯示網路流量統計
RX-OK/TX-OK 對內/對外網路接收流量
若此兩值異常增高, 就表示有人在進行大量的網路傳輸工作.
RX-ERR/TX-ERR 接收/傳送失敗的封包次數.
若次數太多, 表示網路一定有問題.
RX-DRP/TX-DRP 代表多少個接收/傳送封包被丟棄.
RX-OVR/TX-OVR 代表多少個接收/傳送的封包沒有確實接收.
若此種封包太多, 表示網路過於忙碌, 來不及接收與傳送所有的封包, 應正視網路流量壅塞的問題.
-ta 檢視網路Service狀態
LISTEN 表示主動提供服務.
ESTABLISHED 表示已經處理完畢獲得service的socket.
-u 顯示UDP socket
-w 顯示RAW socket.
-x 顯示UNIX socket.
traceroute 顯示路由(routing)路徑
SendMail郵件伺服器
Sendmail的設定檔: /etc/sendmail.cf or /etc/mail/sendmail.cf
Sendmail 主機名稱檔案: /etc/sendmail.cw or /etc/mail/local-host-names
/usr/sbin/sendmail
基本參數: -b 指定sendmail以Daemon形式啟動.
-d 指定sendmail在背景執行, LISTEN port 25, 等待信件.
-q 指定多久將mail queue的信件送出
ex: -q3h 三小時送一次.
-q30s 30秒送一次.
-q2d 兩天送一次.
-q1w 一周送一次.
-q30m 30分鐘送一次.
可執行mailq指令, or 到 /var/spool/mqueue處, 查看目前系統有無信件傳送不出去.
.讓含大寫字母的UserID正常收信
編輯 /etc/mail/sendmail.cf , 並搜尋Mlocal字串.
Mlocal, P=/usr/bin/procmail,F=lsDFMAw5:|@qSPfhn9,
加入一個小寫字母”u”在F=ls…@…n9,的最後
(若qSPfhn9,這一串字母中沒有h字母, 也要加入h)
結果: Mlocal, P=/usr/bin/procmail,F=lsDFMAw5:|@qSPfhn9u,
改完後, 重新啟動….(如下)
# ps –auxw | grep sendmail
# kill –9
# /usr/sbin/sendmail –bd –q30m
.設定拒收大型郵件
編輯 /etc/mail/sendmail.cf, 在Mlocal與Mprog區段中分別加入Maxsize = (Bytes)
Mlocal, P=/usr/bin/procmail,F=lsDFMAw5:|@qSPfhn9,
Maxsize=3000000
T=DNS/RFC822/X-Unix,
A=procmail –Y –a $h –d $u
Mprog, P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL,
Maxsize=3000000
T=X-Unix/X-Unix/X-Unix,
A=sh –c $u
.Mail alias 與轉寄功能
利用Mail alias功能, 替自己取個名字, 這樣別人利用alias name寄送的信件, 照樣可以轉到您實際的信箱當中.
編輯 sendmail.cf檔, 以aliases為關鍵字搜尋字串, 代表alias檔案應該是在 /etc/mail/aliases
ex:
aliasname: name1, name2, name3
nobody: root
system: root, adm, superuser
toor: root
uucp: root
Wen-Ze-Yang: wzyang
說明: 以上會將nobody, system, toor, uucp的寄信, 實際上都會轉送給root帳號, 而alias name也可以是大寫形式, 例如: Wen-Ze-Yang: wzyang以全名表示, 這樣Wen-Ze-Yang@somewhere 這樣的電子郵件, 依然會送到 wzyang 手裡. 另外, 您也可以將一個aliasname同時設定到好幾個帳號身上. 在您設定好 aliases 檔案後, 請執行 newaliases 更新 alias name database (/etc/mail/aliases.db), 如此就可使用alias name寄信了.
-------------------------------------------------------------------------------------------------------------------------------
.郵件轉寄功能
想與其他人分享其mail, 可以設定自動轉寄功能, 只要將 E-mail Address, 加入 $HOME/.forward即可.
假設主機名稱: linux.ee.nctu.edu.tw
Linux主機上的帳號: wzyang
建立一個 .forward檔案內容如下:
\wzyang
**註: 最後的 \wzyang 表示要留一份信件在自己的帳號上, 否則信件被轉發出去後就不見了.
-------------------------------------------------------------------------------------------------------------------------------
.自動回信系統
假設管理自動回信的帳號是: wwwadm, 請在該帳號的Home directory下執行動作….
$ vacation –i
初次使用 vacation功能, 必須先建立 vacation database ~/.vacation.db
$ vi ~/.vacation.msg
編輯回信訊息檔, 這個訊息檔的內容應該像這樣…
From: eric@CS.Berkeley.EDU (Eric Allman)
Subject: I am on vacation
Delivered-By-The-Graces-Of: The Vacation program
Precedence: bulk
I am on vacation until July 22. If you have some-thing urgent.
please contact Keith Bostic < bostic@CS.Berke-ley.EDU >
$vi .forward
在 .forward檔案中, 加入此行:
\wwwadm, “|/usr/bin/vacation wwwadm”
前面的 \wwwadm是告訴forward不要將信件轉送出去, 且要留下來.
後面的 /usr/bin/vacation wwwadm, 是執行vacation自動回覆訊息.
***註: 每次修改 .forward檔案時, 一定要先執行 vacation –i , 重新update vacation database.
另外 vacation 還有一些選項可以使用.
-f 指定 vacation database檔案, 以取代 .vacation.db
-m 指定 vacation 訊息檔, 以取代 .vacation.msg
. 拒收垃圾廣告信(Anti-SPAM)
要預防接受到大量的 Mail SPAM, 首先就必須從杜絕接收大量發送廣告信的網站的信件, 像 Yahoo.com、hotmail.com、GeoCities、Tripod….這類免費提供電子郵件的網站, 就時常被當作SPAM的發送站, 所以網路管理者就應該考慮拒收這些address寄送過來的信件.
編輯 /etc/mail/access
# by default we allow relaying from localhost…
localhost.localdomain RELAY
localhost RELAY
yahoo.com REJECT
geocities.com REJECT
spammer@hotmail.com REJECT
192.168.100 REJECT
access檔案中可以指定的參數有: OK、RELAY、REJECT、DISCARD四種.
OK 是四種設定值中, 權限最高的, 不管這個網址又被設定成什麼權限, 或者寄送過來的信件發生什麼狀況, 一概接收。但是如此太不保險, 故沒人會這樣設.
RELAY 從這個網址寄送過來的信件, 可以接收。而且充當這個網址的Mail relay。
REJECT 拒收從這個網址寄過來的信件, 也是我們設定Anti-spam的方法。
DISCARD 凡是從這個網址寄送過來的信件, 不接收也不回應。直接忽略曾有這封信件寄過來。
編輯好 /etc/mail/access, 設定好拒收電子郵件的對象後, 執行下列指令更新資料庫, 並重新啟動 sendmail, 設定值才生效。
# makemap hash /etc/mail/access < /etc/mail/access
** 避免主機充當Mail relay: 如果您的Mail Server是UNIX系統者, 請upgrade您的sendmail到8.9版以上。如果您的Mail Server是Microsoft Exchange則請廠商更新到最新版並將防止SPAM的設定設上去。一般relay的設定是只允許貴單位內的IP將SMTP server設到該Mail Server, 其他單位的IP都應拒絕。/etc/mail/relay-domains內容像這樣:
.ee.nctu.edu.tw RELAY
localhost RELAY
若您沒有設定, 或者根本沒有relay-domains這個檔案, 則自從Sendmail 8.9 版起, 都不會自動當作別人的relay。在您修改relay-domains之後, 記得重新啟動Sendmail, 這樣設定值才生效。另外您可利用http://www.edu.tw/tanet/spam.html此網址, 測試Mail server是否被利用做mail spam.
| 在RedHat 7.0/7.1/7.2版的Sendmail default設定有點問題, /etc/sendmail.cf內的DaemonPortOptions設定只有指向lo interface上, 也就是只有監聽127.0.0.1 , 導致不能透過POP3 client端主機收發信件(即使Sendmail啟動運作正常也一樣), 請依照下列方法解決: Ans: 請編輯 /etc/sendmail.cf , 找到下列這一行: O daemonPortOption=Port=smtp.Addr=127.0.0.1,Name=MTA 如此的設定代表只能讓127.0.0.1當MTA接收來信, 所以在前面加上#號, 將它註解掉再重新啟動Sendmail即可. 然後執行 /etc/rc.d/init.d/sendmail restart 之後, POP3 client端就可以正常收發信了. |
POP3/IMAP4 郵件伺服器
讓使用者透過一般的pop3 client藉由POP3通訊協定與Mail server溝通並下載信件.
通常POP通訊協定被用來: 將伺服器端的信件傳遞到用戶端上.
IMAP允許使用者在遠端處理伺服器上的信件.
1. 安裝POP3/IMAP4 server
rpm –ivh imap-2000c-15.i386.rpm
安裝imap-2000c-15.i386.rpm套件後, 會在 /etc/xinetd.d/ 目錄下, 多出五個設定檔, 分別是:
imap # IMAP Server
imaps # IMAP over SSL
ipop2 # POP Version 2 Server
ipop3 # POP Version 3 Server
pop3s # POP Version 3 over SSL
然而這些設定檔的內容, 都預設不啟動這些伺服器程式, 所以您必須使用編輯器將這五個設定檔內的 disable = yes移除.
2. 在 /etc/services 加入以下內容, 指定各個 daemon 執行的 port。其中要注意的是, imap2與imap4共用一個daemon, 使用同樣的 port number, 所以只要指定imap2即可.
pop-2 109/tcp postoffice # POP version 2
pop-2 109/udp
pop-3 110/tcp # POP version 3
pop-3 110/udp
imap2 143/tcp imap # Interim Mail Access Proto v2
imap2 143/udp imap
imaps 993/tcp # IMAP over SSL
pop3s 995/tcp # POP-3 over SSL
完成上面設定後, 執行 /etc/rc.d/init.d/xinetd restart, 重新啟動xinetd, 就可以試試從pop3 client是否可以從pop3 server下載信件了。
3. 若使用者想使用MS outlook送信時, 一定會被您的Linux Sendmail Server退信, 因為Sendmail不 Relay發信端電腦的信件。要解決此問題, 必須將發信端的PC子網域, 加入Sendmail的Relay。做法如下:
一. 編輯 /etc/mail/access : (以下為假設所在的子網域為ma1.hinet.net)
# by default we allow relaying from localhost…
localhost.localdomain RELAY
localhost RELAY
ms1.hinet.net RELAY ß 以Domain or IP address方式加入子網域
140.113.11 RELAY
二. 更新Sendmail access資料庫
# makemap hash /etc/mail/access < /etc/mail/access
三. 重新啟動Sendmail server
# /etc/rc.d/init.d/sendmail restart
沒有留言:
張貼留言