初学者认识了解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 重要 如果不设置 两个不同的域 不能发送!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章