初學者認識瞭解Red Hat Enterprise 5 Linux

 

Red Hat Enterprise 5 Linux
我很喜歡linux 在最初的時候我以爲linux是個很煩的操作系統,可是真正的接觸到它後才發現他的玄機所在。linux kernel 很強大!可以做很多windows操作系統無法完成的事  DNS IPtables Sendmail httpd Vsftp Samba dhcp 等等 這些服務器器都可以自己完成
linux 最強的 還算是它的LVM or RAID
虛擬邏輯卷 和 磁盤陣列
磁盤陣列的好處可是顯易見的 可以邏輯的把幾個sics磁盤 組合起來當一個硬盤用提高了轉速 用RAID 5 還可以用奇偶效驗來保證數據在損壞下不會丟失.....真是個強大的功能
LVM
虛擬邏輯卷的功能也很強大 在Windows下 如果一個磁盤的分區後 那麼他的磁盤大小是固定的 無法改變 如果你的磁盤滿了 又想再寫進新進的數據那是不可能的 但是在linux下的LVM 缺可以做到 10G 用完了 只要我的擴展分區還剩有空間 我就可以再加 10G 不行 再加10G! 也是很強大的功能

再介紹一個它的yum功能 不依賴數據包的關係 可以解去用rpm 安裝的麻煩!


對於linux 啓動的時候最主要的 3個配置文件就是 /boot下的grub.conf和其他文件
/etc/fstab  /etc/inittab  這三個文件 /boot起引導內核啓動的  /fstab 是掛載的  inittab 是啓動級別 如果這你的linux 系統出了問題 發現這 /fstab 和/boot 不見了 怎麼辦 那麼兩個辦法 第一重新裝 第二就是自己寫 我建議自己寫 這樣很節約時間

Yum Config
#cd /misc/cd/Server
用自動掛在 把光盤自動掛在出來
或者你可以自己掛在光盤
mount -t iso9600(光盤的類型) -o ro(以只讀掛在) /dev/cdrom(光盤存放的位置)  /mnt/[cdrom  cdrom是你自己建立的文件夾]
#rpm -ivh vsftpd-*
然後安裝VSFTP服務器
#rpm -ivh createrepo-*
安裝製造倉庫用的命令
#cp -rvf  * /misc/cd /var/ftp/pub
然後遞歸拷貝光盤所有的東西  到/var/ftp/pub 目錄下
#cd /var/ftp/pub/
進入到/var/ftp/pub目錄下
#rm -rf *.html
然後不必要的網頁文件 你可以選擇不刪除
#rm -rf /VT/repodata/TRANS.TBL
刪除VT目錄下的/repodate/目錄下TRANS.TBL文件 不刪要出問題
#rm -rf /Server/repodata/TRANS.TBL
同上的道理
#createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server
創建倉庫! -g =generate 產生的意思  調用/var/ftp/pub/Server/repodate/comps-rhel5-server-core.xml 這個函數文件 創建倉庫  位置存放在 /var/ftp/pub/Server下
#createrepo -g /var/ftp/pub/VT/repodata/comps-rhel5-vt-core.xml /var/ftp/pub/VT
創建倉庫! -g =generate 產生的意思  調用/var/ftp/pub/VT/repodate/comps-rhel5-server-core.xml 這個函數文件 創建倉庫  位置存放在 /var/ftp/pub/VT下
#vim /etc/yum.repos.d/rhel-debuginfo.repo
配置yum客戶端
[Server]  你倉庫的名字
name= This is my Server [描述文件 可以自己亂寫]
baseurl=ftp://[你自己VSFTP服務器的地址]/pub/Server  [Server 就是我們建立的剛纔倉庫]
enabled=1  激活倉庫 默認是0 不激活
gpgcheck=0 關閉包檢驗
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  這是包的鑰匙 如果你要開啓包檢驗 就要導入這個鑰匙!命令是
rpm --inport /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[VT]  你倉庫的名字
name= This is my Server [描述文件 可以自己亂寫]
baseurl=ftp://[你自己VSFTP服務器的地址]/pub/VT  [VT就是我們建立的剛纔倉庫]
enabled=1  激活倉庫 默認是0 不激活
gpgcheck=0 關閉包檢驗
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  這是包的鑰匙 如果你要開啓包檢驗 就要導入這個鑰匙!命令是
rpm --inport /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
最後重新啓動你的vsftp服務器
service vsftpd restart
然後yum!
#yum install "samba*
 
PXE auto!
PXE網絡自動安裝linux系統
1 安裝tftp .dhcp.nfs.xinetd 服務
rpm -ivh tftp-3.xxxxxxxxxx.rpm
rpm -ivh dhcp*.xxxxxxx.rpm
rpm -ivh nfs*.xxxxxx.rpm
rpm -ivh xinetd.xxxxxx.rpm
2安裝tftp完畢後會在根目錄自動生成一個文件夾 /tftpboot
3配置tftp  到/etc/xinetd.d/tftp
修改 disable = yes 改成NO
         server_args = -s /tftpboot 改成 server_arge = -u nobody -s /tftpboot
然後保存退出
4 配置DHCP
vim /etc/dhcp.conf
在ignore client-updates;下添加
allow booting;
allow bootp;
class "pxeclients"{
match if substring(option vendor-class-identifier,0,9)="PXEClient";
filename "pxelinux.0";
next-server 192.168.0.30;
}
然後進入到自己的光驅 進入isolinux目錄 拷貝所有的東西到/tftpboot下
然後進入/tftpboot目錄 建立文件夾pxelinux.cfg
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
cp /tftpboot/isolinux.cfg ./pxelinux.cfg/改名爲default
然後修改NFS
vim /etc/export
[光盤存放位置]           192.168.0.0/24(ro,sync)
#exportfs -av 寫入內存不寫入磁盤
最後啓動所有服務改啓動級別
service dhcpd start
service nfs start
service xinetd start
chkconfig --level 2345 nfs on
chkconfig --level 2345 tftp on
chkconfig --level 2345 xinetd on
如果要自動完全安裝的話 要拷貝
anaconda-ks.cfg這個文件到你共享光盤的那裏
改名爲ks.cfg 權限給上go+w
然後還要修改/tftpboot/pxelinux.cfg/default文件
在第一個kernel vmlinz下面加上這行
ks=httpd://192.168.0.1/ks.cfg
腳本文件用system-config-kickstart命令生成
KS.CFG設置成用httpd服務下載
記住 如果顯示錯誤 多重新啓動下nfs和xinetd和portmap  和多用exportfs -av 立即寫入內存

DHCP配置文件中的parameters(參數):
ddns-update-style 配置DHCP-DNS 互動更新模式。
default-lease-time 指定確省租賃時間的長度,單位是秒。
max-lease-time 指定最大租賃時間長度,單位是秒。
hardware 指定網卡接口類型和MAC地址。
server-name 通知DHCP客戶服務器名稱。
get-lease-hostnames flag 檢查客戶端使用的IP地址。
fixed-address ip 分配給客戶端一個固定的地址。
authritative 拒絕不正確的IP地址的要求。
DHCP配置文件中的declarations (聲明):
shared-network 用來告知是否一些子網絡分享相同網絡。
subnet 描述一個IP地址是否屬於該子網。
range 起始IP 終止IP 提供動態分配IP 的範圍。
host 主機名稱 參考特別的主機。
group 爲一組參數提供聲明。
allow unknown-clients ﹔deny unknown-client 是否動態分配IP給未知的使用者。
allow bootp;deny bootp 是否響應激活查詢。
allow booting﹔deny booting 是否響應使用者查詢。
filename 開始啓動文件的名稱,應用於無盤工作站。
next-server 設置服務器從引導文件中裝如主機名,應用於無盤工作站。
DHCP配置文件中的option(選項):
subnet-mask 爲客戶端設定子網掩碼。
domain-name 爲客戶端指明DNS名字。
domain-name-servers 爲客戶端指明DNS服務器IP地址。
host-name 爲客戶端指定主機名稱。
routers 爲客戶端設定默認網關。
broadcast-address 爲客戶端設定廣播地址。
ntp-server 爲客戶端設定網絡時間服務器IP地址。
Linux Apache
配置web服務器
1步 用yum 安裝httpd
2步 配置 vi /etc/httpd/conf/httpd/conf
3步 查找 “NameVirtalHost *:80” 將註釋去掉 改成本機的IP地址
找到<VirtualHost *:80> 然後把*註釋改爲自己的IP地址
      DocumenRoot  /var/www/html    你網站的放置文件的地址
      ServerName   yh150.same.org   你網站的名字  但是這裏配置了 DNS裏面要配置 雖然域名不同但是指象一個IP
<directory "/var/www/html"> 對目錄定義隨可以訪問 誰不可以訪問
order allow,deny   拒絕所有隻允許192.168.0.20 這個可以訪問這
allow from 192.168.0.20       網站,禁止單個IP地址是不需要加掩碼的!重  
  </directory>                           要
      </VirtualHost>
找到<VirtualHost *:80> 然後把*註釋改爲自己的IP地址
      DocumenRoot  /var/www/htmlf    你網站的放置文件的地址
      ServerName   yh1501.same.org   你網站的名字  但是這裏配置了 DNS裏面要配置 雖然域名不同但是指象一個IP
      </VirtualHost>

APACHE 別名 Alias
Alias /but "/mnt/same"    /but的是/mnt/same目錄的一個別名
<Directory "/mnt/same">   這裏的意思是 對於這個別名的目錄 需要怎麼權限配置
Options Indexs Multiviews 這裏的意思是 在默認沒有文件的情況下用列表顯示
AllowOverride None  
order allow,deny  這裏是拒絕所有
allow  from 192.168.0.0/255.255.255.0 這裏的意思是隻有192.168.0.0這個網段可以訪問這個/but 別名目錄
</Directory>
給網頁增加密碼
<Directory "/var/www/html">  這裏是你要加密的網頁的主存放位置
      AuthName "Enter your password" 描述文件
      AuthType basic 認證類型[基本]
      AuthUserFile /etc/httpd/conf/passwd 文件存放位置  passwd需要自己創建
      require valid-user 只認證passwd裏面存放的用戶
</Directory>
創建passwd的命令
htpasswd -c /etc/httpd/conf/passwd [新建用戶名]  
然後在 chroot/var/www/html 下創建index.html
然後在 chroot/var/www/htmlf  下創建 index.html
重新啓動HTTPD
#service httpd reload
#service httpd restart
Linux Squid!
http服務器代理
第一步安裝 squid  注意!/etc/sysconfig/network 和/etc/hosts 下的 主機名字必須相同 否者安裝後無法啓動
#yum install “squid”
客戶端 DNS 不是網站服務器的IP
第二步 進入/etc/squid/squid.conf 配置!
第三步
查找 http_port  端口號 記錄下端口號 或者可以修改 但是必須記鬧
第四步
查找 ACCESS CONT
在這裏添加 可以訪問代理服務器的主機IP 或範圍
如 acl [struggle變量]   src  192.168.0.0/255.255.255.0
3查找 http_access deny all 這一行 並且在它的上面添加
http_access allow struggle

【例1】禁止IP地址爲192.168.16.200的客戶機上網。
acl badclientip1 src 192.168.16.200
http_access deny badclientip1
【例2】禁止192.168.1.0這個子網裏所有的客戶機上網。
acl badclientnet1 src 192.168.1.0/255.255.255.0
http_access deny badclientnet1
【例3】禁止用戶訪問IP地址爲210.21.118.68的網站。
acl badsrvip1 dst 210.21.118.68
http_access deny badsrvip1
【例4】禁止用戶訪問域名爲www.163.com的網站。
acl baddomain1 dstdomain -i www.163.com
http_access deny baddomain1
【例5】禁止用戶訪問域名包含有163.com的網站。
acl badurl1 url_regex -i 163.com
http_access deny badurl1
【例6】禁止用戶訪問域名包含有sex關鍵字的URL。
acl badurl2 url_regex -i sex
http_access deny badurl2
【例7】限制IP地址爲192.168.16.200的客戶機併發最大連接數爲5。
acl clientip1 src 192.168.16.200
acl conn5 maxconn 5
http_access deny clientip1 conn5
【例8】禁止192.168.2.0這個子網裏所有的客戶機在週一到週五的9:00到18:00上網
acl clientnet1 src 192.168.2.0/255.255.255.0
acl worktime time MTWHF 9:00-18:00
http_access deny clientnet1 worktime
【例9】禁止客戶機下載*.mp3、*.exe、*.zip和*.rar類型的文件。
acl badfile1 urlpath_regex -i \.mp3$  \.exe$  \.zip$  \.rar$
http_access deny badfile1
【例10】禁止QQ通過Squid代理上網。
acl qq url_regex -i tencent.com
http_access deny qq
最後啓動squid
#service squid restrat
Linux Samba Server
smaba服務器!smaba端口號  139 445 端口   NFS 拒絕用111端口 基於RPC
在/etc/samba/smb.conf
在裏面找到hosts allow 這行 註釋掉 寫入你允許的IP地址或者網段注意!如果你設置了,那麼就只允許這裏面的主機和網段訪問samba服務器!
參數
home目錄
comment=描述信息
browseable=yes no 是否登陸就能見到此目錄
wirtable=yes/no 是否所有人對此目錄是否可以寫
valid users / invalid users = 允許某些用戶和組可以看到和訪問這目錄 用戶和組用,和@分割開!invalid 是不允許
path=/xxxxx/xxxxx 共享目錄的路徑
write list = 在這裏面可以人員是可以寫的!用戶用,隔開
組用@分割開來
publice 這裏用pubice 上面的security 就要把 user 改成share  改後就不需要密碼就可以登陸samba
create mode[對於新建立文件] / directory mode [對於新建目錄] = 644 意思是在你共享的目錄裏創建新文件後的權限會和你這裏設置的一樣
*share mode =yes/no 意思就是對於某個特定的目錄 可以讓它成爲share 不用密碼直接登陸!
創建samba用戶
*smbpasswd -a [用戶名] 但是這個用戶必須存在系統存在!
修改密碼
smbpasswd [用戶名]
username map =/etc/smaba/    系統用戶 和samba用戶的映射
最後啓動smaba服務
samba掛在
mount -t cifs //ip/目錄 [本地目錄] -o username=賬號,passwd=密碼
smbclient -L //ip [-U用戶名]
samba
添加用戶
WINDOWS下清空緩存
net use * /del
Linux DNS
第一步 yum 安裝bind 軟件包
第二步 移動到/var/namd/chroot/var/named
第三步 創建 dig > namd.ca
第四步 在/var/namd/chroot/etc 下創建文件 vim named.conf
acl [變量same] {192.168.1/24;..........;192.168.8/24};
options {
        directory "/var/namd";文件存放位置
        forwarders {172.18.0.6;}; 上級主域服務器地址
     allow-query {192.168.1/24;}; 允許這個網段的訪問這個dns服務器 也可以用上面的same變量批量定義
        allow-transfer {192.168.1/24;};允許這網段或單個主機拷貝這個服務器的zone信息
        recursion yes;
};
      zone "." IN {
        type hint;    hint 根 master 主 slave 次
        file "named.ca"   根文件名
};
        zone "same.org" IN {    服務器域名
        type master;      
        file "same.org.zone";  這裏建立什麼名字正向解析文件就是什麼名字
        forwarders {};
};
        zone "1.168.192.in-addr.arpa" IN {  反向解析
        type master;
        file "192.168.0.zone";  這裏建立什麼名字反向解析文件就是什麼名字
forwarders {};
};
        配置從域
        在另外一個DNS上配置 主DNS的從域 文件是/etc/named.conf 相對路徑
zone "same.com" IN {
type slaves;               從域
file "savle/same.com.zone";
masters { 192.168.0.254 ;}; 指定主域DNS的IP地址
};
zone "0.168.192.in-addr.arpa" IN {
type slaves
file "savle/192.168.0.zone"
masters { 192.168.0.254 ;};
};
same.org.zone 文件存放到 /var/namd/chroot/var/named 下!
same.org.zone 文件內容
$TTL 1D 代表生存期一天    SOA代表授權 每一個域文件中都應該有個授權
@ 代表本機 IN  SOA  www.same.com. root.same.com.( ←本機的域名 root是郵件地址 www是主機地址
             20080702 代表版本號
             1H       代表1小時更新 主域名和從域名服務器連接刷新時間設置
                          10M      代表連接失敗重試10分鐘後再次連接
                          1W       代表最多1周服務器沒連接上 服務器失效
                          1M       服務器失效後1分鐘清楚緩存

@    IN  NS www.same.com.  定義域名服務器對應的域名
@    IN  MX 5 mail.same.com. 定義郵件服務器對應的域名
www  IN  A 192.168.1.1
same.com. IN A 192.168.1.1 直接域解析
bbs  IN  A 192.168.1.5
mail IN  A 192.168.1.7
例如有1-100的IP地址需要批量解析 用GENERATE
$GENERATE 10-99 station$ IN A 192.168.1.$
*    IN  A 192.168.1.1 泛域解析  要用到最後面要不到出問題 !!!
反向same.fx.zone文件內容
$TTL 1D 代表生存期一天     SOA代表授權 每一個域文件中都應該有個授權
@ 代表主機 IN  SOA  www.same.org. root.same.org.( ←本機的域名
             20080702 代表版本號
             1H       代表1小時更新
                          10M      代表斷開連接後重試10次
                          1W       代表重試10次後1星期內沒連接上過期
                          1M       代表過期後1分鐘次域名報廢

@ IN NS www.same.org.
@ IN MX 5 mail.same.org.
@ IN MX 10 smtp.same.org.
50 IN PTR www.same.org.
50 IN PTR mail.same.org.
50 IN PTR smtp.same.org.
$GENERATE 10-99 $ PTR station$.same.org.
#named-checkconf
默認檢查的配置文件是 /etc/named.comf
然後重新啓動服務
#service named restart
Linux VSFTP
FTP服務器
FTP匿名上傳
配置文件在 /etc/vsftpd/vsftpd.conf
第一步 anonymous_enable=YES 一定要等於YES 纔是支持匿名登陸
激活 anon_upload_enable=YES
激活 anon_mkdir_write_enable=YES
第三步 激活selinux
system-config-selinux
重要的第四步 設置上下文  用chcon設置上下文目錄  
chcon -t public_content_rw_t /var/ftp/pub共享的FTP的主目錄
重要的第五步 給pub目錄的其他位 加上可寫的權限  
chmod o+w /var/ftp/pub
FTP 基於用戶名的上傳和下載
第一步
anonymous_enable=NO 一定要寫成NO 關閉匿名上傳
第二步驟
註釋掉
anon_upload_enable=YES  註釋掉允許匿名上傳
anon_mkdir_write_enable=YES 註釋掉匿名可以讀寫
第三步 system-config-selinux
找到selinux FTP 勾上第6項
chroot_list_enable=YES  鎖定用戶不能切換目錄
chroot_list_file=/etc/vsftpd/chroot_list  chroot_list 裏面存在的用戶就不能隨便切換目錄
自己建立 chroot_list 文件
把etc下的passwd所有用戶導入到這個文件
cut -d : -f 1 /etc/passwd > chroot_list
Linux IPtables Firewall
 
IPtables Firewall
語法
iptables [-t table] <action> [pattern] [-j target]
-A chain: 添加一個規則
-D chain: 刪除一個規則
-L  chain: 列出一個規則
-F chain: 清除所有規則
-X chain: 清除預設表中用戶自己的規則
-P chain: 爲chain指定新的默認策略
可以是
-ACCEPT
-DROP
參數
-s<ip地址> 來源地址
-d<ip地址> 目標地址
-p<協議> 指定協議 例 /tcp/udp/icmp
--dport<端口> 目標端口 需要指定-p
--sport<端口>  來源端口 需要指定-p
-i 是指進入的方向的網卡設備
-o 代表出去方向的網卡設備
target包括
使用 -j 指定
REJECT :拒絕
DROP   : 忽略
ACCEPT: 許可
例子:iptables -A INPUT -d 192.168.0.1 -p tcp --dport 23 -j REJECT

目的NAT (DNAT)路由前 進來之前
NAT地址轉換
iptables -t nat -A PREROUTING -p tcp -d 222.131.25.210 --dport 80 -j DNAT --to-destination 192.168.0.100:80
解釋:在防火牆內添加規則轉發路由 從外網來的 協議爲TCP端口爲80的 目標爲222.131.25.210的數據包 會轉發到內網使用80端口打開192.168.0.100
源NAT (SNAT)路由之後 出去的時候
iptables -t nat -A POSTROUTING -d 192.168.0.100 -p tcp --dport 80 -j SNAT --to-source 222.131.25.210
解釋 在防火牆內添加從內網到外網的轉換  目的地址192.167.0.100 端口爲80的 轉換到源IP 222.131.25.210 的入口地址

有些人經常忘了打開 FORWARD 連的端口  特此增加
iptables -A FORWARD -o eth0 -d 192.168.0.100 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i  eth1 -s 192.168.0.100 -p tcp --sport 80 -j ACCE
Postfix
一定要殺進程!!!!!!killall -9 sendmail
postfix
主配置文件存放在/etc/postfix/main.cf 然後要關閉sendmail
或者用killall -9 sendmail
#myhostname = [定義主機名稱] 要設定DNS 能解析的域
#mydomain = [定義域名]  sina.com
#myorigin = $mydomain, [這裏對應上面mydomain裏定義的域]
inet_interfaces=localhost 這行註釋掉
inet_interfaces=all 取消這行註釋
mydestination = 定義可以接受哪些域發送過來的郵件
mynetworks = [192.168.0.2/24] 允許轉發哪個網段的郵件
relay_domains = $mydestination [自己的轉發域],baidu.com 重要 如果不設置 兩個不同的域 不能發送!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章