Linux 教育訓練.

Slides:



Advertisements
Similar presentations
本章重点内容  SMB 协议和 Samba 简介  安装和启动 Samba  配置 Samba 文件共享  配置 Samba 打印共享  在 Linux 环境下访问 Samba 共享.
Advertisements

DNS DNS( Domain Name System): 域名系统 DNS 介绍 DNS 基本构成 DNS 名字解析过程 在 Windows2000 中配置 DNS.
命令行操作 shell介绍 常见三种Shell ---Bourne shell(sh) ---C shell(csh)
Linux 網路教學 東南技術學院資訊工程系 職稱:講師 姓名: 曹茂勁 民國 92年 12月.
组网技术与配置 (第3版) 清华大学出版社 ISBN
第四章 用Linux构建服务器 一 Linux入门基础 (一). Linux的安装
Linux 的檔案管理.
UBLink集團 裕笠科技股份有限公司 遠豐科技股份有限公司 鉅創科技股份有限公司
项目10 架设邮件服务器 本章目标 掌握邮件服务器的作用 掌握Sendmail的安装和基本配置 POP3/SMTP 邮件服务器的配置.
資訊安全與系統管理 2013/3/13 Chien wei lin.
校園網路管理實電務 電子計算機中心 謝進利.
Netman Linux 的防火牆設計與應用 Netman
DNS 西安交通大学 李思 2004年8月23日.
Linux品牌 RedHat Linux SuSE Linux Mandrake Linux Caldera Linux
UNIX系統與資料庫安裝 Why UNIX 常用的工具程式介紹 資料庫的安裝.
第一讲:Linux基础培训.
Hadoop 單機設定與啟動 step 1. 設定登入免密碼 step 2. 安裝java step 3. 下載安裝Hadoop
VM架設及LAMP基本設定 陳柏盛.
Linux.
指導教授:黃 燕 忠 教授 研究生 :李欣衛 謝士傑
第 2 章 上機使用 Unix/Linux 內容: 操作介面 主機連線 登入主機 認識系統環境 使用者常用命令.
第 19 章 檔案系統與 權限設定.
Web Server 架設.
台灣大學計算機及資訊網路中心 教學研究組 張傑生
本章导读 Webmin简介 Webmin的安装和配置 停止和启动Webmin服务 使用Webmin配置Samba服务
Linux 入門課程(基礎篇) 講者: Pank
主講人:葉致偉 交大校園網路策進會 臺灣學術網路竹苗區域網路中心 89年網路教育推廣訓練課程 Proxy Server 規劃管理 主講人:葉致偉 交大校園網路策進會
Transparent proxy 班級:資傳四A 組員:林佳辰 陳星宇 邱鈺翔
實驗目的: 明瞭DNS運作原理 建置DNS伺服器
網路伺服器應用 Linux Server Andres, Wen-Yuan Liao
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
JDK 安裝教學 (for Win7) Soochow University
Linux基本操作 實習1.
基礎linux指令說明 Part 1 資訊組 陳宜徽.
DNS y2k/security 相關問題 剖析及對策
岗位技能(三) Linux网络服务器配置与管理 项目2 架设DNS服务器
Linux 圖形操作介面 GUI -- X-window 與 Webmin
第二章 Linux基本指令與工具操作 LINUX 按圖施工手冊.
Linux 基础与常用命令简介 生物信息学培训班 杭州,2018年1月18日 周银聪.
讲议: PXE 介绍及实现 Jarvis
本章主要讲解Internet应用服务器的配置方法,包括DNS服务器、FTP服务器、 服务器。通过对本章的学习,主要掌握以下内容:
第二天 计算机基础技能培训 (一)linux基础知识
實驗目的: 明瞭DNS運作原理 建置DNS伺服器
R教學 安裝RStudio 羅琪老師.
2017 Operating Systems 作業系統實習 助教:陳主恩、林欣穎 實驗室:720A.
第 20 章 帳號與磁碟空間管理 著作權所有 © 旗標出版股份有限公司.
Chapter 6 Linux 檔案權限與目錄配置 VBird 2005/08/03
雲端運算的基石(2) 虛擬化技術實作(XP篇─上)
檔案與磁碟的基本介紹.
雲端計算.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
第 22 章 架設 WWW 伺服器.
網路安全技術期末報告 Proxy Server
Linux作業系統 電腦教室Linux使用說明.
系统管理员培训(I期) 浙江省基层人民法院 -V8版介绍及系统管理培训 二OO八年四月二十三日 法院事业部经理:周春宏
Firewall-pfsense Mars Su
杨振伟 清华大学 第一讲:Linux环境下编程(1)
第八章 Linux WWW和ftp服务的配置
網路資源的建立--LINUX系統 系統管理
台灣大學計算機及資訊網路中心 教學研究組 張傑生
Unix 安裝過程 使用2個磁片 到 rawwrite bootnet.img drvnet.img 利用rawwrite 將image檔寫入磁片.
基本指令.
Cloud Operating System - Unit 03: 雲端平台建構實驗
2018 Operating Systems 作業系統實習 助教:林欣穎 實驗室:720A.
RHCE.
杨振伟 清华大学 第一讲:Linux环境下编程(1)
Linux网络配置管理.
第六章 文件系统与文件管理 6.4 Linux文件管理 1、比较MS DOS 与 Linux的目录结构 一、Linux文件系统的树形结构
Unix指令4-文字編輯與程式撰寫.
Develop and Build Drives by Visual C++ IDE
Presentation transcript:

Linux 教育訓練

課程介紹 第一天 Linux 入門 上午 下午 認識Linux Linux 版本介紹 RedHat Linux安裝過程

課程介紹 第二天 Server 架設 上午 DNS、DHCP、FTP server 實做時間 下午 WWW、MAIL、PROXY

課程介紹 第三天 Linux 系統維護 / 安全議題 系統管理與維護 RedHat Errata 、up2date介紹 問題討論

認識Linux 什麼是Free Software? Shareware/Freeware 不提供Source Code 無法讓使用者自由更改或散播

認識Linux 什麼是自由軟體(Opensource)? Freedom(自由)/Open(開放) Source Code必須公開 任何人都可以自由傳播、下載、使用或改寫

GNU計畫 1983 年 Richard Stallman(自由軟體業的精神教父) 創辦 GNU(GNU’s not Unix)計畫 http://www.gnu.org/

自由軟體基金會 GNU計畫的贊助單位 FSF(Free Software Fundation)提倡免費軟體 FSF自由使用權的三個意義: 可自由修改原始碼 可自由散佈修改過的原始碼,但不得收取任何版權費用

GNU Genel Public License 大眾公有版權/通用公共版權 官方翻譯:自由文件許可證 Copyleft http://www.linux.org.tw/CLDP/GNU/licences/fdl.zh.html http://www.gnu.org/copyleft/gpl.html

LINUX源起 1991 年 8 月 芬蘭的一個學生在comp.os.minix 新聞組貼上了以下這段話: 「你好,所有使用 minix 的人 -我正在為 386 ( 486 ) AT 做一個免費的操作系統 ( 只是為了愛好 ),不會像 GNU 那樣很大很專業。」

GNU與Linux GNU 仍自行發展Hurd Kernel 開發許多以GPL發行的應用程式與工具程式 Linux(Linus’s Unix) 由網路上熱心的朋友一起發展Linux Kernel 採用GNU發展的許多應用程式與工具程式 應該稱作GNU/Linux

Linux品牌 RedHat Linux SuSE Linux Mandrake Linux Caldera Linux Turbolinux Debian GNU/Linux Gentoo Linux Linpus Linux

Linux Kernel現況與認證 Kerenl 版本 http://www.kernel.org Linux認證 發展版本-2.5.70 穩定版本-2.4.20 Linux認證 RedHat RHCE http://www.redhat.com/ LPI Level one/two/three http://www.lpi.org

RedHat Linux 9安裝 請拿出書本所附光碟片 我們將開始安裝

安裝第一步 Kickstart 安裝介紹 光碟開機 基本組態設定 選擇語言 鍵盤及滑鼠 選擇安裝方式

分割磁碟 使用Diskdruid 建立磁碟分割區 選擇掛載點,例如 “/” 、“/home”、”/var” 建立swap 分割區 檔案系統類型,ext2、ext3、msdos…etc 分割區大小

開機管理選項 開機管理程式 GRUB LILO 不安裝開機程式 開機程式安裝在哪裡? MBR /boot 的第一個磁區 設定核心參數

網路組態設定 新增網路裝置 選擇網路卡 DHCP設定 IP位址及其它網路資訊設定 Hostname Gateway DNS

防火牆組態設定 使用iptables 高安全 中安全 停用 其他設定

語系/時區/root密碼設定 選取要使用的語系 選取時區 設定 root 密碼

設定認證方式 Shadow/MD5加密認證 是否使用NIS/LDAP等其它認證方式

選取要安裝的套件 選擇安裝套件 套件相依性問題

開始安裝過程 休息時間 記得回來換片繼續安裝

xwindow組態設定 選擇解析度、開機時是否啟動 xwindows 預設桌面管理員 選擇顯示卡 設定螢幕

最後安裝 建立開機片 取出安裝光碟 重開機

Linux 開機流程 BIOS 嘗試在開機磁碟機的第 0 磁區、第 0 磁柱載入可供開機的磁區開機 開機載入程式 (boot loader ,如 LILO或Grub)的程式碼 找出 kernel 所在位置,接著載入並執行它以啟動開機程序 一旦 kernel 載入完畢,一些基本設備也完成初始化 (initialization) 嘗試從某個設備載入以及掛上 (mount) root filesystem 一旦 root filesystem 被載入並掛上,會看到一行訊息像: VFS: Mounted root (ext3 filesystem) readonly

Linux 開機流程 此時系統會在 root filesystem 上找到 init 程式 ( 在 /bin or /sbin) 並執行 init 讀取它的組態設定檔 (configuration file) /etc/inittab ,找出檔中標明 sysinit 的一行,並執行被指名的script。這個 sysinit script 通常類似 /etc/rc 或 /etc/init.d/boot 這兩個檔。這個 script 是一組建立基本系統服務的 shell 指令,諸如: 對所有磁碟執行 fsck 載入必備的核心模組 (modules) 啟動 swapping 進行網路初始化 將指定在 fstab 內的磁碟掛上

Linux 開機流程 當 sysinit script 結束後,控制權回到 init 上,接著進入預設的runlevel 預設的 runlevel 以 initdefault 這個關鍵字被指定在 /etc/inittab 內

runlevel 說明 0 – 關機 halt (不要在 initdefault 設定這個) 1 – 單人模式 Single user mode 2 – 多人模式未含網路功能 Multiuser, without NFS (與 runlevel 3 相同, 用在沒有網路環境下) 3 – 完整多人使用者模式 Full multiuser mode 4 – 未使用 unused 5 – xwindow 模式 X11 6 – 重開機 reboot (不要在 initdefault 設定這個)

man 男人? 線上查詢 man page # man ls # man 1 ls # info ls /etc/man.conf whatis filename

vi 文書處理器 vi 管理員至少一定要會一種編輯器 vi 的使用: 一般模式:移動、複製、刪除、貼上 編輯模式:插入與取代文件 指令列模式:搜尋、自動取代、檔案存取等

vi help h,j,k,l 移動 / 搜尋 yy 複製 :%s/x/y/g 自動取代 dd 刪除 p 貼上 :w 寫入 o,i,a 插入 R,r 取代 u 回復 / 搜尋 :%s/x/y/g 自動取代 :w 寫入 :q 離開 :wq! 寫入強制離開

Linux 檔案 # touch test # ls –al test

Linux 檔案種類 正規檔案( regular file ) 目錄 (directory): 連結檔 (link): 第一個屬性為 [ - ] 純文字檔(ascii) 二進位檔(binary)  目錄 (directory): 第一個屬性為 [ d ] 連結檔 (link): 第一個屬性為 [ l ] 設備檔 (device): 區塊 (block) 設備檔,第一個屬性為 [ b ]; 字元 (character) 設備檔,第一個屬性為 [ c ]。

Linux 檔案屬性

更改 Linux 檔案屬性指令 r=4,w=2,x=1 # chmod 770 test u g o a +(加入) -(除去) =(設定) owner  = rwx  = 4+2+1 = 7 group  = rwx  = 4+2+1 = 7 others = ---  = 0+0+0 = 0 r=4,w=2,x=1 # chmod 770 test u g o a +(加入) -(除去) =(設定) r w x 檔案或目錄 chmod

更改 Linux 檔案擁有者指令 語法: chown [ -R ] 帳號名稱 檔案或目錄 chown [ -R ] 帳號名稱:群組名稱 檔案或目錄 範例: [root@test root]# chown games test [root@test root]# ls -l test drw-r--r--    1 games     root        0 Jun 20 14:36 test [root@test root]# chown –R root:root tmp

更改 Linux 檔案所屬群組 語法: chgrp 群組名稱檔案或目錄 範例: [root@test root]# chgrp users test [root@test root]# ls -l drw-r--r--    1 root     users        1 Jun 20 14:36 test

Linux 目錄結構 /bin:常用系統程式目錄 /boot:開機設定檔,也是預設擺放核心 vmlinuz 的地方 /dev:擺放所有系統裝置檔案的目錄 /etc:幾乎系統的所有設定檔案均在此,尤其 passwd, shadow /etc/rc.d/init.d:系統開機的時候載入服務的 scripts 的擺放地點 /home:系統使用者的家目錄

Linux 目錄結構 /lib:Linux 執行或編譯程式函式庫目錄 /mnt:軟碟與光碟接預設掛載點的地方 /proc:系統核心與執行程序的一些資訊 /root:系統管理員的家目錄 /usr/bin, /bin:一般執行檔擺放的地方 /usr/sbin, /sbin:系統管理員常用指令集 /var:擺放系統記錄檔案的地方 /lost+fount:擺放系統不正常產生錯誤時遺失的片段

Linux 管理工具介紹 檔案與目錄管理 磁碟與硬體管理 程序與資源管理 RPM的管理 帳號與身份管理

檔案與目錄管理 目錄與路徑 相對路徑與絕對路徑 .     代表此層目錄 ..    代表上層目錄 ~     代表自己的家目錄 ~user 代表到 user 這個人的家目錄

檔案與目錄管理 cd pwd mkdir rmdir 變換目錄 刪除一個裡面是空的空目錄 cd /root 環境變數PATH 顯示目前的目錄 建立一個新目錄 mkdir –p /root/abc/123 rmdir 刪除一個裡面是空的空目錄 rmdir –p abc/123 環境變數PATH echo $PATH PATH=”$PATH”:/root

檔案與目錄管理 ls [-ailS] 參數說明: -a       :全部的檔案都列出(連同隱藏檔) -i       :印出 inode 的值 -l       :長的列出,連同檔案大小的資料等等 -S       :以檔案大小排序

檔案與目錄管理 cp [-drsu] [來源檔] [目的檔] 參數說明: -d:在進行 copy 的時候,如果是 copy 到 link 檔案,若不加任何參數,則預設情況中會將 link 到的原始檔案copy 到目的地,若加 -d 時,則 link 檔案可原封不動的將 link 這個捷徑其拷貝到目的地 -r:可以進行目錄的 copy -s:做成連結檔,而不 copy 之意!與 ln 指令相同功能! -u, --update:如果來源檔比較新,或者是沒有目的檔,那麼才會進行 copy 的動作

檔案與目錄管理 rm [-fir] [檔名] 參數說明: -i     :提供使用者確認(這是預設值) -r     :遞迴刪除 -f     :強力刪除

檔案與目錄管理 mv [-u] [來源檔] [目的檔] 參數說明: -u   :同樣的,為 update 的簡寫,當來源檔比目的檔還新的時後才會動作

觀看檔案內容 cat 由第一行開始顯示檔案內容 tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫 more 一頁一頁的顯示檔案內容 less 與 more 類似,可以往前翻頁 head 只看頭幾行 tail 只看尾巴幾行 nl   顯示的時候,順道輸出 行號 od   以二進位的方式讀取檔案內容

連結檔的介紹 連結檔的介紹: 什麼是 inode ln Block 是記錄『檔案內容資料』的地區,而inode 則是記錄『該檔案的屬性、及該檔案放置在哪一個 Block 之內』的資訊 ln hard link 不能跨 filesystem/不能 link 目錄 symbolic link ln [-s] [來源檔] [目的檔]

檔案與目錄權限 chown 改變檔案的擁有人 chgrp 改變檔案的所屬群組 chmod 改變檔案的可寫、可讀、可執行等屬性 umask 改變預設的建立檔案或目錄時的屬性 chattr 改變檔案的特殊屬性 lsattr 顯示檔案的特殊屬性

搜尋檔案或目錄 which 查看可執行檔案的位置 # which ls whereis 查看檔案的位置 # whereis [–b/-m] ls locate 配合資料庫查看檔案位置 # locate ls #updatedb find 尋找檔案 # find / -name “ls”

磁碟與硬體管理 查看硬碟或目錄的容量:df, du 切割與格式化硬碟:fdisk, mke2fs, e2label, mknod 檢查硬碟壞軌與資料同步化寫入:fsck, sync 關於軟碟開機片: mkbootdisk, fdformat 各式磁區的掛載:mount, umount 設定開機時即掛載的方式:/etc/fstab 虛擬記憶體 Swap:mkswap, swapon, swapoff 磁碟效能:hdparm

程序與資源管理 什麼是程序? 任何觸發系統工作的事件,系統會給予一個 process ID 來控制該事件的執行,這個 PID 就是程序 需要注意到,程序『屬於誰?他的權限是不同的!』而程序執行後輸出的訊息則與資料流有關

程序與資源管理 如何觀察程序? 常駐記憶體的程式(daemon, 服務) top ps 在背景下執行 是系統正常運作所必需要的(syslog,cron) 是某些服務提供所必需要的(www, mail..)

程序與資源管理 程序的優先執行順序? Priority nice value nice 新的 PID renice 已存在的 PID

程序與資源管理 給予程序『訊號, signal』 kill -signal PID -1 重新讀取設定檔 -9 無條件強制驅離記憶體

程序與資源管理 重要的程序之一:syslog 系統在背景下工作的各項服務所產生的『訊息』均統一由 syslog 這個服務 (daemon) 所管理 /etc/syslog.conf /var/log/messages /var/log/secure ...

程序與資源管理 背景與前景之工作管理 & 與 ctrl + z jobs fg, bg, kill %number

程序與資源管理 工作排程 循環式工作排程: crontab /etc/crontab 單一工作排程: at

Linux 套件管理 Tarball 為原始碼 (open source) 大部分的 tarball 均支援跨平台 需要額外的套件支援:make, kernel source, gcc 等等 升級、反安裝等較為不方便

Linux 套件管理 RPM 具有資料庫:容易安裝、升級、移除 在查驗及搜尋方面極為有效率 漏洞修補速度快速 最大的缺點:屬性相依的問題(這包含了版本、平台等等)

RPM的管理 安裝 rpm –ivh bash.rpm 升級 rpm –uvh bash.rpm 驗證 Rpm –V bash

RPM的管理 移除 rpm –e bash 查詢 rpm –qa bash 重建rpm資料庫 rpm --rebuilddb

帳號與身份管理 帳號管理 groupadd groupdel useradd userdel chsh chfn userconf

帳號與身份管理 密碼管理與設定 passwd 使用者身份切換 su sudo visudo

帳號與身份管理 使用者查詢 id finger groups

RedHat Linux 設定指令 setup Authentication configuration:這是關於系統性安全的設定項目 Firewall configuration :這個是關於 ipchains 的防火牆機制設定 Mouse configuration :設定滑鼠的型態 Network configuration :設定網路參數 System services :設定系統服務啟動 Printer configuration :設定印表機囉 Timezone configuration :設定時區

RedHat Linux 設定檔 /etc/sysconfig/* 裡頭的設定檔案 系統啟動服務工具 ntsysv service ntsysv [--level run-level] service service [service name] [start|stop|restart] chkconfig chkconfig [--level levels] [--list|add|del] [service name] init init [0-6]

Shell 指令的操作 每行指令均以 Enter 為『開始執行』的依據,不過可以 \ 延續下達 指令可接續參數(Options)來達成多樣化的工作 大小寫是完全不同的 藉由輸出訊息可瞭解問題、解決之

Shell 變數的功能 環境當中,一些必要指令的用途 HOME 家目錄 MAIL 用 mail 時取得的 mailbox PS1 提示字元囉! PATH 執行檔的搜尋路徑 ? 上個指令的執行結果回傳值

Shell 變數的功能 簡化與優化指令或 scripts 例如常使用的字串取代、 常使用的路徑取代….

Shell 進階指令操作--資料流重導向 將指令執行後,應該由螢幕輸出的的訊息導向到裝置或檔案當中; # ls /home >> right 2>> error 最常見在『背景』工作中!例如系統的一堆背景工作紀錄(syslogd)

Shell 進階指令操作--管線命令 pipe 將輸出的訊息繼續進行處理

Shell 進階指令操作--管線命令 pipe # last | grep root | wc -l # cat /etc/passwd | cut -d ‘:’ -f1 > accout

系統關機 關機 重新起動 shutdown –h now halt poweroff init 0 shutdown –r now reboot init 6

討論時間 有任何問題歡迎直接提出一起討論 第一天課程結束 明天講解Server架設與實作

網路工具 一些網路偵錯指令 遠端連線使用指令 文字界面網頁瀏覽 ping, ifconfig, ifup, ifdown, netstat, route, traceroute, host, dig, nslookup 遠端連線使用指令 telnet, ssh, ftp, ncftp, lftp, wget 文字界面網頁瀏覽 lynx, links

RedHat Linux 網路設定 修改主機名稱與Gateway等設定 修改網路卡設定 修改DNS與Hosts設定 /etc/sysconfig/network 修改網路卡設定 /etc/sysconfig/network-script/ifcfg-eth0 修改DNS與Hosts設定 /etc/resolv.conf /etc/hosts

DNS Server 何謂DNS? 如何作業 Domain Name Server 正查 反查 給domain name, 回應ip 給ip, 回應domain name

DNS Server查詢方式

DNS Server套件-BIND 套件:bind-9.2.1-16, bind-utils-9.2.1-16 服務:named 服務埠:53 upd, 53 tcp 設定檔:/etc/named.conf , /var/namd/*

設定 BIND 預設的設定檔為 /etc/named.conf 全域選項,直接宣告於options底下: options { directory “/var/named”; fowrarders { 168.95.1.1; }; allow-query {192.100.100/24; }; allow-transfer {192.100.100/24; }; };

Master選項: Slave選項: zone “example.com” { type master; file “db.example.com”; }; Slave選項: type slave; masters { 192.100.30.1; };

Reverse lookup(反向尋查)選項: zone “30.168.192.in-addr.arpa”{ type slave; masters { 192.168.30.1; }; file “db.30.168.192”; }; Root 選項: zone “.” { type hint; file “named.ca”;

SOA (Start of Authority) 每個ZONE選項中都要有此設定 exmaple.com. IN SOA example.com. root.example.com ( 2003053001 ; serial number 300 ; refresh 60 ; retry 1209600 ; expire 43200 ; minimum TTL for negative answers )

NS (name server) 每一個master 及 slave DNS 都要有一個NS 紀錄 例: example.com. IN NS ns.redhat.com. ns.example.com. IN A 192.168.30.1

主要紀錄的型式 A紀錄對映hostname到IP位址 CNAME定義位址的別名 PTR紀錄IP位址對映到hostname mail.example.com. IN A 192.168.30.3 www.example.com. IN A 192.168.30.4 CNAME定義位址的別名 mx IN CNAME mail www2 IN CNAME www.redhat.com. PTR紀錄IP位址對映到hostname 3 IN PTR mail.redhat.com.

MX 紀錄 MX 結合 domain name來處理其電子郵件 example.com. IN MX 5 mail.example.com exmaple.com. IN MX 10 mail2.example.com

實做 修改 /etc/named.conf 設定讀取目錄 /var/named 建立一個 root 的 zone 設定 建立一個 example.com 的 zone 設定 建立一個 192.168.30 的反查 zone 設定

實做 建立 example.com.zone 檔 建立 example.com.rev 檔 設定 ns server 為 192.168.30.1 設定 A 記錄 設定 MX 記錄 設定 CNAME 記錄 建立 example.com.rev 檔 設定 PTR 紀錄

DNS Server 啟動與停止 /etc/init.d/named start 啟動 tail –f /var/log/messages 查看 log 紀錄 /etc/init.d/named stop 停止 killall named or kill -9 PID

DNS Server 驗證 nslookup www.example.com nslookup 192.168.30.3 dig exmaple.com mx host www.exmaple.com

DNS Server Lab 請建立一個以 exmaple.com 為網域且可供正查與反查的DNS Server

DNS Server Lab 檢驗項目 1 檢驗項目 2 # nslookup 192.168.30.1 # host www.example.com www.example.com has address 192.168.30.3 檢驗項目 2 # nslookup 192.168.30.1 1.30.168.192.in-addr.arpa name = ns.example.com.

DHCP server 種類 DHCP 有三種方式, 靜態/自動/動態 靜態方式:手動指定用戶端固定IP 自動方式:自動指定IP位址 管理者在DHCP Server輸入用戶端 IP 與硬體位址 通常用在需要固定IP的各種伺服器主機 自動方式:自動指定IP位址 DHCP Server由預定的IP範圍, 自動分配給用戶端, 且無限期使用 IP範圍必需多於用戶端電腦數量 會記錄IP與MAC位址的對應資訊, 所以用戶端每次開機後都分配到相同IP

DHCP Server 種類 動態方式:動態分配IP位址 IP範圍少於用戶端電腦數量

DHCP 租用流程 分兩種, 第一種為第一次租用流程 (1)先在區域網路廣播找 DHCP Server DHCP Client => DHCP DISCOVER => DHCP Server (2)找到後由 DCHP Server 提供租用IP資訊 DHCP Server => DHCP_OFFER => DHCP Client (3)DHCP Client 回覆 DHCP Server 收到 IP 資訊, 並請求認可 DHCP Client => DHCP_REQUEST => DHCP Server (4)DHCP Server 收到請求後, 給予認可, DHCP Client啟始租用 IP DHCP Server => DHCP_ACK => DCHP Client

DHCP 租用流程 第二種為, 更新租用流程(在租用期達二分之一後開始動作) (1)DHCP Client 向 DHCP Server 請求延常租用位址時間 DHCP Client => DHCP_REQUEST => DHCP Server (2)DHCP Server 收到後, 回覆 DCHP Client 認可繼續租用 DHCP Server => DHCP_ACK => DHCP Client

DHCP 租用流程 若在這期中 DHCP Server 沒有給 DHCP Client 任何回應, 當 DHCP Client 達租用期限時, 就會停止使用, 再回到以第一種方式申請租用新的IP位址.

DHCP Server 套件 套件: dhcp-3.0p11-23.i386.rpm dhcp-devel-3.0p11-23.i386.rpm 設定檔路徑: /usr/share/doc/dhcp-3.0p11/dhcpd.conf.sample Copy 至 /etc/dhcpd.conf 相關檔案: /etc/sysconfig/dhcpd /var/lib/dhcp/dhcpd.leases

dhcp.conf 整體設定(Global):裡面含有租約期限、還有 DNS IP 與 router 的設定 動態 IP 設定:使用 subnet 的項目與 range 的參數來設定要分配出去的 IP 靜態 IP 設定:使用 host 這個項目段,配合 MAC 來設定 『#』為註解符號; 除了括號那一行之外,其他的每一行後面都要以『 ; 』做為結尾

dhcp.conf Example option domain-name “example.com"; option domain-name-servers 168.95.1.1, 192.168.30.1; # 設定DNS IP #動態 IP 分配的設定: subnet 192.168.30.0 netmask 255.255.255.0 {    range 192.168.30.100 192.168.30.200;    option broadcast-address 192.168.30.255;    option routers 192.168.30.254; }

dhcp.conf Example # 靜態 IP 的設定: host server1 {    hardware ethernet  00:40:95:30:43:B4;    fixed-address 192.168.30.90;    option broadcast-address 192.168.30.255;    option routers 192.168.30.254; } default-lease-time 259200;   # 預設的租約時間,後面接的時間為秒鐘。 max-lease-time     518400;   # 最大租約時間,最長到 518400 秒

DHCP Server 啟動 與 除錯 /etc/init.d/dhcpd start tail -f /var/log/messages

DHCP Client 設定 將 Client 端的TCP/IP設定改為自動取得IP Windows 驗證 Linux 驗證 Ipconfig /all winipcfg Linux 驗證 Ifconfig -a

DHCP Server Lab 設定動態 IP 範圍 192.168.30.100~192.168.30.200 網卡Mac Address為 00:40:95:30:43:B4 廣播位址為 192.168.30.255 路由位址為 192.168.30.254

FTP server vsFTPD (Very Secure FTP Daemon) 套件:vsftpd-1.1.3-8.i386.rpm TCP 20傳資料 TCP 21傳輸流程的控制 兩種主要身份使用 anonymous real user

vsFTPD 設定檔 /etc/vsftpd.ftpusers /etc/hosts.deny 限制登入的使用者 /etc/hosts.deny 限制登入的網域 /etc/vsftpd/vsftpd.conf 主要設定檔

vsFTPD 啟動與驗證 # /etc/init.d/vsftpd start 啟動vsftpd # lftp localhost # ncftp localhost

FTP Server Lab 請用 vsFTPD 架設一個 FTP Server 設定歡迎訊息 banner_file 讓匿名的使用者可以上傳檔案

WWW Server 套件: httpd { , -devel, -manual } 服務名稱:httpd 啟動的script : httpd 執行埠:80/tcp (http), 443/tcp (https) 設定檔:/etc/httpd/*, /var/www/* 相關: redhat-config-httpd,mod_ssl,以及其它

WWW Server 設定檔 設定檔位置 模組位置 網頁文件預設放置目錄 /etc/httpd/conf/httpd.conf /var/www/html/

httpd.conf 指定給使用者的目錄 MIME 型態設定 宣告index的頁面 UserDir public_html AddType application/x-httpd-php .phtml AddType text/html .htm 宣告index的頁面 DirectoryIndex index.html default.html

httpd.conf 允許連結的設定 使用 .htaccess 檔案 <Directory /var/www/html/internal> order allow, deny allow from .example.com </Directory> 使用 .htaccess 檔案 #sample authentication .htaccess file AuthName “Jack’s home “ AuthType basic AuthUserFile /home/jack require user jack

Virtual Host 虛擬主機 在同一台電腦下, 要建立虛擬主機, 可採用 IP/Name/Port 三種方法建立 (1)IP Base: 使用IP地址將網頁請求對映到正確的頁面目錄, 因此每一個虛擬主機都需要一個IP位址 (2)Name Base: 只有單一IP位址, 但要用不同的網域名稱來呈現不同的網頁內容時, 就是以 Name Base 的方式來將網頁對映到正確的頁面, 但該方式無法使用 SSL 功能, 且需要支援HTTP/1.1的瀏覽器才可以使用. (3)Port Base: 利用不同的 port 設定, 建立起多個虛擬主機.

SSL 連線步驟 Client 端 和 Web Server SSL port 連線.(https) Web Server端將憑證資料傳給 Client 端 Client 端進行憑證資料的確認, 將認可傳給 Web Server 端 Web Server端會再跟 Client 端傳送兩次資料, 一次是以自己的私鑰產生的資料內容, 另一次是Web Server端的公鑰. Client 收到 Web Server 端的加密資料與公鑰後, 將 Web Server 的公鑰產生 Symmetric Key, 並將該 Symmetric Key 傳給 Web Server 端. 兩端將以此 Symmetric Key 建立起加密通道

WWW Server 啟動與除錯 /etc/init.d/httpd start tail –f /var/log/httpd/access_log tail –f /var/log/httpd/error_log

WWW Server Lab 請建立一個以Name Base的虛擬主機 www.example.com www2.example.com 分別可以看到不同的網頁

Mail Server MTA MDA MUA sendmail,postfix,qmail,exim procmail Outlook Express Becky

Mail Server 路由

Mail Server 套件選擇 - Sendmail Sendmail 的特色: 允許各種不同的emial位址路徑 支援虛擬的domains及users 允許偽裝的使用者及機器 提供自動重試失敗傳送郵件的重傳及其它一些情況

Mail Server套件-sendmail 作業型態:System V-launched daemon 套件:sendmail {,-cf, -doc} 、IMAP 服務名稱:sendmail 執行的script:sendmail 服務埠:25(smtp) 設定檔位置:/etc/mail/sendmail.cf, /etc/aliases, /etc/mail/ 相關:procmail、/var/mail/maillog 、/var/spool/mail

m4 以 m4 來設定 sendmail.cf m4 是用來幫助設定sendmail.cf 的範本語言 Red Hat 預設 sendmail 的設定檔是以 /etc/mail/sendmail.mc 來產生的 Red Hat 建議以 m4 的 sendmai.mc 來開始設定sendmail 完整的 README.cf 放在 /usr/share/doc/sendmail 裡

sendmail.cf 主要設定檔 sendmail.cf 包含domain的別名(alias)、標頭、傳送規則等 編輯此檔時請小心並仔細地閱讀說明

/etc/mail/sendmail.cf # 開放中繼功能 # SMTP daemon options # 限制郵件大小 O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 127.0.0.1 改為 0.0.0.0 # 限制郵件大小 # maximum message size O MaxMessageSize=1000000

/etc/mail/access RELAY REJECT DISCARD 修改後記得在 /etc/mail 下執行 make 開放中繼功能 拒絕傳送 DISCARD 直接丟棄 修改後記得在 /etc/mail 下執行 make

/etc/aliase 設定帳號別名 MAILER-DAEMON: postmaster postmaster: root root: admin@example.com sales: jack,john,mary # newaliases

查詢郵件佇列與 log # mailq # tail –f /var/log/maillog

sendmail 啟動與測試 # /etc/init.d/sendmail start # telnet localhost 25 mail from: root@server.example.com rcpt to: root@example.com data This is a test Mail . quit

Mail Server Lab 請用 sendmail 設定好一台可開放 192.168.30.1 向您的 Server 代為轉信的功能.

Proxy Server 什麼是代理伺服器? Proxy 會幫 Client 端的用戶去向目的地取得用戶端所需要的資料 是一個代理人的角色

Proxy Server

Proxy Server 運作方式

Proxy Server 優缺點 優點 快速的存取動作 降低網路的負荷 資料分流 提供防火牆內部的電腦連上 Internet 多層次的管道 ( 上層代理伺服器 ) 缺點 容易為 Intranet 的內部人員濫用 需要較高超的設定技巧與除錯程序 可能會取得舊的錯誤資料

上層Proxy Server SeedNet 的代理伺服器(http://service.seed.net.tw/dial/server.shtml) Hinet 的代理伺服器(http://www.hinet.net/support/new_adsl04.htm)

硬體要求與最佳硬體配置方式 CPU 最好能夠 P III 550 以上等級 RAM 最好能夠大於 512 MB Hard Disk 最好能用 SCSI 介面的 網路卡與網路周邊最好使用 GBytes 的網路卡

Proxy Server套件-squid 安裝Proxy套件 – squid-2.5.STABLE1-2.i386.rpm 目錄位置:/etc/squid 設定檔:/etc/squid/squid.conf 紀錄檔:/var/log/squid/access.log /var/log/squid/cache.log /var/log/squid/store.log

squid.conf http_port 3128 icp_port 3130 reference_age 1 month cache_dir ufs /var/spool/squid 100 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log pid_filename /var/run/squid.pid

squid.conf #auth_param basic children 5 #auth_param basic realm Squid proxy-caching web server #auth_param basic credentialsttl 2 hours http_access allow all cache_mgr root cache_effective_user squid cache_effective_group squid

squid 設定解說 http_port 3128 以瀏覽器連接到本proxy server時的port cache_mem 8 MB 設定squid可用的記憶體空間 cache_dir ufs /var/spool/squid 100 16 256 設定快取目錄和快取可以使用的硬碟空間,100表示100MB;16表示第一層子目錄最多有16個;256表示每個第一層子目錄下的子目錄最多可以有256子目錄 cache_access_log /var/log/squid/access.log 快取記錄檔的名稱和所在目錄,負責記錄快取的所有行為 cache_log /var/spool/squid/cache.log 快取儲存記錄檔的名稱及所在目錄

squid 設定解說 cache_store_log /var/log/squid/store.log 設定store.log的存放位置 store.log、cache.log、access.log要定時備份並刪除,以免佔磁碟空間 reference_age 1 month 設定快取的資料保存時間 cache_mgr root squid出問題時要通知的管理者

acl的用法 <acl> <acl名稱> <acl類型> <設定的內容> acl類型 以來源端:src,srcdomain 以目地端:dst,dstdomain 以正規表式法:url_regex [-i] ^http:// urlpath_regex [-i] \.gif$ 設定的內容 IP or Domain or String acl example dstdomain .com

http_access 用法 設定允許存取 squid Server 的列表 以 acl 的定義來做管制 http_access allow example #設定只允許example的acl訂義存取 http_access deny all #如果要開放的話,改成 allow all

cache_peer 用法 <cache_peer> <主機名稱> <類別> <http_port> <icp_port> <其他參數> 類別:parent(上層),sibling(同一層) http_port/icp_port:3128/3130 其他參數: proxy-only,weight=n,no-query,default,no-netdb-exchange,no-digest 到處向其它proxy server請求會消耗太多網路資源,所以請勿設太多parent和sibling server. cache_peer proxy.hinet.net parent 3128 3130 proxy-only

cache_peer_access 用法 cache_peer_access proxy.hinet.net allow example <cache_peer_access> <上層 Proxy> <allow|deny> <acl名稱> cache_peer_access proxy.hinet.net allow example

不要進行cache的設定值 只要網址列出 cgi 字樣都不做 cache hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin \? no_cache deny QUERY

與時間相關的設定值 refresh_pattern ^ftp: 1440 20% 10080 <refresh_pattern> <regex> <最小時間> <百分比> <最大時間> refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320

與時間相關的設定值 connect_timeout 2 minutes # 連線的timeout時間 peer_connect_timeout 30 seconds # 連線到上層proxy的timeout時間 request_timeout 5 minutes # 連上後,要求的 timeout 時間 persistent_request_timeout 1 minutes # 連上後, 連續要求 timeout 時間

額外的功能參數 與 FTP 有關的設定項目,主要是針對被動式連線 ftp_user Squid@ ftp_passive on 主要與 DNS 的設定值有關,如果在高負載的 Proxy 環境下,可以考慮將 dns_children 提高到 20 左右,這個值最大為 32 dns_timeout 1 minutes hosts_file /etc/hosts

transparent proxy 設定 squid.conf httpd_accel_host proxy.example.com httpd_accel_port 80 httpd_access_with_proxy on httpd_accel_uses_host_header on 設定 NAT 主機的 port map iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.30.0/24 --dport 80 -j REDIRECT --to-ports 3128

啟動 squid server /etc/init.d/squid start tail –f /var/log/squid/access.log

Proxy Client端設定 在Browser的設定選項中找出代理伺服器,給予設定

末端資料分析 pwebstat http://martin.gleeson.com/pwebstats/installation.html 可使用該軟體來做log分析

Proxy Server Lab 兩個人為一組,設定一台簡易的Proxy Server 使用 client 做 Internet 連線,並查看 Proxy Server 是否有代為抓取資料

討論時間 安裝/設定/調校 觀察紀錄檔 有任何問題歡迎提問 第二天課程結束 明天將講解系統維護與管理/網路安全/線上套件更新

系統維護與管理 定時備份資料 檢查系統紀錄檔 調校系統狀態 注意系統安全

備份資料 確定備份資料的來源與目地 使用 tar 搭配 gzip 或 cpio 來完成備份的工作 運用 script 來將資料做備份與紀錄

網路安全 Cracker 常見的入侵技術: 使用工具程式入侵你的主機 蠕蟲或木馬程式 ( Trojan horse ) DoS 攻擊法 ( Denial of Service ) IP 欺騙 Port scan

網路安全 主機維護的幾個重要事項 關閉幾個不安全的服務 升級幾個可能有問題的套件 架設好最起碼的安全防護--防火牆— iptables http://projectfiles.com/firewall 套件

網路安全 移除不必要的服務 使用以下工具檢查 port netstat nmap 使用 ssh 做主機與主機的連線 ssh putty

線上套件更新 RedHat 套件更新 中央研究院 RedHat update Mirror ftp://linux.sinica.edu.tw/redhat/updates

討論與分享時間 歡迎提出在Linux整合上的問題 或 Linux相關議題 一起討論