Page 1

資策會數位教育研究所 LinuxLAB70%建置

網路工程師養成班第 78 期

2010/03/16 作者:akuei et_zi@yahoo.com.tw

kuei750706@

.com


目錄 網路服務(Network Services)

Network Printing --- CUPS ...........................................................

03

DNS Server --- BIND ......................................................................

08

DHCP Server .....................................................................................

13

FTP Server --- Pure-FTPD ..............................................................

16

File and Print Service within MS. --- Samba. ............................

18

HTTP Server --- Apache2 ...............................................................

24

Mail Relay Server --- Postfix

......................................................

29

Recieve Mail Server --- Cyrus-imapd .........................................

32

Web-base Mail System --- Squirrel Webmail ..........................

35

心得.......................................................................................................

39

2


Network Printing --- CUPS 操作:管理cups server  於Guest OS 安裝 cups server 及分享lp0 印表機.  於 Host OS 安裝網路印表機及測試列印  允許user使用Web-base (port 631) 檢視自己的印表文件.  限制每user印表使用量(quota), 一週內只允許印出250張

Step1:

檢查與安裝cups-server

(1).檢查cups-server是否安裝: rpm -q cups

(2).使用Yast 安裝cups-server: yast -i

Search -->輸入『cups』 --> Enter --> 在Cups套件項目按 + 即 可列入安裝清單(i代表已經安裝) => Accept

3


Step2:

設定與啟動cups-server服務

(1).編輯伺服器組態檔cupsd.conf vi /etc/cups/cupsd.conf

(2).允許使用者可以使用Administrator權限遠端管理Web-base 833

<Location /admin>

849

Allow From @LOCAL

851

</Location>

4


(3).允許遠端使用者存取印表機資源(開放瀏覽的權限) 774

<Location />

779

Allow From @LOCAL

780

</Location>

ps.必要時只允許某網段有權限存取

(4).是否廣播與接收CUPS printer的資訊、允許同網段接收CUPS資 訊 494

Browsing On

540

BrowseAddress

@LOCAL

582

BrowseAllow

@LOCAL

(5).重新啟動cups-server service

cups

restart

(6).開機過程自動啟用cups-server chkconfig

cups

on

5


Step3:

設定管理者帳戶與密碼

lppasswd -a admin -g sys ps.為什麼要使用sys群組呢?/etc/cups/cupsd.conf 第843行sys為有管理者權限的群組。

Step4: 使用瀏覽器連線cups-server並新增印表機 (1).進入http://192.168.0.120:631,後點選Administration,新增 印表機Add Printer,在依照您的需求,介面、廠牌、型號去做設定 的動作。

ps.如http://192.168.0.120:631,無法正常連線請檢察相對應的 port有無開啟(nmap 192.168.0.120),以及Server端的防火牆。

Step5: Linux Client 安裝網路印表機及測試列印 (1).使用瀏覽器連結http://localhost:631/admin,進入管理畫面 (2).加入印表機-->名稱-->裝置:Internet Printing Protocol (ipp)-->URL:ipp://192.168.0.120/printers/lp0-->型號-->廠牌 -->驅動-->登入本機帳戶密碼-->完成 (3).到Clinet印表機列印測試頁-->在Server的jobs裡會看到列印測 試頁。

6


Step6: Windows Client安裝網路印表機及測試列印

(1).控制台-->印表機-->新增網路印表機-->URL: http://192.168.0.120:631/printers/lp0-->選擇型號-->完成 (2).列印測試頁-->在Server的jobs裡會看到列印測試頁。

Step7: 限制每user印表使用量(quota),一週內只允 許印出250張

lpadmin

–p lp0 –o job-quota-period=604800

(限制時間為一週)

lpadmin

–p lp0 –o job-page-limit=250

(限制只能使用250張)

7


DNS Server --- BIND

於Guest OS 安裝 Bind 相關套件.

依據自己的學號自建一master zone, 如 : 90688088.com.

於此區域名稱內建立一個A record (base) 對應到自己的一個IP, 之後建立三個 Alias或Cname (ftp,www,mail) 對應到 A record. 接著再建立一 Mx record.

檢視 named.conf 及 zone file 的內容.

使用Server2 當 slave server, 以完成 zone transfer, 且 master server 可 notify slave server 自動同歩zone record.

Step1:

檢查與安裝bind

(1).檢查dns-server是否安裝: rpm -q bind

(2).使用Yast 安裝bind yast -i

8


(3)Search bind 套件

Search -->輸入『bind』 --> Enter --> 在bind套件項目按 + 即 可列入安裝清單(i代表已經安裝) => Accept

Step2: 使用yast 建置與管理 DNS-Server Yast -->Network Services -->DNS Server-->Add New Zone-->30900136.com-->Add-->Edit Ps.當然yast很方便,但是別忘了太依賴它是不太好的。

(1).[NS Records] --- Add

server1.30900136.com. server2.30900136.com. 新增兩筆,server2為slave.

9


(2).[Records] --- Add Record

Key

Type

Value

server1

A

192.168.0.120

server2

A

192.168.0.120

www

CNAME

server1.30900136.com.

ftp

CNAME

server1.30900136.com.

mail

CNAME

server1.30900136.com.

(3).[MX Records]---add Address

Priority

mail.30900136.com.

1

(4). OK-->Next-->(X) On: Start Now and When Booting Ps.務必檢查防火牆與測試。

Step3: 檢視 named.conf 及 zone file 的內容 vi /etc/named.conf

vi /var/lib/named/master/下的檔案 Ps.如果不想依賴yast來做設定的話,可以透過named.conf 及 zone file 的內容,來做修改。

10


 Step4:使用Server2 當 slave server,且自動同歩 Server1: (1).vi /etc/named.conf 45 listen-on port 64 allow-query

53 { 192.168.0.120; }; { 192.168.0.0/24; };

71 notify yes; (2).重新啟動named服務

service

named

restart

Server2: (1) 複製遠端主機的named.conf。 ps.也可以使用yast,或自行修改組態檔。 scp 192.168.0.120:/etc/named.conf /etc-->yes-->輸入遠端主 機密碼 (2) 修改vi /etc/named.conf 45 listen-on port 64 allow-query

53 { 192.168.0.220; }; { 192.168.0.0/24; };

71 notify no;

11


130

zone

“30900136.com”in {

131

file “slave /30900136.com”;

132

type

133

masters

134

};

slave; { 192.168.0.120; };

(3) 重新啟動named服務與開機自動啟動named服務

service

named

restart

chkconfig

named

on

(4) 檢查有無轉送同步 Server2 :~#

ll

/var/lib/named/slave

到server1修改master裡的30900136.com 的內容,serial增加 之後server

named

restart後,到server2檢查slave裡的

內容有無同步。

12


DHCP Server  於Guest OS安裝 DHCP Server  可分配的IP範圍

自10.120.2xx.180 to 10.120.2xx.188

(xx 為自己的二碼座號 )  根據MAC位址保留一固定IP給一特定DHCP client.  DNS 及 Default

Step1:

gateway 資訊亦由DHCP 提供.

安裝dhcp-server

(1).使用Yast 安裝dhcp-server:

yast -i

Search -->輸入『dhcp』 --> Enter --> 選擇dhcp、dhcp-client、 dhcp-server=> Accept 組態檔: vi /etc/dhcpd.conf

13


Step2:

使用yast建置與管理dhcp-server

(1).Yast -->Network Services -->DHCP Server

(2).將eth0標示Active的選項(X)-->Add-->Next

(3). Global Settings

14


(4).設定可分配的IP範圍 自192.168. 0.180 to 192.168. 0.188

(5).設定開機自己啟動DHCP服務與進入專家模式

(6).Host Management-->新增一筆MAC保留固定IP

15


FTP Server --- Pure-FTPD 

於Guest OS安裝FTP Server,於Host OS使用ftp指令連到此 FTP Server

只允許以local user帳戶登入, 不允許匿名(anonymous)登入

限定Server 使用的passive port 範圍為 16688~18888.

設定允許最多20 Clients連線, 且限制 一主機最多只允許開啟二個Clients session.

限制 user 可用的 Bandwidth 為 32KB

限制 user 可使用的VirtualQuota, files 數量最多為1280, spaces 最多為 5M.

Step1.

安裝 Pure-FTPD Server

(1).使用Yast 安裝Pure-FTPD Server:

yast -i

Search -->輸入『pure-ftpd』 --> Enter --> 選擇pure-ftpd => Accept

16


Step2. 設定 pure-ftpd.conf 組態檔 vi /etc/pure-ftpd/pure-ftpd.conf (1). 40

MaxClientsNumber 20 //最多限制 20 個 Client 端連線

52

MaxClientsPerIP

2

74

AnoymousOnly

yes //改為有效帳戶登入

80

NoAnonymous

no //不允許匿名登入

183

PassivePortRange

//相同 IP 只能有 2 個連線數

16688

18888 // passive port

範圍 230

UserBandwidth

32 //使用者最大傳輸速率

347

Quota

//限制 1280 個檔案,5MB 的大小

1280:5

(2).重新啟動服務與設定開機自動啟用 service

pure-ftpd start

insserv

pure-ftpd

17


File and Print Service within MS. --- Samba

 於 Guest OS 安裝 Samba Server, workgroup 名稱為 LXLAB, netbios 名稱為 server20

 分享一 "labdir" 目錄, 僅允許 amy,boby 可以透過網路芳鄰存 取, 且最大可用空間為 10MB.

 於 Host OS 使用 smbclient 存取 "labdir" 分享的資源.

 套用並分享 cups 的印表機, 開放給 MS user 可在網路芳鄰直 接安裝及使用.

Step1:

安裝Samba-server

(1).使用Yast 安裝Samba-server:

yast -i

Search -->輸入『samba』 --> Enter --> 選擇samba、 samba-client、samba-doc=> Accept

18


Step2: 使用yast 建置與管理 Samba-Server Yast -->Network Services -->Samba Server (1).設定 Workgrop or Domain Name

(2). [Start-Up]--> (x)During Boot,[x]Open Port in Firewall

(3).[Shares]-->Add-->設定 Share Name 資訊-->OK

ps.Share Path-->如果不存在,新增一下 mkdir /mnt/labdir,並更 改權限 chmod 1777

/mnt/labdir。

19


(4).[ Identity ]-->設定 NetBIOS Hostname

(5).Advanced Settings-->User Authentication Source-->Add-->TDB database -->刪除 smbpasswd file-->OK-->Finish

20


Step3: 細部修改Samba組態檔與建立Samba帳戶 (1).編輯 smb.conf vi /etc/samba/smb.conf (2).只允許 amy,boby 透過網路芳鄰存取 labidr [labdir] valid users = amy,boby

[global] interfaces = lo eth0 192.168.0.120/24 log file = /var/log/samba/log.%m max log size = 100

(3).新增 Samba 帳戶 amy,boby useradd

-m

amy

useradd

-m

boby

smbpasswd

-a amy

smbpasswd

-a boby

ps.需先建立使用者帳戶再建立 Samba 帳戶

21


Step4:

Quota 安裝與設定

(1).使用Yast 安裝Quota

yast -i

Search -->輸入『quota』 --> Enter --> 選擇quota=> Accept

(2).使用 fdisk 分割或再新增一硬碟,這裡使用/dev/sdb1

(3). mkreiserfs

/dev/sdb1

(4). vi /etc/fstab 將/dev/sdb1 掛載到/mnt/labdir 並

/dev/sdb1

/mnt/labdir

reiserfs

defaults,usrquota 0 0

(5).手動掛載 mount

-a

22


(6) quotacheck

–ugavmc

(7.)quotaon

-uv

(8).insserv

boot.quota

(9).edquota

-u amy

(10). edquota

/dev/sdb1

-u boby

Step5:使用網芳分享印表機 vi

/etc/samba/smb.conf

[global] printing = cups printcap cups

name = cups

options

= raw

23


HTTP Server --- Apache2 

於 Guest OS 安裝 apache2 套件.

設定二個 Name Base VirtualHosts ( www.90688088.com, mail.90688088.com)並可用 browser browsing 成不同的簡單頁面.

於 www.90688088.com virtualhost 上建立二個 VirtualDirectory (www.90688088.com/public 及 www.90688088.com/private),

保護 www.90688088.com/private, 僅允許 amy 及 boby 使用指定密碼 才能檢視 www.90688088.com/private 的頁面.

Step1:

安裝Apache Web Server

(1).使用Yast 安裝Apache

Web Server:

yast -i

Search -->輸入『apache2』 --> Enter --> 選擇apache2、 apache2-example-pages、apache2-prefork、apache2-doc、 apache2-mod-php5=> Accept

24


Step2:

設定與修改組態檔

(1).vi /etc/apache2/default-server.conf 6

DocumentRoot

"/srv/www/www"

11

<Directory

"/srv/www/www">

22

Options

107

ServerName

server1.30900136.com

108

ServerAdmin

webmaster@30900136.com

109

NameVirtualHost

ps.

None

192.168.0.120:80

//44~51、60、65~70 註解。

(2).cd /srv/www (3).cp -a htdocs

www

cp

-a htdocs

mail

cp

-a htdocs

public

cp

-a htdocs

private

ps.www、mail、public、private 裡的 index.html 修改以利識別。

25


(4).新增 www.conf vi /etc/apache2/vhosts.d/www.conf

26


(5).新增 mail.conf vi /etc/apache2/vhosts.d/mail.conf

(6). 設定 www.30900136.com/private, 僅允許 amy 及 boby 使用

cd /srv/www/private vi .htaccess 1

AuthName

"Password Required ..."

2

AuthType

3

AuthUserFile /etc/htusers

4

require

Basic

valid-user

27


(7).設定 amy、boby 密碼

htpasswd2

-cm

/etc/htusers amy

htpasswd2

-m /etc/htusers boby

(8).重新啟動服務

service

apache2

restart

(9). 開機過程自動啟動

insserv

apache2

28


Mail Relay Server --- Postfix  於 Guest OS 安裝 postfix server 並測試 smtp 通連正常 (telnet mail.30900136.com 25)  不是給 @30900136.com 的使用者 email 必須轉寄到 10.120.101.101 (老師的 mail server)  寄出的信件 header, from 的部分必須去除 host 名稱(即只留 下 @30900136.com)  拒絕轉寄來自 192.168.0.20 的信件  寄給 info@30900136.com 的信, 必須轉寄給 amy 收.

Step1:

安裝Postfix-Server

(1).使用Yast 安裝Postfix-server:

yast

-i

Search -->輸入『postfix』 --> Enter --> 選擇postfix=> Accept

29


Step2:

修改組態檔

vi /etc/postfix/main.cf

78

myhostname = mail.30900136.com

85

mydomain = 30900136.com

100

myorigin = $mydomain

264

mynetworks = 192.168.0.0/24, 127.0.0.0/8

664

#myhostname 改為註解

666

inet_interfaces = 192.168.0.120 ::1

672

relayhost = 10.120.101.101 //如信件不是給@30900136 就轉寄給 10.120.101.101

668

加入,$mydomain

678

加入 hash:/etc/postfix/access

service

chkconfig

postfix

postfix

restart

on

//同 677

//重新啟動 postfix 服務

//開機自動啟動服務

30


Step3:

拒絕轉寄來自 192.168.0.20 的信件

vi /etc/postfix/access 最後一行加入 192.168.0.20

REJECT

postmap hash:/etc/postfix/access

Step4:

設定 info 的信件轉寄給 amy

useradd

-m

su -

info

info

vi .forward 加上 amy 即可

31


Recieve Mail Server --- Cyrus-imapd

 於 Guest OS 安裝 cyrus-imapd 及 saslauthd server.  設定 postfix, 給 30900136.com 的 user 信, 轉交給 cyrus-imapd 處理.  設定使用 Kmail 能以 imap 及 pop3 協定順利收送信.

Step1:檢查與安裝cyrus-imapd、cyrus-sasl-saslauthd (1).使用Yast 安裝cyrus-imapd、cyrus-sasl-saslauthd yast -i

(2)Search 『cyrus-imapd』、『cyrus-sasl-saslauthd』套件

Search -->輸入『cyrus-imapd』、『cyrus-sasl-saslauthd』 --> Enter --> 在『cyrus-imapd』、『cyrus-sasl-saslauthd』項目按 + 即可列入安裝清單(i代表已經安裝) => Accept

32


(3). vi /etc/postfix/transport 最後一行加上 30900136.com

cyrus:

postmap hash:/etc/postfix/transport

service

postfix

restart

//重新啟動 postfix 服務

service

cyrus

restart

//重新啟動 cyrus

service

saslauthd

restart

服務

//重新啟動 saslauthd 服務

insserv

saslauthd

//開機自動啟動 saslauthd 服務

insserv

cyrus

//開機自動啟動

cyrus

服務

33


Step2:使用 Kmail 以 imap 及 pop3 協定順利收送信 (1).kmail-->Settings-->Configure Kmail

(2).Accounts-->Receiving-->POP 或 IMAP-->Add-->OK

34


Web-base Mail System --- Squirrel Webmail

 於 Guest OS

安裝 Squirrelmail 及補裝所依賴的套件.

 設定預設的使用者介面語系為繁體中文.  使 user 可使用 browser 連到 mail server 專用的 NameVirtualHost (如:http://mail.30900136.com)收送信件.

Step1:

安裝php5

(1).使用Yast 安裝php5 yast -i

Search -->輸入『php5』 --> Enter --> 選擇php5-gettext、 php5-iconv、php5-mbstring、php5-openssl=> Accept

Step2: 下載 Squirrelmail .

squirrelmail-1.4.20.tar.gz all_locales-1.4.18-20090526.tar.gz ps.可到下列網址搜尋下載 http://software.opensuse.org/search http://squirrelmail.org/download.php

35


Step3: 安裝 squirrelmail 與設定 rpm

-ivh

squirrelmail-1.4.10a-17.4-noarch.rpm

(1).測試原先的 http://mail.30900136.com ,能正常連線。 (2).cd /srv/www (3).mv mail mail.bk

//將原先的 mail 更名備存

(4).mv htdocs/squirrelmail //將 squirrelmail

mail

更名並移到/srv/www 下

.

(5).tar

-zxvf all-locales-xxxxxx.tar.gz

-C /srv/www/mail

//將 all-localesxxx.tar.gz 解壓縮到 /srv/www/mail

Step4: 設定組態檔 vi

/srv/www/mail/config/config.php

11

$org_name = "30900136";

26

$squirrelmail_default_language = "zh_TW";

27

$default_charset = "Big5";

30

$domain = "30900136.com";

31

$imapServerAddress = "mail.30900136.com";

34

$smtpServerAddress = "mail.30900136.com";

36


vi /etc/apache2/httpd.conf

164

vi

DirectorIndex

index.html

index.php

/etc/apache2/conf.d/squirrelmail.conf

%s/htdocs\/squirrelmail/mail //把/srv/www/htdocs/squirrelmail 大量取代成/srv/www/mail

SuSEconfig

service

apache2

chkconfig

chkconfig

restart

saslauthd

cyrus

on

on

37


測試: 使用瀏覽器連線 http://mail.30900136.com 使用 amy 登入,恭喜你成功了。 但是如果你登入後的畫面如下:

請檢查 Server 的 DNS 是否指向自己,因為 SquirrelMail 裡有設定 imapServerAddress 為 mail.30900136.com,他要解析會去找 DNS,但如果是設定外部的 DNS,就解析不到,所以改回自己的 DNS-Server 才解析的到。也可以順利連線囉。

38


心得: 為什麼要寫 Linux 70%的文件呢?

總覺得想把每個學習的過程都留下一點足跡,讓自己有一個 回憶,也讓別人有跡可尋,也順便把自己的筆記稍做一下整 理,在做的過程中有蠻多小細節要注意的,像在松鼠 mail 就卡了很久,結果是一個很小很小的細節,所在實驗的過成 中要去了解原理以及如何運作,才比較不會卡關。 Linux70%快到囉!! 我們大家一起加油打拼!! 如果這一份資料內容有錯誤或者需要修改更正的地方,可以 告知我一下,在做修正。

39

Linux70-akuei  

Linux70-akuei

Read more
Read more
Similar to
Popular now
Just for you