如何搭建centos系统安装服务器
这是一个关于怎样在你的 CentOS 7 上安装配置 VNC 服务的教程。当然这个教程也适合 RHEL 7 。在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置 VNC 服务器。我们都知道,作为一个系统管理员,大多数时间是通过网络管理服务器的。在管理服务器的过程中很少会用到图形界面,多数情况下我们只是用 SSH 来完成我们的管理任务。在这篇文章里,我们将配置 VNC 来提供一个连接我们 CentOS 7 服务器的方法。VNC 允许我们开启一个远程图形会话来连接我们的服务器,这样我们就可以通过网络远程访问服务器的图形界面了。VNC 服务器是一个自由开源软件,它可以让用户可以远程访问服务器的桌面环境。另外连接 VNC 服务器需要使用 VNC viewer 这个客户端。一些 VNC 服务器的优点:远程的图形管理方式让工作变得简单方便。剪贴板可以在 CentOS 服务器主机和 VNC 客户端机器之间共享。CentOS 服务器上也可以安装图形工具,让管理能力变得更强大。只要安装了 VNC 客户端,通过任何操作系统都可以管理 CentOS 服务器了。比 ssh 图形转发和 RDP 连接更可靠。那么,让我们开始安装 VNC 服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。注意:以下命令必须以 root 权限运行。要切换到 root ,请在终端下运行“sudo -s”,当然不包括双引号(“”)1 安装 X-Window首先我们需要安装 X-Window,在终端中运行下面的命令,安装会花费一点时间。# yum check-update# yum groupinstall "X Window System"#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts### 设置默认启动图形界面# unlink /etc/systemd/system/defaulttarget# ln -sf /lib/systemd/system/graphicaltarget /etc/systemd/system/defaulttarget# reboot在服务器重启之后,我们就有了一个工作着的 CentOS 7 桌面环境了。现在,我们要在服务器上安装 VNC 服务器了。2 安装 VNC 服务器现在要在我们的 CentOS 7 上安装 VNC 服务器了。我们需要执行下面的命令。# yum install tigervnc-server -y3 配置 VNC然后,我们需要在 /etc/systemd/system/ 目录里创建一个配置文件。我们可以将 /lib/systemd/sytem/vncserver@service 拷贝一份配置文件范例过来。# cp /lib/systemd/system/vncserver@service /etc/systemd/system/vncserver@:1service接着我们用自己最喜欢的编辑器(这儿我们用的 nano )打开 /etc/systemd/system/vncserver@:1service ,找到下面这几行,用自己的用户名替换掉 。举例来说,我的用户名是 linoxide 所以我用 linoxide 来替换掉 :ExecStart=/sbin/runuser -l <USER>-c "/usr/bin/vncserver %i"PIDFile=/home/<USER>/vnc/%H%ipid替换成ExecStart=/sbin/runuser -l linoxide -c "/usr/bin/vncserver %i"PIDFile=/home/linoxide/vnc/%H%ipid如果是 root 用户则ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"PIDFile=/root/vnc/%H%ipid好了,下面重启 systemd 。# systemctl daemon-reload最后还要设置一下用户的 VNC 密码。要设置某个用户的密码,必须要有能通过 sudo 切换到用户的权限,这里我用 linoxide 的权限,执行“su linoxide”就可以了。# su linoxide$ sudo vncpasswd确保你输入的密码多于6个字符4 开启服务用下面的命令(永久地)开启服务:$ sudo systemctl enable vncserver@:1service启动服务。$ sudo systemctl start vncserver@:1service5 防火墙设置我们需要配置防火墙来让 VNC 服务正常工作。$ sudo firewall-cmd --permanent --add-service vnc-server$ sudo systemctl restart firewalldservice现在就可以用 IP 和端口号(LCTT 译注:例如 19216811:1 ,这里的端口不是服务器的端口,而是视 VNC 连接数的多少从1开始排序)来连接 VNC 服务器了。6 用 VNC 客户端连接服务器好了,现在已经完成了 VNC 服务器的安装了。要使用 VNC 连接服务器,我们还需要一个在本地计算机上安装的仅供连接远程计算机使用的 VNC 客户端。
#每日三件事,第990天#
《中华人民共和国网络安全法》第二十一条第一款第三项规定网络运营者应采取监测、记录网络运行状态、网络安全事件的技术措施,并按照规定留存相关的网络日志不少于六个月。在GB/T22239《网络安全等级保护基本要求》的安全计算环境中,对安全审计也有明确的要求。
在落实法律义务和责任,开展网络安全等级保护工作的过程中,日志服务器成了必不可少的一项。商用的日志审计系统固然好,但利用CentOS7也可以做一个简单的日志服务器,收集网络中其他设备的日志信息。
日志服务器端的配置:
yum install syslog,其实CentOS7默认就已经安装了rsyslog服务。系统会自动检测,并不会重新安装一遍syslog服务。
vim /etc/rsyslogconf,找到#Providers TCP syslog reception这一行,把下面两行前面的#去掉即可:
#Providers TCP syslog reception
$ModLoad imtcp
$InputTCCPServerRun 514
======分割线 ======
在/etc/rsyslogd/创建一个名为client_ipconf的文件,每个日志发送客户端创建一个文件。我的实验环境中有一个ip为19216811的客户端,因此创建一个19216811conf的文件。
vim /etc/rsyslogd/19216811conf
:fromhost-ip,isequal, "19216811" /var/log/client/19216811log
systemctl restart rsyslog
重启之后一定要检查一下,使用命令:systemctl status rsyslog,并且保证rsyslog服务能够在开机时自动启动。
客户端的配置如下:
vim /etc/rsyslogconf,去掉#Providers TCP syslog reception下面两行的注释:
#Providers TCP syslog reception
$ModLoad imtcp
$InputTCCPServerRun 514
在最后一行添加:
@@192168110:514
其中192168110是日志服务器的IP地址。
systemctl restart rsyslog,并查看rsyslog的状态,保证服务在开机时自动启动。
此时在日志服务器上就可以接收到客户端发来的日志信息了。
首先,需要在centos7上面配置网站所需要的环境。
如果说你不会配置网站环境,那可以安装webmin、kloxo、cp等面板来使用。
因为这样的面板在配置好之后都是配置好网站所需要的阿帕奇、mysql等环境的。
一、搭建时间服务器
1、在一台linux服务器安装ntp server
tar zxvf ntp-426targz
cd ntp-426
/configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make && make install
2、修改ntpconf配置文件
vi /etc/ntpconf
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system
#restrict default kod nomodify notrap nopeer noquery
restrict default nomodify
(允许任何IP的客户机都可以进行时间同步,如果是只允许某个网段的客户机进行时间同步可以这样写
restrict 1058260 mask 2552552550 nomodify)
restrict -6 default kod nomodify notrap nopeer noquery
# Permit all access over the loopback interface This could
# be tightened as well, but to do so would effect some of
# the administrative functions
restrict 127001
restrict -6 ::1
# Hosts on local network are less restricted
#restrict 19216810 mask 2552552550 nomodify notrap
# Use public servers from the poolntporg project
# Please consider joining the pool
#server 0rhelpoolntporg(默认时间服务器)
#server 1rhelpoolntporg(默认时间服务器)
#server 2rhelpoolntporg(默认时间服务器)
server 101281425 (手工设置的时间服务器)
(如果是可以直连外网,可以使用LINUX默认提供的三组标准时间服务器,否则可以自己指定一个同步时间源)
#broadcast 1921681255 key 42 # broadcast server
#broadcastclient # broadcast client
#broadcast 224011 key 42 # multicast server
#multicastclient 224011 # multicast client
#manycastserver 239255254254 # manycast server
#manycastclient 239255254254 key 42 # manycast client
# Undisciplined Local Clock This is a fake driver intended for backup
# and when no outside source of synchronized time is available
server 12712710 # local clock
fudge 12712710 stratum 10
3、以守护进程启动ntpd
#/etc/rcd/initd/ntpd -c /etc/ntpconf -p /tmp/ntpdpid
#/etc/rcd/initd/ntpd start
#ps -ef|grep ntpd
4、在ntp server上启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令进行同步时会产生no server suitable for synchronization found的错误。
那么如何知道何时ntp server完成了和自身同步的过程呢?
在ntp server上使用命令:
# watch ntpq -p
出现如下画面:
注意LOCAL的这个就是与自身同步的ntp server。
注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒5=320秒的时间。
二、配置时间同步客户机
vi /var/spool/cron/root(或crontab -e)
增加一行,在每天的1点10分、9点10分、17点10分与时间同步服务器进行同步并写入BIOS
10 1 ,9,17 root /usr/sbin/ntpdate 101281425; /sbin/hwclock -w
如果同步不正常,可以加输出日志或看系统日志
输出日志的方法:
10 1 ,9,17 root /usr/sbin/ntpdate 101281425>>/tmp/1txt; /sbin/hwclock -w
在1txt中可查看时间同步时的输出结果。
或者看/var/mail/root系统日志
Subject: Cron <root@tyzssq8> /usr/sbin/ntpdate 101281425;/sbin/hwclock -w
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20121127103001076FF2090E@tyzssq8site>
Date: Tue, 27 Nov 2012 18:30:01 +0800 (CST)
27 Nov 18:29:59 ntpdate[6917]: step time server 101281425 offset -1361968 sec
可以看到同步成功了,如果未成功会报出错误。
三、无法同步的问题
检查ntp server主机的防火墙。可能是ntp server的防火墙屏蔽了upd 123端口。
可以用命令
#service iptables stop
备 CentOS 服务器
现在让我们来开始在 CentOS 上设置 NTP 服务器。
首先,我们需要保证正确设置了服务器的时区。在 CentOS 7 中,我们可以使用 timedatectl 命令查看和更改服务器的时区(比如,"Australia/Adelaide",LCTT 译注:中国可设置为 Asia/Shanghai )
# timedatectl list-timezones | grep Australia
# timedatectl set-timezone Australia/Adelaide
# timedatectl
继续并使用 yum 安装需要的软件
# yum install ntp
然后我们会添加全球 NTP 服务器用于同步时间。
# vim /etc/ntpconf
server 0oceaniapoolntporg
server 1oceaniapoolntporg
server 2oceaniapoolntporg
server 3oceaniapoolntporg
默认情况下,NTP 服务器的日志保存在 /var/log/messages。如果你希望使用自定义的日志文件,那也可以指定。
logfile /var/log/ntpdlog
如果你选择自定义日志文件,确保更改了它的属主和 SELinux 环境。
# chown ntp:ntp /var/log/ntpdlog
# chcon -t ntpd_log_t /var/log/ntpdlog
现在初始化 NTP 服务并确保把它添加到了开机启动。
# systemctl restart ntp
# systemctl enable ntp
验证 NTP Server 时钟
我们可以使用 ntpq 命令来检查本地服务器的时钟如何通过 NTP 同步。
控制到 NTP 服务器的访问
默认情况下,NTP 服务器允许来自所有主机的查询。如果你想过滤进来的 NTP 同步连接,你可以在你的防火墙中添加规则过滤流量。
# iptables -A INPUT -s 19216810/24 -p udp --dport 123 -j ACCEPT
# iptables -A INPUT -p udp --dport 123 -j DROP
该规则允许从 19216810/24 来的 NTP 流量(端口 UDP/123),任何其它网络的流量会被丢弃。你可以根据需要更改规则。
配置 NTP 客户端
1 Linux
NTP 客户端主机需要 ntpupdate 软件包来和服务器同步时间。可以轻松地使用 yum 或 apt-get 安装这个软件包。安装完软件包之后,用服务器的 IP 地址运行下面的命令。
# ntpdate <server-IP-address>
基于 RHEL 和 Debian 的系统命令都相同。
2 Windows
如果你正在使用 Windows,在日期和时间设置(Date and Time settings)下查找网络时间(Internet Time)。
3 Cisco 设备
如果你想要同步 Cisco 设备的时间,你可以在全局配置模式下使用下面的命令。
# ntp server <server-IP-address>
来自其它厂家的支持 NTP 的设备有自己的用于网络时间的参数。如果你想将设备和 NTP服务器同步时间,请查看设备的说明文档。
结论
总而言之,NTP 是在你的所有主机上同步时钟的一个协议。我们已经介绍了如何设置 NTP 服务器并使支持 NTP 的设备和服务器同步时间。
dhcp是动态主机配置协议,使用udp协议,主要使用udp67和udp 68号端口
1client端会发送dhcp discover广播包
2dhcp服务器会回应dhcp offer广播包
3client端会发送dhcp request广播包
4dhcp服务器发送dhcp ack广播包
[root@mini ~]# rpm -qa dhcp
[root@mini ~]# cat /etc/centos-release
CentOS release 69 (Final)
[root@mini ~]# uname -r
2632-696el6i686
[root@mini ~]# uname -m
i686
[root@mini ~]# yum install -y dhcp
[root@mini ~]# rpm -qa dhcp
dhcp-411-53P1el6centos1i686
[root@mini ~]# rpm -qc dhcp
/etc/dhcp/dhcpdconf
/etc/dhcp/dhcpd6conf
/etc/openldap/schema/dhcpschema
/etc/portreserve/dhcpd
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
/etc/sysconfig/dhcrelay6
/var/lib/dhcpd/dhcpdleases
/var/lib/dhcpd/dhcpd6leases
[root@mini ~]# cat /etc/dhcp/dhcpdconf
#
# DHCP Server Configuration file
# see /usr/share/doc/dhcp/dhcpdconfsample
# see 'man 5 dhcpdconf'
#
查询dhcp sample文件(dhcpdconfsample文件为dhcp配置文件模板)
# rpm -ql dhcp
配置完成后的文件
[root@mini ~]# cat /etc/dhcp/dhcpdconf
#
# DHCP Server Configuration file
# see /usr/share/doc/dhcp/dhcpdconfsample
# see 'man 5 dhcpdconf'
#
# A slightly different configuration for an internal subnet
subnet 1721610 netmask 2552552550 {
range 17216110 17216130;
option domain-name-servers minilocaldomain;
option domain-name "minilocaldomain";
option routers 1721611;
option broadcast-address 1721611;
default-lease-time 600;
max-lease-time 7200;
}
查看配置是否正确
[root@mini ~]# /etc/initd/dhcpd configtest
Syntax: OK
DHCP启动失败,并查询到如下报错信息(/var/log/messages)
Nov 6 06:37:24 mini dhcpd: No subnet declaration for eth0 (19216828139)
Nov 6 06:37:24 mini dhcpd: Ignoring requests on eth0 If this is not what
Nov 6 06:37:24 mini dhcpd: you want, please write a subnet declaration
Nov 6 06:37:24 mini dhcpd: in your dhcpdconf file for the network segment
Nov 6 06:37:24 mini dhcpd: to which interface eth0 is attached
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: Not configured to listen on any interfaces!
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: This version of ISC DHCP is based on the release available
Nov 6 06:37:24 mini dhcpd: on ftpiscorg Features have been added and other changes
Nov 6 06:37:24 mini dhcpd: have been made to the base software release in order to make
Nov 6 06:37:24 mini dhcpd: it work better with this distribution
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: Please report for this software via the CentOS Bugs Database:
Nov 6 06:37:24 mini dhcpd: http://bugscentosorg/
Nov 6 06:37:24 mini dhcpd:
Nov 6 06:37:24 mini dhcpd: exiting
解决办法:
这是因为DHCP程序发现没有“Not configured to listen on any interfaces”,只需要配置相应的IP到目标网卡中便可以解决这个问题。
[root@mini ~]# ifconfig eth1 1721611/24
[root@mini ~]# /etc/initd/dhcpd start
Nov 6 06:43:11 mini dhcpd: Internet Systems Consortium DHCP Server 411-P1
Nov 6 06:43:11 mini dhcpd: Copyright 2004-2010 Internet Systems Consortium
Nov 6 06:43:11 mini dhcpd: All rights reserved
Nov 6 06:43:11 mini dhcpd: For info, please visit https://wwwiscorg/software/dhcp/
Nov 6 06:43:11 mini dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file
Nov 6 06:43:11 mini dhcpd: Wrote 0 leases to leases file
Nov 6 06:43:11 mini dhcpd: Listening on LPF/eth1/00:0c:29:c5:2b:7e/1721610/24
Nov 6 06:43:11 mini dhcpd: Sending on LPF/eth1/00:0c:29:c5:2b:7e/1721610/24
Nov 6 06:43:11 mini dhcpd:
Nov 6 06:43:11 mini dhcpd: No subnet declaration for eth0 (19216828139)
Nov 6 06:43:11 mini dhcpd: Ignoring requests on eth0 If this is not what
Nov 6 06:43:11 mini dhcpd: you want, please write a subnet declaration
Nov 6 06:43:11 mini dhcpd: in your dhcpdconf file for the network segment
Nov 6 06:43:11 mini dhcpd: to which interface eth0 is attached
Nov 6 06:43:11 mini dhcpd:
Nov 6 06:43:11 mini dhcpd: Sending on Socket/fallback/fallback-net
[root@mini ~]# cat /var/lib/dhcpd/dhcpdleases
注意:如果Linux开启了防火墙,那么需要对UDP 67和UDP 68放行。或者直接将放火墙关闭
0条评论