Linux服务部署
1. 构建NTP时间服务器
NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间。
互联网的时间服务器也有很多,例如ntpdate ntp.fudan.edu.cn 复旦大学的NTP免费提供互联网时间同步。
NTP服务器监听端口为UDP的123,那就需要在本地防火墙开启运行客户端访问123端口,vi /etc/sysconfig/iptables添加如下规则:
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
NTP时间服务器配置:
yum install ntp ntpdate -y 即可!
修改ntp.conf配置文件
cp /etp/ntp.conf /etc/ntp.conf.bak
vi /etc/ntp.conf 只修改如下两行,把#号去掉即可!
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
以守护进程启动ntpd
/etc/init.d/ntpd start 即可
(注意*: ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。)
配置时间同步客户机
crontab -e
增加一行,在每天的6点10分与时间同步服务器进行同步
10 06 * * * /usr/sbin/ntpdate ntp-server的ip >>/usr/local/logs/crontab/ntpdate.log
备注:如果客户机没有ntpdate,可以yum –y install ntp 即可!
以下是ntp服务器配置文件内容(局域网NTP,如果需要跟外网同步,添加外网server即可)
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
下面是参数详解:
restrict default ignore | # 关闭所有的 NTP 要求封包 |
restrict 127.0.0.1 | # 开启内部递归网络接口 lo |
restrict 192.168.0.0 mask 255.255.255.0 nomodify | #在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数。 |
server 198.123.30.132 | #198.123.30.132作为上级时间服务器参考 |
restrict 198.123.30.132 | #开放server 访问我们ntp服务的权限 |
driftfile /var/lib/ntp/drift | 在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内 |
broadcastdelay 0.008 | #广播延迟时间 |
自此NTP服务搭建完毕,然后在所有客户端crontab里面添加如下语句:
0 0 * * * /usr/sbin/ntpdate 10.0.0.155 >>/data/logs/ntp.log 2>&1
2. 构建DHCP服务器
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要用途:给内部网络或网络服务供应商自动分配IP地址,DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口。
DHCP可以部署在服务器、交换机或者服务器,可以控制一段IP地址范围,客户机登录服务器时就可以自动获得DHCP服务器分配的IP地址和子网掩码。其中DHCP所在服务器的需要安装TCP/IP协议,需要设置静态IP地址、子网掩码、默认网关。
正式安装DHCP服务:
Yum install dhcp dhcp-devel –y 即可,然后修改DHCP /etc/dhcpd.conf配置文件内容如下:
ddns-update-style interim;
ignore client-updates;
next-server 192.168.0.79;
filename "pxelinux.0";
allow booting;
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.252.0;
# option nis-domain "domain.org";
# option domain-name "192.168.0.10";
# option domain-name-servers 192.168.0.11;
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.0.100 192.168.0.200;
host ns {
hardware ethernet 00:1a:a0:2b:38:81;
fixed-address 192.168.0.101;}
}
参数解析如下:
选 项 | 解 释 |
ddns-update-style interim|ad-hoc|none | 参数用来设置DHCP服务器与DNS服务器的动态信息更新模式:interim为DNS互动更新模式,ad-hoc为特殊DNS更新模式,none为不支持动态更新模式。 |
next-server ip | pxeclient远程安装系统,指定tftp server 地址 |
filename | 开始启动文件的名称,应用于无盘安装,可以是tftp的相对或绝对路径 |
ignore client-updates | 为忽略客户端更新 |
subnet-mask | 为客户端设定子网掩码 |
option routers | 为客户端指定网关地址 |
domain-name | 为客户端指明DNS名字 |
domain-name-servers | 为客户端指明DNS服务器的IP地址 |
host-name | 为客户端指定主机名称 |
broadcast-address | 为客户端设定广播地址 |
ntp-server | 为客户端设定网络时间服务器的IP地址 |
time-offset | 为客户端设定格林威治时间的偏移时间,单位是秒 |
注意如上配置,需要修改成对应服务器网段IP,然后重启DHCP服务,/etc/init.d/dhcpd restart即可。
客户端要从这个DHCP服务器获取IP,需要做简单的设置,如果是linux需要把/etc/sysconfig/network-scritps/ifcfg-eth0里BOOTPROTO相改成dhcp即可,windows机器的话,需要修改本地连接,把它设置成自动获取IP即可。
BOOTPROTO=dhcp
3. 搭建Samba服务器
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
安装SAMBA服务器:
Yum install samba –y
安装完毕,然后做如下设置(过滤#号行、空行如下命令)
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak ;egrep -v "#|^$" /etc/samba/smb.conf.bak |grep -v "^;" >/etc/samba/smb.conf
查看smb.conf配置文件如下:
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
security = share
passdb backend = tdbsam
load printers = yes
cups options = raw
[temp]
comment=Temporary file space
path=/tmp
read only=no
public=yes
[data]
comment=Temporary file space
path=/data
read only=no
public=yes
根据需求修改之后重启服务:
[root@node1 ~]# /etc/init.d/smb restart
Shutting down SMB services: [FAILED]
Shutting down NMB services: [FAILED]
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
workgroup = | WORKGROUP 设Samba Server 所要加入的工作组或者域。 |
server string = Samba Server Version %v | Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。 |
security = user |
1.share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。 2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。 3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。 4. domain:域安全级别,使用主域控制器(PDC)来完成认证。 |
comment = test | 是对该共享的描述,可以是任意字符串。 |
path = /home/test | 共享目录路径 |
browseable= yes/no | 用来指定该共享是否可以浏览。 |
writable = yes/no | writable用来指定该共享路径是否可写。 |
available = yes/no | available用来指定该共享资源是否可用 |
admin users = admin | 该共享的管理者 |
valid users = test | 允许访问该共享的用户 |
invalid users = test | 禁止访问该共享的用户 |
write list = test | 允许写入该共享的用户 |
public = yes/no | public用来指定该共享是否允许guest账户访问。 |
在浏览器里面访问方式为:\\192.168.33.10 (SMB文件共享服务端IP),如何没有权限访问,需要注意防火墙和selinux设置,可以使用如下命令关闭:
/etc/init.d/iptables stop ;sed –i ‘/SELINUX/s/enforcing/disabled’ /etc/sysconfig/selinux
4. 搭建NFS服务器
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的。
NFS应用场景,常用于高可用文件共享,多台服务器共享同样的数据,可扩展性比较差,本身高可用方案不完善,取而代之的数据量比较大的可以采用MFS、TFS、HDFS等等分布式文件系统。
NFS安装配置:
Yum install nfs* portmap -y 如下图,安装成功即可。

NFS安装完毕,需要创建共享目录,共享目录在/etc/exports文件里面配置,可配置参数如下:
/data/ 192.168.33.11(rw,sync,no_hide,no_all_squash)
在配置文件中添加如上一行,然后重启Portmap,NFS服务即可,/etc/init.d/portmap restart ;/etc/init.d/nfs restart
第一列/data/表示需要共享的目录。
IP表示允许哪个客户端访问。
IP后括号里的设置表示对该共享文件的权限。
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
Linux客户端,如何想使用这个NFS文件系统,需要在客户端挂载,挂载命令为:
Mount –t nfs 192.168.33.10:/data/ /mnt 即可。如果有报错根据错误信息排查。常见问题有rpc服务没有启动、防火墙没关闭、selinux未关闭等问题。(拓展* 有兴趣的童鞋可以研究MFS(分布式文件系统)。)
5. 搭建FTP服务器
FTP 是文件传输协议,正是由于这种协议使得主机间可以共享文件。 FTP 使用TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。
vsftpd是一款在Linux发行版中最主流的FTP服务器程序;特点是小巧轻快,安全易用;能让其自身特点得发发挥和掌握。
目前在开源操作系统中常用的FTP服务器程序主要有vsftpd、ProFTPD、PureFTPd和wuftpd等,这么多FTP服务器程序,关键在于自己熟练哪一个就使用哪一个。今天我们来研究一下VSFTPD简单安装及使用。安装命令: yum install vsftpd* -y
修改配置文件如下:
#vsftpd config 2014 by wugk
anonymous_enable=NO //禁止匿名用户访问
local_enable=YES //允许本地用户登录FTP
write_enable=YES //运行用户在FTP目录有写入的权限
local_umask=022 //设置本地用户的文件生成掩码为022,默认是077
dirmessage_enable=YES //激活目录信息,当远程用户更改目录时,将出现提示信息
xferlog_enable=YES //启用上传和下载日志功能
connect_from_port_20=YES //启用FTP数据端口的连接请求
xferlog_std_format=YES //是否使用标准的ftpd xferlog日志文件格式
listen=YES //使vsftpd处于独立启动监听端口模式
pam_service_name=vsftpd //设置PAM认证服务配置文件名称,文件存放在/etc/pam.d/目录
userlist_enable=YES //用户列表中的用户是否允许登录FTP服务器,默认是不允许
tcp_wrappers=YES //使用tcp_wrqppers作为主机访问控制方式
1) 第一种方法就是使用系统用户登录FTP,但是也是比较危险的,先测试系统用户登录FTP,在Linux系统上创建useradd test 用户,并为其设置名,然后在xp客户端打开我的电脑资源里面访问 ftp://192.168.33.10,输入用户名和密码即可访问,进行创建和删除操作。
2) 第二种方法比较安全,配置相对复杂一点,就是使用vsftpd虚拟用户登录FTP服务器进行常见的操作。
Ø 首先安装FTP 虚拟用户需要用到的软件及认证模块
yum install pam* db4* --skip-broken –y
创建并生成vsftpd数据库文件vi /etc/vsftpd/ftpusers.txt,内容如下:
第一行为FTP虚拟用户,登录用户名,第二行为密码,第三行为用户名,依次类推。
wugk
1
wugk1
1
Ø 生成数据库文件命令:
db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
chmod 700 /etc/vsftpd/vsftpd_login.db
Ø 配置PAM验证文件:
在配置文件vi /etc/pam.d/vsftpd 行首加入如下两行认证语句:(如果是32位,lib64需改成lib,如果RedHat,加入的语句不一样,需注意)
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
Ø 创建vsftpd映射本地用户:
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码,也不需要登录。主要用来做虚拟用户映射使用。
useradd –d /home/ftpuser –s /sbin/nologin ftpuser
Ø 修改完整版配置文件内容如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
guest_enable=YES
guest_username=ftpuser
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
virtual_use_local_privs=YES
保存重启,/etc/init.d/vsftpd restart 即可使用虚拟用户登录,这时候所有的虚拟用户共同使用/home/ftpuser目录上传下载,如果想使用自己独立的目录,可以在/etc/vsftpd/vsftpd_user_conf目录创建各自的配置文件,如给wugk创建独立的配置文件:
vi /etc/vsftpd/vsftpd_user_conf/wugk ,内容如下,建立自己的FTP目录。
local_root=/home/ftpsite/wugk
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
重启,使用客户端登录FTP,测试即可。关于FTP讲解就到此,windows还可以使用Server-U来搭建FTP服务器端,有兴趣的童鞋可以研究一下。
Ø FTP主被动模式
FTP主动模式:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的port 21命令端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
FTP被动模式:客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的port 21命令端口。然后客户端开始监听端口N+1,同时客户端提交 PASV命令。服务器会开启一个任意的非特权端口(P >1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
Linux服务部署的更多相关文章
- Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)
Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...
- 【转】Linux服务部署--Java(三) Nginx
原文地址:Nginx Linux详细安装部署教程 一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下 ...
- 记一次linux服务部署
虽然很简单,但是还是想记录一下: 准备一台云主机并连接到云主机上 因为是 springboot 项目,采用了前后端分离部署.所以就没有使用 Tomcat.为应用程序创建文件夹. 添加启动脚本 star ...
- Linux服务部署--Java(二)
八.Maven安装配置 1. 下载 wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3. ...
- Linux服务部署--Java(一)
网络配置 一.配置dns 1.修改/etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项: 2.NetworkManage ...
- Linux服务部署:nginx服务 nfs服务
nginx服务 源码安装: yum install gcc-* glibc-* openssl openssl-devel pcre pcre-devel zlib zlib-devel -ylsta ...
- Linux服务器部署系列之一—Apache篇(上)
Linux系统的应用越来越广泛了,学习linux系统的网管兄弟也有增加的趋势.很久以前就有些想法,要将自己学的linux知识整理一下.最近,终于下定决心,挤出时间开始动手写些东西了.虽然不一定好,不过 ...
- 转 整理 Linux服务器部署系列之一—Apache篇
花了差不多一天,参考了几个博客,终于初步配成功了 Apache,先总结一下: 如果apache安装成为linux的服务的话,可以用以下命令操作: service httpd start 启动 serv ...
- Linux下部署ASP.NET服务连接oracle遇到的问题记录
一.如何卸载MONO Q:mono是linux系统上跨平台软件,卸载它有两种方式: 1.知道mono安装路径,安装原来的路径直接覆盖安装(最为简单): 2.不知道mono安装路径,首先通过sudo f ...
随机推荐
- MyBatis学习总结_14_Mybatis使用技巧总结
1. 区分 #{} 和 ${}的不同应用场景 1)#{} 会生成预编译SQL,会正确的处理数据的类型,而${}仅仅是文本替换.对于SQL: select * from student where xC ...
- Data Base MongoVue 破解治标不治本
MongoVue 破解治标不治本 ---------解决燃眉之急 注册表中查找B1159E65-821C3-21C5-CE21-34A484D54444中的子项4FF78130 ,删除其下的三个子项 ...
- 在LINUX上创建GIT服务器【转】
转自:http://blog.csdn.net/xiongmc/article/details/9176785 如果使用git的人数较少,可以使用下面的步骤快速部署一个git服务器环境. 1. Cli ...
- 文件夹工具类 - FolderUtils
文件夹工具类,提供创建完整路径的方法. 源码如下:(点击下载 -FolderUtils.java .commons-io-2.4.jar ) import java.io.File; import o ...
- java实现给图片添加水印
package michael.io.image; import java.awt.AlphaComposite; import java.awt.Graphics2D; import java.aw ...
- 【转+分析】JAVA: 为什么要使用"抽象类"? 使用"抽象类"有什么好处?
老是在想为什么要引用抽象类,一般类不就够用了吗.一般类里定义的方法,子类也可以覆盖,没必要定义成抽象的啊. 看了下面的文章,明白了一点. 其实不是说抽象类有什么用,一般类确实也能满足应用,但是现实中确 ...
- 什么是HotSpot VM & 深入理解Java虚拟机
参考 http://book.2cto.com/201306/25434.html 另外,这篇文章也是从一个系列中得出的: <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> ...
- HTML中多媒体的应用_Flash/MP3/设置可以活动的文字
一.HTML中多媒体的应用_falsh动画(往网页中插入Flash动画) 1. Flash动画插入第一种方法:使用<embed>...</embed>标记动画会自动缩小 属性: ...
- 权限控制框架Shiro简单介绍及配置实例
Shiro是什么 http://shiro.apache.org/ Apache Shiro是一个非常易用的Java安全框架,它能提供验证.授权.加密和Session控制.Shiro非常轻量级,而且A ...
- Machine Learning for hackers读书笔记(二)数据分析
#均值:总和/长度 mean() #中位数:将数列排序,若个数为奇数,取排好序数列中间的值.若个数为偶数,取排好序数列中间两个数的平均值 median() #R语言中没有众数函数 #分位数 quant ...