Huawei交换机VRP配置介绍

一、命令视图
• 用户视图<Huawei>
• 系统视图 [Huawei]
• 接口视图 [Huawei-GigabitEthernet0/0/1]
• 协议视图 [Huawei-rip-1]
• 用户界面(User-interface)视图 [Huawei-ui-vty0-4]
• 等
VRP分层的命令结构定义了很多命令行视图,每条命令只能在特定的视
图中执行。本例介绍了常见的命令行视图。每个命令都注册在一个或多
个命令视图下,用户只有先进入这个命令所在的视图,才能运行相应的
命令。进入到VRP系统的配置界面后,VRP上最先出现的视图是用户视
图。在该视图下,用户可以查看设备的运行状态和统计信息。若要修改系统参数,用户必须进入系统视图。用户还可以通过系统视图进入其他的功能配置视图,如接口视图和协议视图。通过提示符可以判断当前所处的视图,例如:“< >”表示用户视图,“[]”表示除用户视图以外的其它视图。
二、基本VRP命令结构
华为网络设备功能的配置和业务的部署都是通过VRP命令行来配置,命令行是在设备内部注册的,具有一定格式和功能的字符串。一条命令行由关键字和参数组成,关键字可以唯一确定一条命令行,参数是完善命令行的格式。

三、命令级别与用户权限级别
系统将命令进行分级管理,以增加设备的安全性。设备管理员可以设置
用户级别,一定级别的用户可以使用对应级别的命令行。缺省情况下命
令级别分为0~3级,用户级别分为0~15级。用户0级为访问级别,对应
网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命
令(Telnet客户端)、部分display命令等。用户1级为监控级别,对应
命令级0、1级,包括用于系统维护的命令以及display等命令。用户2级
是配置级别,包括向用户提供直接网络服务,包括路由、各个网络层次
的命令。用户3-15级是管理级别,对应命令3级,该级别主要是用于系
统运行的命令,对业务提供支撑作用,包括文件系统、FTP、TFTP下载
、文件交换配置、电源供应控制,备份板控制、用户管理、命令级别设
置、系统内部参数设置以及用于业务故障诊断的debugging命令。
在具体使用中,如果我们有多个管理员帐号,但只允许某一个管理员保
存系统配置,则可以将save命令的级别提高到4级,并定义只有该管理
员有4级权限。这样,在不影响其他用户的情况下,可以实现对命令的
使用控制。默认情况下3级用户就可以操作VRP系统的所有命令。



四、用户界面
每类用户界面都有对应的用户界面视图。用户界面(User-interface)视
图是系统提供的一种命令行视图,用来配置和管理所有工作在异步交互
方式下的物理接口和逻辑接口,从而达到统一管理各种用户界面的目的
。在连接到设备前,用户要设置用户界面参数。系统支持的用户界面包
括Console用户界面和VTY用户界面。控制口(Console Port)是一种
通信串行端口,由设备的主控板提供。虚拟类型终端(Virtual Type
Terminal)是一种虚拟线路端口,用户通过终端与设备建立Telnet或
SSH连接后,也就建立了一条VTY,即用户可以通过VTY方式登录设备
。设备一般最多支持15个用户同时通过VTY方式访问。执行userinterface
maximum-vty number 命令可以配置同时登录到设备的VTY类型用户界面的最大个数。如果将最大登录用户数设为0,则任何用户都不能通过Telnet或者SSH登录到路由器。display user-interface 命令用来查看用户界面信息。
不同的设备,或使用不同版本的VRP软件系统,具体可以被使用的VTY接口的最大数量可能不同。



五、配置登录权限
如果没有权限限制,未授权的用户就可以使用设备获取信息并更改配置
。从设备安全的角度考虑,限制用户的访问和操作权限是很有必要的。
用户权限和用户认证是提升终端安全的两种方式。用户权限要求规定用
户的级别,一定级别的用户只能执行特定级别的命令。
配置用户界面的用户认证方式后,用户登录设备时,需要输入密码进行
认证,这样就限制了用户访问设备的权限。在通过VTY进行Telnet连接
时,所有接入设备的用户都必须要经过认证。
设备提供三种认证模式,AAA模式、密码认证模式和不认证模式。AAA
认证模式具有很高的安全性,因为登录时必须输入用户名和密码。密码
认证只需要输入登录密码即可,所以所有的用户使用的都是同一个密码
。使用不认证模式就是不需要对用户认证直接登陆到设备。需要注意的
是,Console界面默认使用不认证模式。
对于Telnet登录用户,授权是非常必要的,最好设置用户名、密码和指
定和帐号相关联的权限。
注:不同VRP版本执行set authentication password cipher命令有差异
:有些平台需要回车后输入密码,另外一些平台可直接在命令后输入密
码。故在操作具体产品时请查阅相应VRP产品文档。
六、相关配置
1、 进入用户视图,命令提示符是<>号(正常登陆设备CLI(command-line interface,命令行界面)后的第一个视图,查看运行状态或其他参数)
<Huawei>                                                      #Huawei默认的主机名
<Huawei>?
User view commands:
cd Change current directory
check Check information
clear Clear information
clock Specify the system clock
cluster Run cluster command
cluster-ftp FTP command of cluster
compare Compare function
configuration Configuration interlock
copy Copy from one file to another
debugging Enable system debugging functions
delete Delete a file
dir List files on a file system
display Display current system information
fixdisk Recover lost chains in storage device
format Format the device
ftp Establish an FTP connection
hwtacacs-user
kill Release a user terminal interface
language-mode Specify the language environment
lldp Link Layer Discovery Protocol
local-user Add/Delete/Set user(s)
lock Lock the current user terminal interface
mkdir Create a new directory
more Display the contents of a file
move Move the file
—- More —-
2、 输入system-view进入系统视图,命令提示符是[ ]号(从用户视图进入,配置设备的系统参数等)
<Huawei>system-view
[Huawei]
[Huawei]?
System view commands:
aaa AAA
acl Specify ACL configuration information
alarm Enter the alarm view
anti-attack Specify anti-attack configurations
application-apperceive Set application-apperceive information
arp ARP module
arp-miss Specify ARP MISS configuration information
arp-suppress Specify arp suppress configuration information,
default is disabled
authentication Authentication
autoconfig AutoConfig configuration information
bfd Bidirectional Forwarding Detection
bgp Border Gateway Protocol(BGP)
bootrom BootRom
bpdu BPDU message
btv Btv view
bulk-file Specify the file name of bulk statistics
bulk-stat Set bulk statistics
capture-packet Capture-packet
ccc Circuit cross connection
cfm Connectivity fault management
clear Cancel current configuration
cluster Specify the information for cluster configuration
command-privilege Specify the command level
—- More —-

3、 输入quit从系统视图退到用户视图
[Huawei]quit
<Huawei>

4、进入某个接口视图
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]

5、现在开始配置vlan 100 的管理ip 和子网掩码
[Huawei-Vlanif100]ip address 192.168.2.100 255.255.255.0
[Huawei-Vlanif100]

6、配置Console用户界面(用于限制人员通过控制台(Console)连接访问设备)
[Huawei]user-interface console 0                                                 #进入Console用户界面
[Huawei-ui-console0]authentication-mode password
#配置用户界面用户验证方式为密码认证
[Huawei-ui-console0]set authentication password cipher 1234
#配置密文密码为1234

7、配置VTY用户界面(用户可以与设备通过多种方式交互,不同的用户拥有各自不同的用户界面,例Console、AUX 或VTY等连接方式,这里VTY(Virtual Type Terminal) 是虚拟终端的意思)
[Huawei]user-interface vty 0 4                                                    #进入vty用户界面
[Huawei-ui-vty0-4]user privilege level 3                                     #配置用户级别为3
[Huawei-ui-vty0-4]authentication-mode aaa
#配置用户界面用户验证方式为aaa
[Huawei-ui-vty0-4]quit
[Huawei]aaa                                                                               #进入aaa视图
[Huawei-aaa]local-user admin12 password cipher 1234
#配置用户名为admin12 密文密码为1234
[Huawei-aaa]local-user admin12 service-type telnet
#配置用户的接入类型为telnet
[Huawei-aaa]quit
[Huawei]

CentOS 源设置

安装完CentOS后,系统默认的源可能有限满,这时我们需要添加国内比较好的源。

一、国内比较好的源
https://opsx.alibaba.com/mirror                   #阿里源,有帮助文档
https://mirrors.tuna.tsinghua.edu.cn/             #清华大学源,有帮助文档
http://mirrors.163.com/                           #网易源,有帮助文档

二、添加阿里源
进入阿里源官方网站,点开centos右侧的帮助如下:
CentOS
1、备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、之后运行yum makecache生成缓存

4、通过这个帮助文件很容易添加5 6 7版本的阿里源,其他站点的源通过对应的帮助文件安装。
5、可以通过下面的命令先清除原来的缓存,在生成新的缓存
yum clean all     #生成前先清除原来的缓存
yum makecache

三、添加第三方EPEL源
CentOS自带的yum源中rpm包数量有限,很多时候找不到我们需的软件包,所以我们需要安装包含丰富的第三方YUM源来满足我们的需求。

1、EPEL(Extra Packages for Enterprise Linux中文翻译为 企业版 Linux 附加软件包,以下简称 EPEL)是一个 Fedora 特别兴趣小组,用以创建、维护以及管理针对企业版 Linux 的一个高质量附加软件包集,面向的对象包括但不限于 红帽企业版 Linux (RHEL)、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。作为 Fedora 打包社区的一部分,EPEL 的所有软件包都是 100% 免费且自由的开源软件(FLOSS)。
EPEL 的软件包通常不会与企业版 Linux 官方源中的软件包发生冲突,或者互相替换文件。EPEL 项目与 Fedora 基本一致,包含完整的构建系统、升级管理器、镜像管理器等等。
更详细的内容可以查看官方WIKI:https://fedoraproject.org/wiki/EPEL/zh-cn  ,下载地址:http://dl.fedoraproject.org/pub/epel/

2、官方的EPEL源可能速度比较较慢,这里我们添加阿里的EPEL源,其他站点查看对应的帮助文件,阿里的EPEL源也有帮助文件,如下:
##epel 配置方法
###1、备份(如有配置其他epel源)

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup

2、下载新repo 到/etc/yum.repos.d/

epel(RHEL 7)

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

epel(RHEL 6)

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

epel(RHEL 5)

    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-5.repo

3、可以通过下面的命令先清除原来的缓存,在生成新的缓存
yum clean all     #生成前先清除原来的缓存
yum makecache

4、我们也可以通过”epel-release”这个软件包,这个软件包会自动配置yum的软件仓库。不推荐用这种方法因为官方的epel源有可能慢,还是自己配置epel软件仓库。

四、添加第三方RepoForge源
RepoForge原名RPMforge是 RHEL 系统下的软件仓库,拥有 10000 多个软件包,被认为是最安全、最稳定的一个软件仓库。是由 Dag 及其它包装者合作维护的,包括 wine、vlc、mplayer、xmms-mp3 及其它受欢迎的媒体工具。它并不是 Red Hat 或 CentOS 的一部份,但却是为那些发行版本而设计的,可能与EPEL源冲突,使用要注意。

官方网站:http://repoforge.org/ ,通过官方网站的usage(用法)标签可以查看用法:在http://repoforge.org/use/用法网页,下载CentOS版本与CPU架构
的rpm安装包,下载后安装这个软件包,就完成了软件源的添加。

http://repoforge.org/use/网站源下载部分:
Using RepoForge
First download the appropriate rpmforge-release package for your distribution:

EL 7: x86_64
EL 6: i686, x86_64                #6版本对应的32位和64位,下载系统对应的
EL 5: i386, x86_64, ppc

上面官方的可能有点慢,可以去https://mirrors.tuna.tsinghua.edu.cn/help/repoforge/清华大学的repoforge源,有帮助文件,进行安装。

五、添加第三方RPMFusion源
如果您使用过Fedora ,相信对 RPMFusion一定不陌生吧,各种音频软件如MPlayer在标准源中是没有的,一般先安装RPMFusion源,之后就可以方便地yum install各种需要的软件啦。但CentOS官方说RPMFusion软件库里面的软件稳定性不如rpmforge。
RPMFusion官网:http://rpmfusion.org/

安装源:要添加rpmfusion软件源,首先要安装epel-release这个软件包,前面添加EPEL源时提到过,你可能会担心安装这个软件包会和添加的阿里的EPEL冲突,如果是先添加阿里源,问题不大。然后去RPMFusion官方网站Configuration标签页下载RPM Fusion free for RHEL 6 or compatible like CentOS(自由的)和RPM Fusion nonfree for RHEL 6 or compatible like CentOS(非自由的)这两个安装包进行源的安装,我的系统是6版本所以下这两个,如果不先安装epel-release这个软件包,在进行上面两个软件包安装时会错误。
软件源下载官方网址:
https://rpmfusion.org/Configuration

六、第三方ELRepo源

ELRepo项目侧重于硬件相关的包来增强你的经验与企业Linux。这包括文件系统驱动、显卡驱动、网络驱动程序、声音驱动、摄像头和视频驱动程序。Repoforge 是 RHEL 系统下的软件仓库,拥有 10000 多个软件包,被认为是最安全、最稳定的一个软件仓库。
官方网站:http://elrepo.org/ 
官网主页就有软件源的添加方法,按照上面的方法添加就可以了。
CentOS6为例:

1、导入公钥:
rpm –import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2、安装ELRepo 6        #对应我的CentOS6版本

rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

七、 Remi源

Remi 源大家或许很少听说, 但是我们强烈推荐, 尤其对于不想编译最新版的 linux 使用者, 因为 Remi 源中的软件几乎都是最新稳定版.

或许您会怀疑稳定不?放心吧, 这些都是 Linux 骨灰级的玩家编译好放进源里的, 他们对于系统环境和软件编译参数的熟悉程度毋庸置疑.

Remi下载地址:https://rpms.remirepo.net/http://rpms.famillecollet.com/

安装源:打开Remi官网的Repository Configuration标签进入https://blog.remirepo.net/pages/Config-en网页 ,这里有安装说明,根据说明进行安装就可以了。
这个原需要EPEL源的支持,所以要先添加EPEL源,上面我们已经添加了,安装CentOS源如下:
1、下载源安装包
[root@CentOS ~]# wget https://rpms.remirepo.net/enterprise/remi-release-6.rpm
2、安装源安装包     
[root@CentOS ~]# rpm -Uvh remi-release-6.rpm
3、然后编辑  /etc/yum.repos.d/remi.repo 源文件,将其中 [remi] 下的enabled=0改为1,保存退出,从而启动源完成配置。

八、添加本地DVD源。
在服务器不允许联网的情况下经常会用到本地DVD安装光盘的源。
系统安装完默认会在/etc/yum.repos.d/的源目录下成才一个CentOS-Media.repo 的源文件,我们只要对这个源文件进行相应的设置就行
1、查看CentOS-Media.repo 文件内容:
[root@CentOS yum.repos.d]# cat CentOS-Media.repo
# CentOS-Media.repo
#
#  This repo can be used with mounted DVD media, verify the mount point for
#  CentOS-6.  You can use this repo and yum to install items directly off the
#  DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
#  yum –enablerepo=c6-media [command]
#  
# or for ONLY the media repo, do this:
#
#  yum –disablerepo=\* –enablerepo=c6-media [command]

[c6-media]                                                        #源名称,必填
name=CentOS-$releasever – Media                #源描述,可以不填,但是会有提示
baseurl=file:///media/CentOS/                         #挂载DVD光驱的可选目录/media/CentOS/ ,这个目录可以因个人方便改变成其他目录
        file:///media/cdrom/                                 #挂载DVD光驱的可选目录/media/cdrom/
        file:///media/cdrecorder/                         #挂载DVD光驱的可选目录/media/cdrecorder/
gpgcheck=1                                                   #是否开启校验,在yum.conf中已经定义它默认值为1
enabled=0                                                     #是否开启这个源,enabled=0为关闭,enabled=1为开启
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6             #如果开启yum源包校验,则需要导入RPM公钥。
[root@CentOS yum.repos.d]#

2、在/media/目录下新建CentOS目录,
[root@CentOS media]# mkdir CentOS
[root@CentOS media]# ls
CentOS

3、挂在DVD光驱到/media/CentOS/目录,一定要选择和系统版本号一样的系统镜像。
[root@CentOS ~]# mount /dev/cdrom1 /media/CentOS/

4、将CentOS-Media.repo 文件的enabled=0 给成enabled=1 ,删除或用#屏蔽file:///media/cdrom/和file:///media/cdrecorder/这两行,
如果不删除或屏蔽,生成源缓存时会因为找不到对应的文件而报错。

九、添加完源一定要记得生成缓存,通过下面的命令先清除原来的缓存,在生成新的缓存
yum clean all         #生成前先清除原来的缓存
yum makecache   #生成缓存

十、设置软件源的优先级

当系统有多个软件源时,要安装某一个软件,并且这个软件在多个源里面都有时,我们肯定希望用最优质的源来下载软件,而且不同的软件源之间并不能保证软件的完全兼容没有冲突。所以我们需要设置软件源的优先级。yum-plugin-priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源(比如官方源)设定为最高优先级,从而保证系统的稳定性(同时也可能无法更新到其它源上提供的软件最新版本)。您需要安装yum-plugin-priorities插件。

1、安装yum-plugin-priorities插件

[root@Fedora ~]# yum install yum-plugin-priorities.noarch

2、查看插件是否可用
yum-plugin-priorities 插件的配置文件是/etc/yum/pluginconf.d/priorities.conf,先确认其是否存在,后查看
其内容为:
[main]
enabled=1   # 0禁用 1启用

3、设置优先级
前两项完成后,您可以编辑/etc/yum.repos.d/目录下所有的.repo文件,给所有的源设置优先级(priority)。priority的优先级为1到99,设置为1即优先级最高,1-10为系统保留,第三方yum源的优先级从11-99 。一般官方的源文件CentOS-Base.repo下有[base],  [updates], [extras]三个源设置为 priority=1 另外两个[CentOSplus],[contrib] 源设置成 priority=2,一个源文件下面可以有多个源。
其他第三方软件源的源文件中的源源设置为:priority=N (推荐N>10,并且每个类型的源推荐从n0开始,n为1-9的数字,比如10,20,30,这样源下面的细分源以后也方便添加级别)

4、编辑官方源文件 /etc/yum.repos.d/CentOS-Base.repo 编辑如下:
——————————————————————————————————-
[root@CentOS yum.repos.d]# vi CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever – Base – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=1                   #设置[base]源优先级为1

#released updates
[updates]
name=CentOS-$releasever – Updates – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=1                  #设置[updates]源优先级为1

#additional packages that may be useful
[extras]
name=CentOS-$releasever – Extras – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=1                  #设置[extras]源优先级为1

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever – Plus – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0                   #如果想开启这个源将enabled=0改为enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=2                  #设置[centosplus]源优先级为2

#contrib – packages by Centos Users
[contrib]
name=CentOS-$releasever – Contrib – mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0                   #如果想开启这个源将enabled=0改为enabled=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
priority=2                  #设置[contrib]源优先级为2
[root@CentOS yum.repos.d]#
———————————————————————————————————-
5、编辑[epel]第三方源优先级
———————————————————————————————————-
[root@CentOS yum.repos.d]# vi epel.repo

[epel]
name=Extra Packages for Enterprise Linux 6 – $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
        http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=11                 #设置[epel]第三方源优先级为11            

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 – $basearch – Debug
baseurl=http://mirrors.aliyun.com/epel/6/$basearch/debug
        http://mirrors.aliyuncs.com/epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0

[epel-source]
name=Extra Packages for Enterprise Linux 6 – $basearch – Source
baseurl=http://mirrors.aliyun.com/epel/6/SRPMS
        http://mirrors.aliyuncs.com/epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=0
[root@CentOS yum.repos.d]#
————————————————————————————————————–
6、其他第三方源的优先级设置这里就不介绍了,/etc/yum.repos.d/目录下文件名后缀为.repo的文件都是源文件,里面对应的源都需要设置,最好不要添加太多源
官方源和EPEL源就够了,如果这里没有想要的软件在进行其他源的添加,添加过多的源维护起来麻烦,还容易造成软件源的冲突。
7、特殊情况:在不同优先级的源中都含有同一个包时,它的行为可能就不是我们所需要的。例如,在官方源中有个包:bck.1.11.x86_64.rpm,官方源是最高优先级。在其他的多个源中也有bck这个包的不同版本,比如bck的版本为bck.1.21.x86_64.rpm,通过命令安装bck.1.21.x86_64.rpm
yum install bck.1.21.x86_64.rpm
就会出现下面的提示
    xx packages excluded due to repository priority protections
并且找不到所需要的包,这是因为在高优先级源中存在的包,会将其他低优先级中的包屏蔽掉,因此无法从低优先级的源中安装所需要的包。

解决办法是禁用yum-plugin-priorities插件,将/etc/yum/pluginconf.d/priorities.conf文件中的enabled=1改称enabled=0
默认是1;设置enabled = 0,这样就可以禁用priorities插件。从而能够安装任意源上的包。

或者把高优先级的软件源关闭,就是在对应源文件的源位置后面添加enabled=0,有的就将enabled=1改为enabled=0
例如关闭epel源
[root@CentOS yum.repos.d]# vi epel.repo

[epel]
name=Extra Packages for Enterprise Linux 6 – $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
        http://mirrors.aliyuncs.com/epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1                        #将enabled=1改为enabled=0关闭 [epel]源
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
……   

十一、显示当前可用源列表

[root@CentOS yum.repos.d]# yum repolist
已加载插件:fastestmirror, priorities, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
106 packages excluded due to repository priority protections
仓库标识                                          仓库名称                                                                                 状态
base                                              CentOS-6 – Base – mirrors.aliyun.com                                                          6,706
epel                                              Extra Packages for Enterprise Linux 6 – x86_64                                           12,391+106
extras                                            CentOS-6 – Extras – mirrors.aliyun.com                                                           53
updates                                           CentOS-6 – Updates – mirrors.aliyun.com                                                       1,185
repolist: 20,335
[root@CentOS yum.repos.d]#

所然上面添加了很多源,但是我把现在暂时不用的源都通过enabled=0关闭了,只留下一个EPEL第三方源,这样可以减少软件的冲突和软件搜索的速度。

CentOS7-1810 系统Samba配置说明

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件。SMB(Server Messages Block,信息服务块)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议,是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能。

Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。

NFS针对 Unix-Like系统的机器间文件的共享;
 
CIFS针对windows系统间文件的共享;
 
SAMBA针对Unix-Like系统和windows系统间文件的共享;

因为SMB协议是基于客户机/服务器型的协议,所以一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。

在早期,SMB运行于NBT协议(NetBIOS over TCP/IP)上,使用UDP协议的137、138及TCP协议的139端口,后期SMB经过开发,可以直接运行于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。如果你要使用Linux和早期的windows系统共享文件,请确认你的windows系统下是否安装了NetBIOS协议。
NetBios, NetBios over TCP/IP, SMB 之间的关系可以查看这个网址https://www.cnblogs.com/pipci/p/10144840.html

Samba是一套程序,其中最重要的两个进程是nmbd和smbd:

smb:提供SMB / CIFS服务(文件共享和打印)的守护进程,使用SMB协议与客户进行连接,完成用户认证,权限管理和文件共享任务。
nmb:提供NetBIOS名称服务的守护进程,可以帮助客户端定位服务器和域,相当于WindowsNT中的WINS服务器,如果只是单纯的共享文件可以关闭这个服务,这样就不用在防火墙中开发137、138端口,但是在Windows中“桌面”上的“网络”里不会在显示共享的主机,只能通过“运行” 打开 \\IP 的方式连接到共享的目录。


SAMBA所需的软件:

1、samba:这个软件主要包含了SAMBA的主要服务程序(smbd及nmbd),SAMBA相关的文件,以及其它与SAMBA相关的logrotate配置文件及开机默认选项文件等。

2、samba-common:这个软件主要提供了SAMBA的主要配置文件(smb.conf),smb.conf语法检验的测试程序(testparm)等。

3、samba-client:这个软件则提供了当Linux做为SAMBA Client端时,所需要的工具指令,例如Smbmount命令用于Linux下挂载Windows共享文件等。


一、samba相关软件安装
———————————————————————–
[root@CentOS7 ~]# yum install samba     #同时会一起把samba-common软件一起安装

[root@CentOS7 ~]# yum install samba-client
———————————————————————–

二、查看nmb和smb服务的状态,并设置开机启动

1、查看服务状态,如果没有启动启动他
——————————————————
[root@CentOS7 ~]# systemctl status smb.service             #查看
[root@CentOS7 ~]# systemctl status nmb.service

[root@CentOS7 ~]# systemctl start smb.service              #启动
[root@CentOS7 ~]# systemctl start nmb.service
——————————————————

2、设置服务器开机启动
——————————————————
[root@CentOS7 ~]# systemctl enable smb.service
[root@CentOS7 ~]# systemctl enable nmb.service
——————————————————

三、Samba服务器配置

在安装了Samba服务软件后,会自动在Linux系统中生成一系列的配置文件,了解它们的用途是配置Samba服务器所必须的。

1、主要配置文件 /etc/Samba/smb.conf
这是Samba服务的主配置文件,文件由一系列段和选项构成.一个段由一对方括号中的段名开始,直到下一个段名结束,主要由全局设置(Global Settings)和共享定义(Share Definitions)两部分组成。其中全局设置定义了对影响整个Samba系统运行的全局选项,用于设置整个系统的规则,如果在其他段中没有再对这些选项进行重新设置的话,就以全局选项为主:共享定义则是对系统中共享资源进行定义,该部分可以由多个段组成,其中常见的包括:用户主目录段,共享目录和打印机段,每个段中可以再定义详细的共享选项。smb.conf文件的格式如下所示:
—————————————————————————-

#======================= Global Settings =======================

[global]      #全局选项  

#======================= Share Definitions =======================

[homes]       #共享选项
   
[printers]    #共享选项
 
—————————————————————————–
smb.conf配置文件中使用;号和#号作为注释符,凡是使用这两个符号开头的行都会被Samba视为注释行而忽略处理,这个配置文件中,大小写是没关系的,因为Windows不分大小写。配置文件中选项的格式如下所示。
————————-
选项名称 = 选项值
————————-
四、常用的全局选项及说明如下所示

先说一下samba定义的变量:
%S = 当前服务名(如果有的话)
%P = 当前服务的根目录(如果有的话)
%u = 当前服务的用户名(如果有的话)
%g = 当前用户说在的主工作组
%U = 当前对话的用户名
%G = 当前对话的用户的主工作组
%H = 当前服务的用户的Home目录
%v = Samba服务的版本号。
%h = 运行Samba服务机器的主机名
%m = 客户机的NETBIOS名称
%L = 服务器的NETBIOS名称
%M = 客户机的主机名
%N = NIS服务器名
%p = NIS服务的Home目录
%R = 说采用的协议等级(值可以是CORE, COREPLUS, LANMAN1, LANMAN2,NT1)
%d = 当前服务进程的ID
%a = 客户机的结构(只能识别几项:Samba,WfWg,WinNT,Win95)
%I = 客户机的IP
%T = 当前日期和时间

1、workgroup
该选项设置Samba服务器所属工作组名称,通过网上邻居可以从该工作组中找到该Samba服务器。默认设置如下:

workgroup = WORKGROUP
——————————————————-
2、wins support
该选项设置Samba服务器是否作为WINS服务器。如果要启用该选项,则不能设置wins server选项,默认设置如下:

#   wins support = no
选项默认都是被注释掉了
——————————————————-
3、wins server

该选项指定WINS服务器的IP地址或主机名。默认设置如下:

;   wins server = w.x.y.z
选项默认都是被注释掉了
——————————————————-
4、interfaces 和bind interfaces only = yes
如果服务器有多个IP地址或网络接口,可以使用interfaces选项把IP地址或网络接口列出来。如果bind interfaces only选项设置为yes,则表示Samba将绑定(监听)interfaces选项所设置的IP地址或网络接口,只通过这个些IP地址或网络接口提供服务,默认设置如下:

;   interfaces = 127.0.0.0/8 eth0

;   bind interfaces only = yes
上面两个选项默认都是被注释掉了
——————————————————-
5、dns proxy
该选项设置是否启用DNS代理功能,默认设置如下:

dns proxy = no
——————————————————-
6、log file
该选项用来设置Samba日志文件的存放位置和文件名称,默认设置如下:

log file = /var/log/samba/log.%m
这个选项中的.%m是Samba配置文件的保留变量,表示客户端的NetBIOS名称。
——————————————————-
7、max log size
日志文件最大能达到多少Kbytes,如果超过该限制,则Samba自动在当前的日志文件名后面加上“.old”然后创建一个新的日志文件继续写入。如果为0,则表示没有大小限制。默认设置如下:

max log size = 1000
——————————————————-
8、syslog only
设置Samba只通过syslog进行日志记录。默认设置如下:

#   syslog only = no   
默认这个选项被注销掉
——————————————————-
9、syslog
syslog的日志级(0,err)(1,warning)(2,notice)(3,ifno)(4或以上,debug)。默认设置如下:

syslog = 0
——————————————————-
10、server role
服务器角色。定义Samba将以何种模式操作。可能的值是“独立服务器”、“成员服务器”、“经典主域服务器”、“经典备份域控制器”、“活动目录域控制器”,默认设置如下:

server role = standalone server
——————————————————-
11、passdb backend
密码数据库格式,之前samba服务器的用户信息都是以数据文件信息存放,为了加快速度, 目前密码文件已经转为使用数据库了! 默认的数据库格式为tdbsam ,存放在/var/lib/samba/private/passdb.tdb,早期使用smbpasswd命令来管理用户密码, 后来使用 TDB 数据库,因此建议使用新的 pdbedit 指令来管理用户数据smbpasswd仍然可以使用。默认设置如下:

passdb backend = tdbsam
——————————————————-
12、obey pam restrictions
在Samba中集成PAM的访问控制功能。默认设置如下:

obey pam restrictions = yes
——————————————————-
13、 unix password sync = yes
当用户改变samba加密的密码时,SAMBA会试着更新UNIX用户密码。默认设置如下:

unix password sync = yes
——————————————————-
14、passwd program
这个就指定更改密码的命令。默认设置如下:

passwd program = /usr/bin/passwd %u
——————————————————-
15、passwd chat
更改密码时的对话。默认设置如下:

passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
——————————————————-
16、pam password change
为samba打开pam改变密码控制机制的支持。默认设置如下:

pam password change = yes

——————————————————-
17、map to guest
这个配置的意思是将所有samba系统主机所不能正确识别的用户都映射成guest用户。默认设置如下:

map to guest = bad user
——————————————————-
18、usershare max shares
最大用户共享数量,0表示禁用用户共享。默认设置如下:
 
usershare max shares = 100
——————————————————-
19、usershare allow guests
是否允许guest用户访问,这相当于在共享定义中设置guest ok = yes选项,最终以共享中的设置为准。

usershare allow guests = yes
——————————————————-

以下是smb.conf配置文件中没有提到的,但是可以通过testparm -v 命令查看到默认设置,如果不符合自己的实际设置,可以在配置文件中加入相应
的选项。
——————————————————-
20、netbios name = CENTOS7

设置Samba Server的NetBIOS名称,在“网上邻居”中显示的主机名,如果不填,则默认会使用该服务器的DNS名称的第一部分。
——————————————————-
21、server string = Samba 4.8.3

设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。
——————————————————-
22、hosts allow = 127. 192.168.1. 192.168.10.1
设置允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。这选项也可以
在共享段起作用,只对某个共享的目录单独起作用。

hosts deny 与hosts allow 刚好相反。

ALL 表示所有用户,例如:hosts allow = ALL

EXCEPT 表示排除,例如:允许除192.168.1.100以为的所有主机访问,格式为 hosts allow = ALL EXCEPT 192.168.1.100

——————————————————-
23、max connections = 0

max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。
——————————————————-
24、deadtime = 0

deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。
——————————————————-
25、time server = yes/no

time server用来设置让nmdb成为windows客户端的时间服务器
——————————————————-
26、security = user

设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
2. domain:域安全级别,使用主域控制器(PDC)来完成认证。
3. auto:这是Samba中的默认安全设置,Samba会通过服务器角色参数(如果设置)来确定安全模式。
4. ads:在此模式下,Samba将充当ADS领域中的域成员

在samba4中share 和 server验证方式已被弃用
——————————————————-
27、encrypt passwords = yes/no

是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。
——————————————————-
28、username map = /etc/samba/smbusers

用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。
——————————————————-
29、guest account = nobody

用来设置Samba中guest用户对用的系统用户名。
——————————————————-
30、load printers = yes/no

设置是否在启动Samba时就共享打印机。现行几乎都是网络打印机了,默认关闭就可以,这里也不讨论打印机的问题。
——————————————————-
31、 smb ports = 139 445
指定服务监听SMB流量的端口。

五、常用的共享选项及说明


在该段中指定了一个通过Samba进行共享的目录,定义用户访问该目录的各种设置。如下所示:

[共享名称]:这个共享名称很重要,它是一个代号而已,用户在“网上邻居”中所看到的共享目录名

comment = 任意字符串
说明:comment是对该共享的描述,可以是任意字符串。
 
path = 共享目录路径
说明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。
 
browseable = yes/no
说明:browseable用来指定该共享是否在“网上邻居”中可见。
 
writable = yes/no
说明:writable用来指定该共享路径是否可写。

read only = yes/no
说明:设置共享目录为只读,这个选项和writable是互斥的,最好不要两个同时出现如果同时出现,那么最后出现的那个设置为主要的设置。
 
available = yes/no
说明:available用来指定该共享资源是否可用。
 
admin users = 该共享的管理者
说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users =bobyuan,jane(多个用户中间用逗号隔开)。
 
valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户。
例如:valid users = bobyuan,@bob,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@+组名”表示。)
 
invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户。
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)
 
write list = 允许写入该共享的用户
说明:write list用来指定可以在该共享下写入文件的用户。
例如:write list = bobyuan,@bob
 
public = yes/no
说明:public用来指定该共享是否允许guest账户访问。
 
guest ok = yes/no
说明:意义同“public”。

create mask = 0700
说明:指定用户通过Samba在该共享目录中创建文件的默认权限。0600代表创建文件的权限为rw——-

directory mask = 0700
说明:指定用户通过Samba在该共享目录中创建目录的默认权限。0600代表创建目录的权限为rwx——


更多设置参考官方文档
https://www.samba.org/samba/docs/man/


六、配置文件生效与检验
1、与大部分程序配置文件一样,smb.comf文件被修改后并不会立刻生效,需要重启smbd和nmbd服务。在完成配置文件我们需要用testparm命令来验证文件的格式是否正确,命令如下:

[root@CentOS7 ~]# testparm
参数
-v:查阅完整的参数设置,连同默认值也会显示出来

——————————————————
[root@CentOS7 ~]# testparm      #进行检测
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The “syslog” option is deprecated
Processing section “[homes]”
Processing section “[printers]”
Processing section “[print$]”
Loaded services file OK.         #如果格式没有问题将不会看到任何错误信息,如果这行的前面有Unknown parameter encountered:字样的提示就说明有错误。
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions      #回车后将会显示smb.conf文件当前的配置内容

# Global parameters
[global]
    printcap name = cups
    security = USER
    workgroup = SAMBA
    idmap config * : backend = tdb
    cups options = raw
       —-后面的省略—-
——————————————————–
如果输出中没有任何错误或警告信息,表示文件格式没有问题。否则,输出结果中将会给出错误的地方以及错误的原因。

2、重启服务
———————————————————
[root@CentOS7 ~]# systemctl restart smb.service
[root@CentOS7 ~]# systemctl restart nmb.service
———————————————————

七、Samba用户管理
Samba的用户是与操作系统的用户联系在一起的,在创建Samba用户前,必须先添加一个与之同名的操作系统用户。也就是说Samba的用户必须是操作系统中已经存在的用户,但两者的密码可以不相同。在来说下用户在Windows系统下通过Samba访问Linux系统的权限问题,当我们需要通过Samba所提供的功能来进行Linux的访问时,Linux上面的文件或目录是否可读写还要取决于Linux系统上的用户是否对该文件可读写,所以在Windows上访问Samba服务器时,要看Samba对应的用户对Linux系统的文件是否可读写,同时Samba配置文件也会限制读写权限。例如:当Samba用户A要对Linux上面的T文件进行写的时候,smb.conf的配置文件中的共享设置要具有可写的权限,A用户对应的Linux用户也要对T文件有写的权限。

Samba用户通过pdbedit命令进行管理。命令用法如下:

[root@CentOS7 ~]# pdbedit 参数

参数:
 –a username:新建Samba账户。
 –x username:删除Samba账户。
 –L:列出Samba用户列表,读取passdb.tdb数据库文件。
 –Lv:列出Samba用户列表的详细信息。
 –c “[D]” –u username:暂停该Samba用户的账号。
 –c “[]” –u username:恢复该Samba用户的账号。

举例:
—————————————————————————
[root@CentOS7 ~]# pdbedit -a root               #创建root用户
new password:
retype new password:
Unix username:        root
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-581854895-1790122719-2797274960-1000
Primary Group SID:    S-1-5-21-581854895-1790122719-2797274960-513
Full Name:            root
Home Directory:       \\centos7\root
HomeDir Drive:        
Logon Script:         
Profile Path:         \\centos7\root\profile
Domain:               CENTOS7
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    五, 21 12月 2018 11:45:14 CST
Password can change:  五, 21 12月 2018 11:45:14 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

[root@CentOS7 ~]# pdbedit -L              #查询目前已经存在的Samba帐号
root:0:root

[root@CentOS7 ~]# smbpasswd root         #通过smbpasswd命令修改帐号密码
———————————————————————–

如果要添加额外的Samba用户帐号,若该帐号原本不存在,则先使用useradd添加系统帐号,再通过pdbedit -a命令添加Samba用户帐号。

八、用户映射
由于Samba用户必须要与操作系统用户同名,出于系统安全或使用习惯的考虑,我们可以把上面的root用户映射为administrator用户或admin用户,映射后就无需在添加administrator或admin用户了,也可以防止Samba用户通过Samba帐号来猜测操作系统用户的信息。映射后的用户其权限和密码都和root一样,映射步骤如下:

1、编辑smb.conf文件,在[global]部分添加用户映射文件(该文件由用户手动创建,可以把他放在系统可以访问的任何位置),添加内容如下所示:

username map = /etc/samba/smbusers           #一般文件都放在这里

2、手动创建用户映射文件/etc/samba/smbusers ,该文件的格式如下:

Samba用户帐号 = 需要映射的用户列表

列表中的用户名之间以空格进行分割,如下所示。

[root@CentOS7 ~]# vi /etc/samba/smbusers

root = administrator admin

3、重启mbd和mbd服务

添加上面的选项可能有问题Centos7 1810测试,就是添加完以后即使允许不需要密码访问,也得先提供密码登录。Debian9.5就没问题

九、配置实例

1、不需要密码的共享,我们有时候需要将某个目录共享给所有人访问,要求/home/share1目录所有人都可以读写,/home/share2目录所有人只读,我们需要先把这两个目录的权限给成777,这样任何人才可以对目录进行操作,smb.conf配置文件如下:

———————————————————————–

#======================= Global Settings =======================

[global]

   workgroup = WORKGROUP

   netbios name = SAMBA-CENTOS7

   dns proxy = no
 
   security = user

   passdb backend = tdbsam

   map to guest = bad user            #这行很重要决定任何用户是否可以访问                  

   load printers = no

#======================= Share Definitions =======================

[share1]
   comment = guest
   browseable = yes
   path = /home/share1
   available = yes
   guest ok = yes
   writable = yes
   create mask = 0700
   directory mask = 0700

[share2]
   comment = guest
   browseable = yes
   path = /home/share2
   available = yes
   guest ok = yes
   read only = yes

   
 ———————————————————————–  

十、防火墙设置
Samba中默认会启用多个端口,这包括数据传输的TCP端口139,445,以及进行NetBIOS名称解析之类工作的UDP端口137,138,我们如果只是为了传输数据可以只开放445端口,前提是smb ports = 的选项中有445端口,我们也可以配置smb ports = 445 ,这样Samba就只监听445端口,这样配置完在Windows中“桌面”上的“网络”里不会在显示共享的主机,只能通过“运行” 打开 \\IP 的方式连接到共享的目录。防火墙具体的配置命令这里就不说了。

查看smb ports选项默认设置的端口:
[root@CentOS7 ~]# testparm -v | grep port

查看Samba监听的端口号:
[root@CentOS7 ~]# ss -tlunp  | grep mbd       #ss命令是netstat命令的替代

可以直接关闭防火墙:
[root@CentOS7 ~]# systemctl stop firewalld.service

十一、SeLinux设置
SeLinux会影响到Samba的访问,最直接的方法就是关闭他。

1、查看SeLinux状态
[root@CentOS7 ~]# sestatus

2、临时关闭SeLinux
[root@CentOS7 ~]# setenforce 0

3、永久关闭SeLinux,需要重启机器
编辑/etc/selinux/config文件,将SELINUX的值设置为disabled,下次开机SELinux就不会启动了


十二、Linux客户端上访问

Linux客户端上访问Windows系统或Samba服务器上共享资源的方式主要有两种,可以使用smbclient程序访问共享资源,也可以使用mount命令把共享目录挂载到本地目录上使用。

1、smbclient是Samba所提供的一个类似于FTP的客户端程序,使用smbclient链接到共享的资源后,可以使用ls,get,put等类似于FTP的命令对共享资源进行操作,首先要安装smbclient程序:
—————————————
[root@CentOS7 ~]# yum install samba-client
—————————————
smbclient命令的格式如下所示:

smbclient  [选项] //[address]/[共享目录]

该命令常用的选项及说明如下所示
-I=IP: 连接指定的IP地址
-L=Host: 获取指定共享资源列表
-p=Port: 指定要连接的共享资源服务器端口号
-U=Username: 指定连接共享服务器使用的用户帐号
-N: 不要求输入密码
-?:显示命令的帮助信息
-V :显示命令的版本信息

例如要查看共享服务器192.168.1.30上的共享资源列表,命令如下:
———————————————————————-
[root@CentOS7 ~]# smbclient -L=192.168.1.27 -U administrator
Enter SAMBA\administrator’s password:                #要求输入administrator帐号的密码

    Sharename       Type      Comment
    ———       —-      ——-
    ADMIN$          Disk      远程管理
    C$              Disk      默认共享
    IPC$            IPC       远程 IPC
    windd           Disk      
Reconnecting with SMB1 for workgroup listing.
Connection to 192.168.1.27 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Failed to connect with SMB1 — no workgroup available

———————————————————————-
通过上面的查看可以看到共享的资源为windd

通过smbclient命令登录到共享主机资源,命令如下:
———————————————————————-
[root@CentOS7 ~]# smbclient  //192.168.1.27/windd -U administrator
Enter SAMBA\administrator’s password:
Try “help” to get a list of possible commands.
smb: \>
———————————————————————-
在smb: \>下面其实就是在 //192.168.1.30/windd这个目录下,我们可以使用ls,get,put等命令进行数据的传输,常用命令如下:

? :列出所有可以使用的命令
cd :远程共享主机上切换目录
del :删除某个文件
lcd :本机主机上切换目录
ls :查看当前所在目录的文件
get :下载文件
put : 上传文件
rm : 删除文件
exit :退出

2、通过mount命令挂载共享目录到本地。
在使用smbclient命令一点也不方便直观,其实除了smbclient为,Linux客户端也可以像NFS一样使用mount命令把远程的共享文件夹挂载到本地的目录上进行使用。挂载后对共享文件夹的访问就像操作本地目录一样方便。首先需要安装cifs-utils软件包(以及cifs-utils依赖的软件包):
———————————————
[root@CentOS7 ~]# yum install cifs-utils
———————————————

挂载命令如下:

[root@CentOS7 ~]# mount.cifs //[address]/[folder] -o user=[username] [mount point]
 
[root@CentOS7 ~]# mount -t cifs //[address]/[folder] -o user=[username] [mount point]
 
[root@CentOS7 ~]# mount -t cifs //[address]/[folder] -o domain=[domain_name],user=[username] [mount point]

[address]是windows的IP地址,[folder]是windows下的共享目录,[username]是window下的设置folder共享时的用户,如果该用户使用域管理(如企业或组织用户),需要设置domain ;[mount point]是Linux系统上的挂在点,mount.cifs命令可以取代mount -t cifs命令。

挂在举例:将共享文件windd挂载到linux系统的/mnt目录,共享用户为administrator
———————————————————————
[root@CentOS7 ~]# mount.cifs //192.168.1.27/windd -o user=administrator /mnt/
Password for administrator@//192.168.1.27/windd:  ********                   #这里要求输入共享用户administrator的密码
[root@CentOS7 ~]#
———————————————————————

setup命令开机启动服务配置

setup是redhat开发的命令行下命令行模式界面的GUI工具,只适用6.x或5.x版本,其他的版本比如说Suse是没有这个工具的。通过它可配置网络,防火墙,主机名,开机启动服务等,用这个命令比较方便对系统的配置。

setup 命令的基本信息如下。

命令名称:setup。
英文原意:A text mode system configuration tool。
所在路径:/usr/bin/setup。
执行权限:所有用户。
功能描述:系统配置工具。

 
如果没有安装通过下面的命令进行安装:
#安装Setup命令工具
yum -y install setuptool   
#安装Setup工具配套的系统服务组件
yum -y install ntsysv   
#安装Setup工具配套的防火墙配置组件
yum -y install system-config-securitylevel-tui
#安装Setup工具配套的网络配置组件
yum -y install system-config-network-tui
#安装Setup工具配套的验证配置组件
yum -y install authconfig-gtk
#安装Setup工具配套的键盘配置组件
yum -y install system-config-keyboard

1、setup 命令会开启一个图形化的配置工具,

 这是一个综合工具,既可以配置 IP 地址,也可以管理防火墙和系统服务。如果我们需要配置 IP 地址,则只要选择”网络配置”就会开始 IP 地址配置。

可以使用上下键在选项中切换,使用<Tab> 在元素间切换  |    使用 <Enter> 键来编辑选中项目

2、系统服务配置,在这里可以设置开机启动的服务

Huawei配置两台交换机堆叠示例


配置两台交换机堆叠示例(先配置后连线方式,推荐)

一、基本概念

在堆叠中,有以下一些基本概念,如图1所示。
图1 堆叠基本概念示意图

1、 角色
堆叠中的单台交换机称为成员交换机,按照功能不同可以分为以下角色:

主交换机:主交换机(Master)负责管理整个堆叠。堆叠中只有一台主交换机。

备交换机:备交换机(Standby)是主交换机的备份交换机。当主交换机故障时,备交换机会接替原主交换机的所有业务。堆叠中只有一台备交换机。

从交换机:从交换机(Slave)主要用于业务转发,从交换机数量越多,堆叠系统的转发能力越强。除主交换机和备交换机外,堆叠中其他所有的成员交换机都是从交换机。

2、堆叠域

交换机通过堆叠链路连接在一起组成一个堆叠,这些成员交换机的集合就是一个堆叠域。为了适应各种组网应用,同一个网络里可以部署多个堆叠,堆叠之间使用域编号(Domain ID)来进行区别。使其不与网络中其他堆叠系统的域编号冲突。

2、堆叠成员ID

堆叠成员ID,即堆叠成员交换机的编号(Member ID),用来标识和管理成员交换机。堆叠中所有成员交换机的堆叠成员ID都是唯一的。

3、堆叠优先级

堆叠优先级是成员交换机的一个属性,主要用于角色选举过程中确定成员交换机的角色,优先级值越大表示优先级越高,当选为主交换机的可能性越大。

4、堆叠物理成员端口

堆叠物理成员端口,即被配置为堆叠模式的物理端口,用于堆叠成员交换机之间的连接。

5、堆叠端口

堆叠端口是一种专用于堆叠的逻辑端口,需要和堆叠物理成员端口绑定。一个堆叠端口可以与一个或多个堆叠物理成员端口绑定,以提高链路的带宽和可靠性。

每台设备支持两个堆叠端口,为Stack-Portn/1和Stack-Portn/2,其中n为设备的堆叠成员ID。


二、组网图形

图1 配置两台交换机堆叠组网图


三、组网需求
在一个新建的企业网络中,要求接入设备具有充足的端口数目,并且希望网络结构简单,易于配置和管理。
如图1所示,接入交换机SwitchA和SwitchB组成堆叠系统。

四、配置思路
采用如下的思路配置:
1. 提前规划好堆叠方案。
2. 按照前期的规划,完成各台交换机的堆叠配置,包括堆叠成员ID、堆叠优先级、堆叠域编号、堆叠端口等。完成后保存配置并将交换机下电。
3. 连接交换机之间的堆叠线缆,然后将交换机上电。
4. 检查堆叠组建是否成功。

五、操作步骤
1. 提前规划堆叠方案。
• 规划SwitchA的堆叠成员ID为1,SwitchB的成员ID为2。
• 规划SwitchA作为主交换机,其堆叠优先级最高,为150。SwitchB的堆叠优先级为120。
• 规划堆叠域编号(Domain ID)为10,不与网络中其他堆叠系统的域编号冲突。
• 规划SwitchA和SwitchB用于堆叠连接的端口为10GE1/0/1~10GE1/0/4。
2. 配置堆叠属性。
# 配置SwitchA的堆叠优先级为150,Domain ID为10。缺省情况下,设备的堆叠成员ID为1。此处默认SwitchA的堆叠成员ID为1,无需配置。

<HUAWEI> system-view                                  #进入系统视图
[~HUAWEI] sysname SwitchA                             #交换机命名为SwitchA
[*HUAWEI] commit                                      #提交配置
[~SwitchA] stack                                      #进入堆叠管理视图
[~SwitchA-stack] stack member 1 priority 150          #配置堆叠成员设备的堆叠成员ID为1(默认就为1),优先级为150
[*SwitchA-stack] stack member 1 domain 10             #配置堆叠域为10
[*SwitchA-stack] quit                                 #退出堆叠管理视图
[*SwitchA] commit
# 配置SwitchB的堆叠成员ID为2,优先级为120,Domain ID为10。
<HUAWEI> system-view
[~HUAWEI] sysname SwitchB
[*HUAWEI] commit
[~SwitchB] stack
[~SwitchB-stack] stack member 1 priority 120
[*SwitchB-stack] stack member 1 domain 10
[*SwitchB-stack] stack member 1 renumber 2 inherit-config    
Warning: The stack configuration of member ID 1 will be inherited to member ID 2 after the device resets. Continue? [Y/N]: y
[*SwitchB-stack] quit
[*SwitchB] commit
说明:
因SwitchB尚未重启,当前堆叠成员ID还是1,所以此时仍使用member 1来进行堆叠配置。
因为修改堆叠成员ID时指定了inherit-config参数,所以SwitchB重启后会继承member 1的堆叠配置;如果不指定inherit-config参数,那么SwitchB重启后不会继承member 1的堆叠配置,需要使用member 2重新进行堆叠配置。
3. 配置堆叠端口。
# 将SwitchA的业务口10GE1/0/1~10GE1/0/4加入堆叠端口1/1。

[~SwitchA] interface stack-port 1/1                                            #创建堆叠端口
[*SwitchA-Stack-Port1/1] port member-group interface 10ge 1/0/1 to 1/0/4       #向堆叠端口中添加成员端口。
Warning: The interface(s) (10GE1/0/1-1/0/4) will be converted to stack mode and be configured with the port crc-statistics trigger error-down command if the configuration does not exist. After the configuration is complete, these interfaces may go Error-Down (crc-statistics) because there is no shutdown configuration on the interfaces. [Y/N]: y
[*SwitchA-Stack-Port1/1] commit
[~SwitchA-Stack-Port1/1] return
被配置为堆叠物理成员端口后,端口下会自动配置port crc-statistics trigger error-down。
# 将SwitchB的业务口10GE1/0/1~10GE1/0/4加入堆叠端口1/1。
[~SwitchB] interface stack-port 1/1
[*SwitchB-Stack-Port1/1] port member-group interface 10ge 1/0/1 to 1/0/4
Warning: The interface(s) (10GE1/0/1-1/0/4) will be converted to stack mode and be configured with the port crc-statistics trigger error-down command if the configuration does not exist. After the configuration is complete, these interfaces may go Error-Down (crc-statistics) because there is no shutdown configuration on the interfaces. [Y/N]: y
[*SwitchB-Stack-Port1/1] commit
[~SwitchB-Stack-Port1/1] return
4. 检查堆叠配置信息。
# 上述配置完成后,执行命令display stack configuration查看配置是否与规划的一致,如果不一致,需要修改配置。以查看SwitchA为例。
<SwitchA> display stack configuration
Oper : Operation
Conf : Configuration
* : Offline configuration
Isolated Port : The port is in stack mode, but does not belong to any Stack-Port

Attribute Configuration:
—————————————————————————-
MemberID Domain Priority Switch Mode Uplink Port
Oper(Conf) Oper(Conf) Oper(Conf) Oper(Conf) Oper(Conf)
—————————————————————————-
1(1) –(10) 100(150) Auto(Auto) 4*40GE(4*40GE)
—————————————————————————-

Stack-Port Configuration:
——————————————————————————–
Stack-Port Member Ports
——————————————————————————–
Stack-Port1/1 10GE1/0/1 10GE1/0/2 10GE1/0/3
10GE1/0/4
——————————————————————————–
5. 保存配置后将设备下电。
# 保存SwitchA和SwitchB的配置,然后将设备下电。SwitchB的配置与SwitchA相同,略。
<SwitchA> save
Warning: The current configuration will be written to the device. Continue? [Y/N]: y
6. 按照前期规划及配置,连接堆叠线缆,线缆连接建议交叉连接,比如A交换机的1端口2端口分别对应B交换机的2端口1端口。线缆连接完成后将设备上电。
建议先将高优先级设备上电,以使其先完成启动,优先竞争为主交换机。
7. 验证配置结果。
# 通过Console口或管理网口登录堆叠系统,使用命令display stack查看堆叠是否组建成功。当通过管理网口登录时,需要使用主交换机的IP地址。
<SwitchA> display stack
——————————————————————————–
MemberID Role MAC Priority DeviceType Description
——————————————————————————–
+1 Master 0004-9f31-d520 150 CE6850-48T4Q-EI
2 Standby 0004-9f62-1f40 120 CE6850-48T4Q-EI
——————————————————————————–
+ indicates the device where the activated management interface resides.
如上所示,显示两台交换机的信息,表示堆叠建立成功,且主交换机为成员ID为1的设备,即SwitchA。
# 查看堆叠系统拓扑信息。
<SwitchA> display stack topology
Stack Topology:
———————————————-
Stack-Port 1 Stack-Port 2
MemberID Status Neighbor Status Neighbor
———————————————-
1 up 2 — —
2 up 1 — —
———————————————-

Stack Link:
—————————————————————————-
Stack-Port Port Status PeerPort PeerStatus
—————————————————————————-
Stack-Port1/1 10GE1/0/1 up 10GE2/0/1 up
Stack-Port1/1 10GE1/0/2 up 10GE2/0/2 up
Stack-Port1/1 10GE1/0/3 up 10GE2/0/3 up
Stack-Port1/1 10GE1/0/4 up 10GE2/0/4 up
Stack-Port2/1 10GE2/0/1 up 10GE1/0/1 up
Stack-Port2/1 10GE2/0/2 up 10GE1/0/2 up
Stack-Port2/1 10GE2/0/3 up 10GE1/0/3 up
Stack-Port2/1 10GE2/0/4 up 10GE1/0/4 up
—————————————————————————-
8. 保存堆叠系统配置。
说明:
在检查堆叠已成功建立后,建议用户立即使用save命令保存堆叠系统配置。
<SwitchA> save
Warning: The current configuration will be written to the device. Continue? [Y/N]: y

搭建局域网YUM源

1、yum是什么

yum(全称为Yellowdog Updater Modified)是一个在CentOS、RedHat和Fedora操作系统中使用的Shell前端软件包管理器。

yum主要管理基于rpm的软件包,它可以自动升级、安装、删除rpm软件包,同时它还能够自动查找并解决rpm包之间的依赖关系,并且无需管理员逐个、手工的去安装每一个rpm包,使管理员在维护Linux主机时更加轻松自如。

yum可以从一个或多个repo文件中配置的repo仓库,通过http或ftp协议从repo仓库获得必要的信息,然后下载相关的软件包。这样,本地用户通过建立不同的repo仓库,在有Internet连接时就能方便进行系统的升级和维护工作。

repo仓库可以通过createrepo或yum-arch命令进行创建,也能够用别人已经创建好的repo仓库作为yum源,在此我们主要探讨通过createrepo命令创建的repo仓库。

2、repo文件是什么

一个标准的centos的repo文件内容如下:

[base]

name=CentOS-$releasever – Base

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

各个选项说明如下:

[base]

  该选项是定义软件源的名称,该名称是可以自定义,同时在该服务器上所有repo文件中是唯一的。注意:方括号里面不能有空格。

name=CentOS-$releasever – Base

  该选项是定义软件仓库的名称,$releasever变量定义了发行版本,通常是5,6,7等数字。

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

  这是指定镜像服务器的地址列表,通常是开启的。

  baseurl通常有以下四种格式,如下:

baseurl= http://mirrors.aliyun.com/centos/6.6/os/x86_64/

  使用http协议镜像服务器地址

baseurl= ftp://ftp.sjtu.edu.cn/centos/6.6/os/x86_64/

  使用ftp协议镜像服务器地址

baseurl= rsync://mirror.zol.co.zw/centos/

  使用rsync镜像服务器地址

baseurl= file:///ilanni/yum/

  使用本机的镜像服务器地址

enabled=1

  该选项表示在这个repo文件中启用这个软件源,默认该选项可以不写。但是如果enabled的值为0,则表示禁用这个软件源。

  注意:一个repo文件中可以定义多个软件源。

gpgcheck=1

  该选项表示对通过该软件源下载的rpm包进行gpg校验,如果gpgcheck的值为0表示不进行gpg校验。

gpgkey= file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

  该选项定义用于校验的gpg密钥文件。

通过以上这个repo文件的说明,相信各位会觉得,其实centos的repo文件真是很简单。有了一个初步的认识了之后,我们就可以进行下面的实验了。

我们现在要求在内网搭建一个yum源。该yum源需要配置两个源:一个是centos的光盘镜像源,一个是特殊rpm软件的镜像源,并且该yum源是通过http进行访问。

3、yum服务器端配置

3.1 配置web服务器

在yum服务器上,我们现在直接使用yum安装apache。

把华为交换机设置成时钟源服务器(NTP)

把华为交换机设置成时钟源服务器(NTP),提供给下面客户端Linux服务器使用,

1,先设置交换机的时区,和正确时间

# 假设地理位置在中国北京,设置本地时区名称为BJ。

如果系统默认的UTC是伦敦时间,伦敦当地时间为2012年12月1日0时0分0秒,想要得到对应的北京时间的方法是:北京处于+8时区,时间偏移量增加了8。在配置时,就是在系统默认的UTC时区的基础上,加上偏移量8,才能得到预期的BJ时区。

<HUAWEI> clock timezone BJ add 08:00:00                

设置时区并在现在的UTC基础上偏移8

<HUAWEI> clock datetime 0:0:0 2012-12-01                

这是设置时间的命令,设置成对应的北京时间就行。

2,开启交换机的NTP服务

# 使能NTP服务器功能。

[~HUAWEI] undo ntp server disable                 开启NTP服务(默认关闭)

[*HUAWEI] commit

# 配置NTP主时钟,层数为2。

 [~HUAWEI] ntp refclock-master 2

[*HUAWEI] commit

3,下面的是NTP设置的更多功能,可以不配置

# 配置NTP认证功能,配置认证密钥并声明该密钥可信。

[~HUAWEI] ntp authentication enable

[*HUAWEI] ntp authentication-keyid 42 authentication-mode hmac-sha256 Hello@123456

[*HUAWEI] ntp trusted authentication-keyid 42

[*HUAWEI] commit

  • 广播模式

# 配置NTP主时钟,层数为2。

<HUAWEI> system-view

[~HUAWEI] ntp refclock-master 2

[*HUAWEI] commit

# 配置NTP认证功能,配置认证密钥并声明该密钥可信。

[~HUAWEI] ntp authentication enable

[*HUAWEI] ntp authentication-keyid 42 authentication-mode hmac-sha256 Hello@123456

[*HUAWEI] ntp trusted authentication-keyid 42

[*HUAWEI] commit

# 配置NTP广播服务器,从接口10GE1/0/1发送NTP广播报文,并指定使用密钥ID 42加密。

[~HUAWEI] interface 10ge 1/0/1

[~HUAWEI-10GE1/0/1] undo portswitch

[*HUAWEI-10GE1/0/1] ntp broadcast-server authentication-keyid 42

[*HUAWEI-10GE1/0/1] quit

[*HUAWEI] commit

# 使能NTP服务器功能。

[~HUAWEI] undo ntp server disable

[*HUAWEI] commit

  • 组播模式

# 配置NTP主时钟,层数为2。

<HUAWEI> system-view

[~HUAWEI] ntp refclock-master 2

[*HUAWEI] commit

# 配置NTP认证功能,配置认证密钥并声明该密钥可信。

[~HUAWEI] ntp authentication enable

[*HUAWEI] ntp authentication-keyid 42 authentication-mode hmac-sha256 Hello@123456

[*HUAWEI] ntp trusted authentication-keyid 42

[*HUAWEI] commit

# 配置NTP组播服务器,从接口10GE1/0/1发送NTP组播报文,并指定使用密钥ID 42加密。

[~HUAWEI] interface 10ge 1/0/1

[~HUAWEI-10GE1/0/1] undo portswitch

[*HUAWEI-10GE1/0/1] ntp multicast-server authentication-keyid 42

[*HUAWEI-10GE1/0/1] quit

[*HUAWEI] commit

# 使能NTP服务器功能。

[~HUAWEI] undo ntp server disable

[*HUAWEI] commit

  • 多播模式

# 配置NTP主时钟,层数为2。

<HUAWEI> system-view

[~HUAWEI] ntp refclock-master 2

[*HUAWEI] commit

# 配置NTP认证功能,配置认证密钥并声明该密钥可信。

[~HUAWEI] ntp authentication enable

[*HUAWEI] ntp authentication-keyid 42 authentication-mode hmac-sha256 Hello@123456

[*HUAWEI] ntp trusted authentication-keyid 42

[*HUAWEI] commit

# 配置NTP多播服务器,从接口10GE1/0/1发送NTP多播报文。

[~HUAWEI] interface 10ge 1/0/1

[~HUAWEI-10GE1/0/1] undo portswitch

[*HUAWEI-10GE1/0/1] ntp manycast-server

[*HUAWEI-10GE1/0/1] quit

[*HUAWEI] commit

# 使能NTP服务器功能。

[~HUAWEI] undo ntp server disable

[*HUAWEI] commit

在Windows10下搭建NTP服务

系统版本: Windows10专业工作站版

  1. 修改注册表
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
    设置为5
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled
    设置为1
  2. 打开命令命令提示符
    net stop w32time
    net start w32time
  3. 防火墙放行NTP所需端口
    123/udp
  4. 如有需要, Windows服务管理里面设置Windows Time为开机启动

另外, 针对步骤1的AnnounceFlags设置为5, 我去查了下相关资料

基本项为0/1/2/4/8

参数含义: a) 0 不作为时间服务器; b) 1 始终为时间服务器; c) 2 自动为时间服务器,意味着由 Windows 时间服务来决定角色; d) 4 始终为可靠时间服务器; e) 8 自动为可靠时间服务器,意味着由 Windows 时间服务来决定角色。

所以5=1+4, 始终为时间服务器且始终为可靠时间服务器.

我拿Windows搭建NTP服务器主要是想测试Linux下NTP服务/客户端的搭建

但是发现搭完后, Linux客户端可以使用Windows的NTP服务更新时间

但是Linux的NTP服务无法与Windows的NTP服务完成时间同步

后感

到今天为止,至少上亿的人,要么开始在家办公,要么带着口罩走进工厂,公司,或者写字楼。

这是一个艰难的抉择,而所有人,只能选择健康和生活的相对平衡。

网络上有个问题是:

疫情中的复工后,你有怎样的感触?

最戳心的一个回答是:

从来没有哪个时刻,像现在一样,让我感觉此前过得太敷衍。
以后我要努力赚钱,认真工作和生活。

是的,世界安静下来,你才能听得到心跳的声音。

经历过生死与突如其来的变故,你才能体会生活的真相。

在家里呆了差不多30天,日子被突然按下暂停键,你明白的只会是更多。

从今天起,至少上亿此前不认真生活的人,注定会「消失」或「失踪」。

而你,最大的感想是什么?

疫情不仅改变了社会,也正在改变你对世界的态度。

如果说,灾难已经无法避免。

那么,刚过去的30多天,就是中国人最深刻的一次集体修行。

健康力
才是一个人最大的能力

一个人到底拥有怎样的能力,才能在这个社会立足?

这个问题,有太多的答案。

但此次疫情给出了,最明显与直白的结果。

健康力,才是一个人最大的能力。

换句话说,健康才是一切平淡,或跌宕生活的起点。

所谓健康,不仅是指你体格足够棒,还指你心理健康,适应力强,道德健康。

身心健康,你才能不轻易被病毒感染。

道德健康,你就会遵守社会的规则与秩序,不在这样一场大灾难里被其他人唾弃。

你不会轻易出逃,不会隐瞒自己的出行与旅游经历。

同时拥有身心健康与道德健康,你才能在所有的风波里安然无恙。

寻常日子里,也许你会有太多通往光鲜,或升级版生活的逻辑。

但渡尽劫波,你就会发现,强大的健康力,才是最颠簸不破的硬实力。

有套房
是一切生活稳定感的前提

此次疫情抗击的一个关键词是:居家隔离。

房子的重要性,在这里展现得淋漓尽致。

如果你没有固定的住处,在过去的20多天里,过得比较狼狈。

但有一套房,也许你在房子里仍然会不安与忐忑,但会好很多。

我不提倡你一定要多买房,毕竟,靠买房致富的年代,已经过去。

但有套房,就算在异乡,你也不会有漂浮在空中的感觉;

有套房,就算去相亲,你也会多一些直言不讳的底气。

而在新冠肺炎这样的疫情里,有一套房,靠近超市和菜市场,不停水和停电。

你就多了一个庇护所,多了许多底气。

海子在诗里说:

从明天起,做一个幸福的人/喂马、劈柴,周游世界/从明天起,关心粮食和蔬菜/我有一所房子,面朝大海,春暖花开。

有套房,可能还是无法喂马、劈柴,但至少,你不会遁无可遁。

有套房,真的是一切生活稳定感的前提。

相信你已经意识到了。

别再欺骗自己了,如果手头有钱,就赶紧去售楼部吧。

你不能穷到没有存款!

这次新冠疫情中,哪一部分人最难受?

除了被感染者,还有没有存款的人。

假期如此漫长,复工遥遥无期,车贷、房贷仍然在那里。

但固定的收入,突然变得不可预期。

没有存款,每天的开支,都是一次对生活余量的透支,让人变得紧张。

你总以为,没有存款也是一种生活选择。

但生活,只会告诉你赤裸裸的事实:

如果你穷到连存款也没有,痛苦就会随之而来。

曾经有则直击人心的广告词是:年纪越大,越没有人会原谅你的穷。

真是这样,年龄越大,你的存款越少,生活对你投的信任票就会越少。

你和这个世界,有时候真的是靠金钱联系着,就这么简单。

那种只存不花的金钱观,当然不足取。

但只花不存,则是成年人最大的不自律。

你一旦不自律,风险的兜底能力就会大大降低。

灾难会让你害怕,也会教给你规避风险的路径。

禁足后才知道
99%的社交是无用的

一些媒体,在形容这次疫情中普通人的居家隔离时,都不约而同用到一个词:

禁足。

疫情大事件,骤然中断了你绝大部分的社会联系,也禁止了你以前不停的社交。

禁足后,会发生什么?

你会发现总想逃离的家,其实也没那么可怕;
你会明白,静下心来看一本书也是可能的;
你还会明白,99%的社交其实是没什么用的。

你呆在家里这么久,没去参加形形色色的聚会、酒局、饭局。

到最后,它们对你的影响依旧微乎其微。

那些只为聚而聚的社交,充其量只是一种弱联系,无法左右你的生活。

你的对手在看书,你的仇人在磨刀,你的闺蜜在减肥,你却把时间浪费在一场又一场的饭局中。

这种生活,不值得过。

你真正需要的,是有价值的遇见。

是你变得优秀,成为所在行业的前15%。

你若强大,人脉自来。

我已经明白了这条道理,你呢?

一辈子太长
要和有趣的人在一起

这是作家王小波的一句话。

但把它用在此次新冠肺炎疫情中,再合适不过。

呆在家中将近30天,出一趟门非常麻烦,重复的空间与生活作息,如何熬过去?

内心呆板的人,会接近崩溃;

过于安静的人,很可能会出现心理问题;

只有那些有趣的人,会活出另一种滋味。

这几天看抖音,我就格外感慨。

抖音中,有太多苦中作乐的人。

有被困在农村老家的人,在磨盘旁扮起了「毛驴」;

有人在给橘子「接生」;

有的一家人,演起了情景小剧。

疫情让他们无法自由出门,但他们在家里找到了另一个小世界。

世界上普通的人很多,但有趣的人很少。

请你做一个普通且有趣的人。

如果你遇到这样的人,请记得珍惜。

不要迷恋深夜的酒
一定要喝清晨的粥

昨晚,和一位刚返城的邻居聊天。

她在老家呆了整整18天。山区,手机都没有信号。

我问她,没有网络的日子可怕吗?

她说:恰恰相反。

从来没有在家里陪父母这么久,第一次感觉安静真好,和家人呆在一起心定。

也从来没有和孩子相处这么长时间,突然发现,除了有时候不写作业,也挺可爱。

新冠肺炎疫情,当然是一次灾难。

但换个角度来看,它何尝又不是,给所有人一个机会,和最亲近的人在一起。

灾难和意外都是不速之客。

不要等它们到来,才去爱值得爱的人。

深夜的酒,喧嚣与热闹,固然让人血脉膨胀,兴奋不已。

但只有和家人在一起的清晨,喝着温暖的粥,才是真正的开始与生活。

你千万不要迷恋深夜的酒,一定要喝清晨的粥。

你千万不要留恋在熙熙攘攘的世界,忘记了家和亲人。

回家,要趁早。

爱父母和亲人,要在当下。

武汉新冠肺炎疫情,将会如何发展?

最好结果,是2到4周内,所有病人治疗结束,2到3个月内全国疫情得到控制;

最差的结果,是控制失败,病毒席卷全球;

还有一种胶着的姿态:

病例数在可控范围内增长,抗疫过程会十分长,可能长达半年至一年之久。

现在看来,一些湖北外省份的疫情「拐点」,可能正在到来,情况在向着乐观的方向走。

这是一个好的消息。

但疫情形势依然严峻,你不能放松。

一定要用此前高度警惕的姿态,去应对。

不少城市,今天已经复工。

被紧急刹车的中国,重新开始走在路上,正常的生活,也渐渐被重启。

但这不是简单的重启。

而是你替那些死去的他们在活;

是你在替被自己荒废的昨天在活。

加缪在《鼠疫》中说:

「对未来的真正慷慨,是把一切献给现在。」

武汉继续加油,谢谢那些一直在武汉坚守的人。

全国内的拐点一定会尽快到来。

这是一场灾难。

也是一场所有中国人的集体修行。

你不要辜负这一场修行。

灾难过后,愿你都能成为一个有好身体、有风险意识,与有趣的人。

愿你有房子,也有积蓄;

愿你既看重身边人,也远离无用的社交与关系。

查看Linux版本系统信息方法汇总

Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。  

 1、# uname -a   (Linux查看版本当前操作系统内核信息)   Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2019 i686 athlon i386 GNU/Linux   

2、# cat /proc/version (Linux查看当前操作系统版本信息)       Linux version 2.4.20-8 (bhcompile@porky.devel.redhat.com)      (gcc version 3.2.2 20190222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:54:28 EST 2019  

3、# cat /etc/issue  或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息)   Red Hat Linux release 9 (Shrike)

  4、# cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)   processor        : 0
     vendor_id         : AuthenticAMD
  cpu family        : 15
  model             : 1
  model name      : AMD A4-3300M APU with Radeon(tm) HD Graphics
  stepping         : 0
  cpu MHz          : 1896.236
  cache size       : 1024 KB
  fdiv_bug         : no
  hlt_bug          : no
  f00f_bug        : no
  coma_bug      : no
  fpu                : yes
  fpu_exception   : yes
  cpuid level      : 6
  wp                : yes
  flags             : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr                           sse sse2 syscall mmxext lm 3dnowext 3dnow
  bogomips      : 3774.87   

5、# getconf LONG_BIT  (Linux查看版本说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)   32  

 6、# lsb_release -a