步骤(搭建服务通用步骤):
- 配置固定的IP地址,设置计算机名称
- 查询系统是否已经安装vsftpd软件
- 关闭防火墙、selinux
- 找包(官方网站、Centos6.5光盘)
- 安装
- 备份配置文件
- 修改配置文件
- 启动服务
- 测试
目录:
1,DHCP服务器的搭建
2,Samba(共享资源,可查看,写入,更名,删除)服务器的搭建
3,NFS共享存储服务器器搭建
4,FTP(用户下载,上传文件)服务器的搭建
5,DNS域名解析服务器的搭建
6,SSH远程管理服务器搭建
7,Cobbler和kickstart自动装机
8,linux防火墙(网关服务器搭建)
内容:(步骤加主要内容)
网络环境和防火墙的关闭
- 使用ifconfig命令修改网卡的地址,状态
- Ip :查看网络接口的数据链路层信息
- Ip address :查看网络接口的网络层信息
- Ethtool eth0 :查看指定网络接口的速率,模式等信息
- 使用route命令查看路由表条目
- 使用netstat命令查看网络连接情况
- 使用tracerroute命令跟踪数据包的路由途径
- 使用route命令添加,删除静态路由记录
- 网络接口配置文件
-
网卡的配置文件位置 /etc/sysconfig/network- s/目录中,文件格式“ifcfg-eth0”, 回环接口lo的配置文件是“ifcfg-lo
- 启用,禁用网路接口配置Ifdown eth0 Ifup eth0
- 主机名称配置文件
-
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=www.nick.com
- 域名解析配置文件
-
/etc/resolv.conf
Vi /etc/resole.conf
Search localdomain
Namesever 192.168.11.1
Namesever 192.168.2.1
5,本地主机映射文件
- /etc/hosts文件中记录着一份主机名与ip地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS 服务器查询。
-
1,关闭防火墙、selinux
[root@VMredhat6~]#/etc/init.d/iptables stop#关闭防火墙(下次启动时失效)
[root@VMredhat6~]#chkconfig--list iptables#查看防火墙启动状态
[root@VMredhat6~]#chkconfig iptables off#关闭防火墙开机自动启动(永久关闭
2,关闭selinux主配置文件/etc/selinux/config
set SELINUX=disabled#SELINUX=enforcing改为SELINUX=disable
-
1,DHCP服务器的搭建
-
DHCP用的端号是UDP67和UDP68
关闭防火墙、selinux
配置固定的IP地址,设置计算机名称
查询系统是否已经安装vsftpd软件
1, 找包(官方网站、Centos6.5光盘)
dhcp-4.2.5-47.el7.centos.x86_64.rpm
- 安装
-
Yum –y install dhcp
- 备份配置文件
-
# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf(默认主配置文件里面没有东西,需要拷贝模板文件)
cp /etc/dhcp/dhcp.conf /home/beifen/dhcp.beifen (最好建个备份目录)
- 修改配置文件
-
vim /etc/dhcp/dhcpd.conf
- 启动服务
-
Service dhcpd start restart stop reload status(centos6zhong)
Chkconfig dhcp on off
Systemctl start dhcpd(centos7和RHEL7zhong)
Systemctl enable/disable/is-enabled/ dhcpd.service
- 测试
-
建两台虚拟机,连接方式为仅主机模式,现在你的linux虚拟机做服务器,另一台虚拟机做客户机,另一台虚拟机获取ip方式设置成自动获取。使用ifconfig查看另一台虚拟机获取的ip地址。可以看到另一台虚拟机已经获得ip。而且ip地址范围也在你设定的ip地址范围以内则成功。
-
2,Samba服务器的搭建
-
使用udp协议端口号:137 138
使用tcp协议端口号:139 445
关闭防火墙、selinux
配置固定的IP地址,设置计算机名称
查询系统是否已经安装vsftpd软件
- 找包(官方网站、Centos6.5光盘)
-
samba-common-3.6.9-164.el6.x86_64主要提供检测工具testparm
samba-client-3.6.9-164.el6.x86_64客户端软件
samba4-libs-4.0.0-58.el6.rc4.x86_64状态数据库文件
samba-winbind-clients-3.6.9-164.el6.x86_64 samba作为windows域成员的一个中介
samba-winbind-3.6.9-164.el6.x86_64 samba作为windows域成员
samba-3.6.9-164.el6.x86_64主程序 (安装的主要包)
- 安装
-
3,备份配置文件
- 修改配置文件
-
smb.conf配置文件分为两大类,一个全局设置参数【global】,一个是文件共享设置参数
/etc/samba/smb.conf
security=share#设置用户访问samba服务器的验证方式,一共四种验证方式
Share(匿名验证)、user(用户验证)、server(服务器代理验证)、domain(主域控制器PDC验证)
#pdbedit-a-u abc //命令用户管理SMB服务程序的账户信息数据库
-a 创建用户 -x 删除用户 -L 列出用户列表 -Lv 列出用户详细信息
vim/etc/samba/smbusers (映射用户共享主配置文件)
- 启动服务
- 测试
-
\\\\192,168.11.160 windows 上登录
Linux上登陆
- 挂载服务器端的共享文件目录到本地 #在/etc/fstab中手动写入
-
//192.168.10.10/data /data cifs credentials=/root/auth.smb 0 0 (备份 自检)
- 登陆共享目录 #smbclient //IP地址或主机名/共享目录名 -U用户名
-
-
3,NFS共享存储服务器器搭建
-
把远程主机de文件共享资源挂载到本地主机的目录上
NFS通常运行于nfs:2049,rpc:3430端口 且一般只能在局域网中使用 一般用户linux之间用
关闭防火墙、selinux
配置固定的IP地址,设置计算机名称
查询系统是否已经安装vsftpd软件
- 找包(官方网站、Centos6.5光盘)
-
Rpc充当NFS客户端和NFS服务器的中介
2, 安装
Yum -y install nfs-utils rpcbind
3, 备份配置文件
- 修改配置文件
-
Vim /etc/exports
/opt/wwwroot 192.168.4.11(rw) 192.168.1.21(ro) 192.1684.12(no_root_squash)
Showmount -e //查看本机发布的NFS共享目录
Mount 192.168.4.11:/opt/wwwroot /var/www/html //本地机挂载共享目录到本地
Vim /etc/fstab //配置文件中挂载
172.16.16.172:/opt/wwwroot /var/www/html nfs default,_netdev 0 0
Autofs自动挂载服务,在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。 配置文件 /etc/auto.master
- 启动服务
-
Service nfs start
Service rpcbind start
6,测试
服务器上的共享目录创建一个文件,客户机上的挂载目录上能否访问。
4,FTP(用户下载,上传文件)服务器的搭建
ftp共享的根目录不能设置为777。
1,找包(官方网站、Centos6.5光盘)
vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
2,安装
yum -y install vsftp
3,备份配置文件
4,修改配置文件
/etc/vsftpd/ftpusers 不能访问FTP用户列表
/etc/vsftpd/user_list 不能访问FTP用户列表
/etc/vsftpd/vsftpd.conf 主配置文件
ftpusers列表中的用户不能访问FTP:这是vsftpd服务在启动后已经决定的,只要在这个列表里面用户都不能访问FTP,没有其它的开关可以控制
同时user_list用户列表和ftpusers用户列表中内相同,当然也不能访问FTP
那么user_list里面如果我们手动添加的用户能否访问FTP
取决于vsftpd.conf配置文件中的两个选项
userlist_enable=YES userlist_deny全局配置项
listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.4.1:设置监听的 IP 地址
listen_port=21:设置监听 FTP 服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用 user_list 列表文件
userlist_deny=YES:是否禁用 user_list 中的用户
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一 IP 地址的并发连接数
匿名 FTP 配置项
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的 FTP 根目录
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
anon_max_rate=0:限制最大传输速率(字节/秒)
本地用户 FTP 配置项
local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的 FTP 根目录
chroot_local_user=YES:是否将用户禁锢在主目录
local_max_rate=0:限制最大传输速率(字节/秒)
虚拟用户配置:
1,建立虚拟FTP账户数据库文件
Vim vusers.list 创建虚拟账户文件
# db_load -T -t hash -f vusers.list vusers.db /将虚拟账户文件转化为数据库文件
# chmod 600 /etc/vsftpd/vusers.* /改变所有以vuser.开头的文件权限为600
2)创建FTP根目录及虚拟用映射的系统用户
# useradd -d /home/myfile -s /sbin/nologin virtual /指定用户的宿主目录位置,指定用户的登录为shell,/sbin/nologin
3)建议PAM认证文件
在/etc/pam.d下创建vsftpd.vu文件 vim /etc/pam.d/vsftpd.vu
#%PAM-1.0 /指明为pam认证
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
4)改主配置文件
配置用户验证
guest_enable=YES //启用用户映射功能
guest_username=virtual //指定映射用户的系统用户
pam_service_name=vsftpd.vu //指定pam的认证文件
5,启动服务
service smd start
chkconfig smd on (开机自动启动)
6,测试
# ftp 192.168.11.5
5,DNS域名解析服务器的搭建
DNS服务默认端口 53
1,找包(官方网站、Centos6.5光盘)
2,安装
3,备份配置文件
Cp /etc/named.conf /etc/named.conf.bar
4,修改配置文件
配置主域名服务器
修改主配置文件 vim /etc/named.conf
options{ //全局配置部分
directory \"/var/named\"; //区域数据文本的默认存放位置
};
zone \"abc.com\" IN { //正向“abc.com”区域
type master; //类型为主区域
file \"abc.com.zone\"; //区域数据文件为abc.com.zone
};
zone \"11.168.192.in-addr.arpa\" IN { //反向“192.168.11.0/24”区域
type master; //类型为主区域
file \"11.168.192.arpa\"; //区域数据文件为11.168.192.arpa
};
创建正向区域文件: vim /var/named/abc.com.zone
$TTL 86400 //有效解析记录的生命周期
@ IN SOA abc.com. Admin.abc.com.( //SOA标记,域名,管理邮箱
2011030501 //更新序列号,可以是10位以内的整数
3H (时) //刷新时间,重新下载地址数据的间隔
15M (分) //重试延时,下载失败后的重试间隔
1W (周) //失效时间,超过该时间仍无法下载则放弃
1D (天) //无效解析记录的生命周期
)
@ IN NS www.abc.com
www IN A 192.168.11.5
Mail IN A 192.168.11.6
News IN A 192.168.11.7
创建反向解析数据文件: vim /var/named/11.168.192.arpa
$TTL 86400
@ IN SOA abc.com. Admin.abc.com.(
2011030501
3H
15M
1W
1D
)
IN NS www.abc.com
5 IN PTR www.abc.com
- IN PTR mail.abc.com
-
7 IN PTR news.adc.com
缓存域名服务器
安装完,不做任何修改,默认就是根服务器的缓存域名服务器,有时候为了提高解析效率,也可以不向根区域查询,而是将来自客户端的查询请求转发给国内电信运营商的DNS服务器(如北京202.106.0.20,202.106.148.1)
Option{.....
forwarders {61.139.2.69};
};
去掉 zone \".\" {.....};
从域名服务器
5,启动服务
5,启动named服务,查看区域数据文件是否下载成功
Service named start
启动named: 【确定】
#ls -lh /var/named/slaves/
总计8.0K
-rw-r--r-- 1 named named 450 8月 14 16:57 192.168.11.arpa
-rw-r--r-- 1 named named 453 8月 14 16:57 abc.com.zone
Service named start //启动服务
Netstat -anptu | grep named //确认named服务的端口监听状态
6,测试
Nslookup www.abc.com //正向解析
Nslookup 192.168.1.6 //反向解析
-
6,SSH远程管理服务器搭建
-
协议 SSH TCP 默认端口号: 22
软件包 openssh
程序名 服务名 sshd
1,找包(官方网站、Centos6.5光盘)
2,安装
3,备份配置文件
4,修改配置文件
openssh的高级配置
Vim /etc/ssh/sshd_config
用户名密码验证
Port 22 //监听端口为22
ListenAddress 172.16.16.22 //监听地址为172.16.16.22
Protocol 2 //使用SSH V2协议
UseDNS no //禁用DNS反向解析
LoginGraceTime 2m //登录验证时间为2分钟
PermitRootLogin no //禁止root用户登录
MaxAuthTries 6 //最大重试次数为6
PermitEmptyPasswords no //禁止空密码用户登录
PasswordAuthentication yes //启用密码验证
密钥对验证
PubkeyAuthentication yes //启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys //指定公钥库数据文件
(SSH协议的版本选用V2比V1的安全性要更好,禁用DNS反向解析可以提高服务器的响应速度)
构建密钥对验证的SSH远程连接
密钥对概念:要求提供相匹配的密钥信息才能通过验证。通常现在客户机创建一对密钥文件(公钥,私钥),然后将公钥文件放到服务器中的指定位置。它们的关系如下:
- 公钥和私钥是成对生成的,这两个密钥互不相同,可以相互加密和解密
- 不能根据一个密钥来推算出另一个密钥
- 公钥对外公开,私钥只有私钥的持有人才知道(私钥可以分享给其他用户,其他用户也可以登录上去了)
-
1)创建密钥对(在客户机上创建)
$ ssh-keygen -t dsa
生成两个文件(公钥文件和私钥文件)
id_dsa 私钥文件
id_dsa.pub 公钥文件
Enter file in which to save the key (/home/zhangsan/.ssh/id_dsa) //指定私钥位置
Enter passphrase (empty for no passphrase): //设置私钥短语(就是密码,登录时密码)
Enter same passphrase again: //确定所设置的短语(密码)
2)客户机上传公钥到远端服务器
$ scp /home/zhangsan/.ssh/id_dsa.pub root@192.168.11.240:/root
//将本机的/home/zhangsan/,ssh/id_dsa.pub文件复制到远程主机的/root目录下
$scp root@192.168.11.240:/etc/passwd /root/pwd240.txt
//将远程主机中的/etc/passwd文件复制到本机的/root/pwd240.text下
Scp远程复制:通过利用ssh安全连接与远程主机相互复制文件。、
Sftp安全FTP:通过命令可以利用SSH安全连接与远程主机上传,下载文件,采用 了 与FTP类似的登录过程和交互式环境,便于目录资源管理。
3)导入公钥
在远端服务器上导入公钥
创建一个.ssh的目录
在创建一个authorized_keys的文件
# cat id_dsa.pub > /home/lisi/.ssh/authorized_keys
4)使用密钥对验证登录
服务器端的SSH配置文件中禁止root登录,禁止密码验证登录
PermitRootLogin no //禁止root用户登录
PasswordAuthentication no //禁止密码验证
Linux客户端的zhangsan用户中连接 ssh lisi@192.168.11.240
Windows客户端,下载张三的私钥,Xshell 导入私钥
5)service sshd restart
5,启动服务
service sshd restart
6,测试
客户端登录方式:
LINUX :# ssh root@192.168.11.240 #exit退出
Windows :Xshell putty SecureCRT
-
7,Cobbler和kickstart自动装机
-
1、系统准备工作
Cobbler不在CentOS的基本源中,需要导入EPEL源升级软件包,确保epel-release包的版本为最新,当前最新版本为6-8
wget http://mirrors.aliyun.com/repo/epel-6.repo
对于centos本身源 ,可根据自己所在地选择离自己近的镜像源,比如mirrors.163.com或mirrors.sohu.com
相关配置文件: /etc/yum.repos.d/CentOS- .repo
或采用网易的源
wget http://mirrors.163.com/.help/CentOS6- -163.repo
放入/etc/yum.repos.d目录下,其他原文件隐藏。
关闭防火墙 关闭SELINUX
2、安装Cobbler
# yum -y install cobbler debmirror dhcp httpd rsysnc tftp-server pykickstart xinetd python-ctypes cman
3、启动cobbler httpd
/etc/init.d/cobblerd start service cobblerd start
4、开始配置Cobbler
cobbler check 检查配置项
1)修改 /etc/cobbler/settings
server: 192.168.11.240
2)设置TFTP地址 next_server:192.168.11.240
3)关闭selinux
4)开启tftp
编辑/etc/xinited/tftp文件,将文中的disable字段由yes改为no
5)下载配置文件(下载loader程序)
Cobbler get-loaders
6)启动rsync
编辑/etc/xinited/rsync文件,将文中的disable字段由yes改为no
7)deb包设置 8)deb包设置 (两部可忽略)
9)设置初始密码
Openssl passwd -l -salt ‘cobbler’ ‘123456’
生成$Xxxxxxx
Default-passwd-crypted “$xxxxxxx”
5、配置DHCP
manage_dhcp: 1
修改cobbler的dhcp模版,不要直接修改dhcp本身的配置文件,因为cobbler会覆盖。修改完毕后,cobbler会根据vim /etc/cobbler/dhcp.template生成dhcp.conf文件,只需修改这个文件即可:
vim /etc/cobbler/dhcp.template
6)同步cobbler,重启服务
#cobbler sync
7)导入镜像
挂载镜像
# mount -t iso9660 -o loop CentOS-6.5-x86_64-bin-DVD1.iso /media/cdrom/
导入镜像Centos6.5
cobbler import --name=CentOS6.5 --path=/media/cdrom/
自动添加一个默认的ks文件
导入镜像Centos7.2
8)添加自定义的应答文件 ks.cfg
使用kickstart软件创建自定义应答文件
复制到cobbler的kickstart目录中
/var/lib/cobbler/kickstart/
用命令添加到系统中
# cobbler profile add --name=CentOS6.6 --distro=CentOS6.5-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS6.5.cfg
创建自定义应答文件参考文献
http://www.codexiu.cn/linux/blog/1939/
8,linux防火墙(网关服务器搭建)
1,设置防火墙规则:
四表五链:
规则表:
- filter表:filter表用来对数据包进行过滤,根据具体的规则要求决定如何处理一个数据包。Filter表对应的内核模块为iptables_filter,表内包含三个链,即INPUT,FORWARD,OUTPUT.
- Nat表:nat表主要用来修改数据包的IP地址,端口号等信息,nat表对应的内核模块为iptables_nat,表内包含三个链,即PREROUTING,POSTROUTING,OUTPUT.
- Mangle表:mangle表用来修改数据包的TOS,TTL,或者为数据包设置Mark标记,以实现流量整形,策略路由等高级应用。Mangle表对应的内核模块为iptables_mangle,表内包含5个链。
- Raw表:raw表是自1.2.9以后版本的iptables新增的表,主要用来决定是否对数据包进行状态追踪。Raw表对应的内核模块为iptable_raw,表内包含两个链。
-
规则链:
- INPUT:当收到访问防火墙本机地址的数据包(入站)时
- OUTPUT:当防火墙本机向外发送数据包(出站)时
- FORWARD:当接收到需要通过防火墙中转发送给其他地址的数据包时
- PREROUTING:在对数据包做路由选择之前
- POSTROUTING:在对数据包做路由选择之后
-
打开服务器的路由功能:
Vim /etc/sysctl.conf
Net.ipv4.ip_forward = 1 //1为开启路由功能
Sysctl -p // 读取修改后的配置
SNAT:
Iptables -n nat -I POSTROUTING -S 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31
通过一个公网ip上网
DNAT:
Iptbales -t nat -I PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80
内网web服务器映射到公网ip上。(ssh等都可以映射)
规则的导入和导出:
Iptables-save > /opt/iprules_all.txt //备份所有表的规则
Iptables-restore < /opt/iprules_all.txt //从备份文件恢复规则
-
继续阅读与本文标签相同的文章
众安在线涨4% 迎来区块链风口 大摩唱多
-
基于宜搭的“报表分析”实践案例
2026-05-18栏目: 教程
-
javascript教程:实现函数柯里化与反柯里化
2026-05-18栏目: 教程
-
基于宜搭的“定时消息通知”实践案例
2026-05-18栏目: 教程
-
AIoT入门:用虚拟设备体验物联网平台设备上云&设备数据存储
2026-05-18栏目: 教程
-
基于宜搭的“企业报销流程”实践案例
2026-05-18栏目: 教程
