用自动挂在 把光盘自动挂在出来
或者你可以自己挂在光盘
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*
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 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 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 重要 如果不设置 两个不同的域 不能发送! |