首页 文章 精选 留言 我的

精选列表

搜索[centos6],共273篇文章
优秀的个人博客,低调大师

阿里云CentOS6配置Web服务器

最近买了阿里云的CentOS系统的Linux服务器,花了些时间把环境配置了一下,用来发布后端。 jdk Tomcat Maven Git mysql5.7.17 CentOS环境初始化 1.CentOS备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 1 2.下载新的CentOS-Base.repo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 1 3.生成缓存 yum makecache 1 阿里云Centos环境初始化 http://mirrors.aliyun.com/help/centos 创建新用户 1. 创建用户 useradd -d /usr/用户名 -m 用户名 1 2.设置用户密码 passwd 用户名 1 设置新用户密码 3.修改配置文件 vim /etc/sudoers 1 找到root后添加一条新用户的信息 ALL=(ALL) ALL意思是 用户=可以以root权限执行的命令 添加完成后 wq! 强制保存退出 到这里新用户的配置就结束了。 用新用户登录后注意要使用 “sudo”命令 创建安装包存放文件夹 用mkdir命令创建用来存放安装包的文件夹 mkdir developer 1 注意不是root用户要用sudo sudo mkdir developer 1 配置JDk 1.检查是否安装JDk rpm -qa| grep jdk 1 使用这条命令检查是否安装jdk 2.下载JDk 官方下载地址 http://www.oracle.com/technetwork/java/javase/archive-139210.html 使用wget命令下载JDk 3.重命名JDK mv 原文件名 新文件名 这里要用空格分开 sudo mv jdk-7u80-linux-x64.rpm\?AuthParam\=1502245631_f04b3399ba732d3836923a1103166a05 jdk-7u80-linux-x64.rpm 1 4.赋权 chmod 777 赋权对象,让所有用户都能使用JDK sudo chmod 777 apache-tomcat-7.0.79.tar.gz 1 5.安装JDK sudo rpm -ivh 文件 sudo rpm -ivh jdk-7u80-linux-x64.rpm 1 6.配置环境变量 sudo vim /etc/profile 1 编辑配置文件 修改完成后wq!强制保存退出 生效配置文件 source /etc/profile 1 到这里配置JDK就结束了。 7.检查JDK是否安装成功 java -version 1 安装Tomcat 1.下载Tomcat Tomcat官网 http://tomcat.apache.org/ 选择自己要使用的版本下载tar.gz sudo wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.79/bin/apache-tomcat-7.0.79.tar.gz 1 2.解压Tomcat tar -zxvf 解压文件 sudo tar -zxvf apache-tomcat-7.0.79.tar.gz 1 3.将解压好的Tomcat文件放到/usr/local文件夹下 sudo mv apache-tomcat-7.0.79 /usr/local/ 1 4.修改Tomcat字符集编码 sudo vim /usr/local/apache-tomcat-7.0.79/conf/server.xml 1 在Connector 里加入:URIEncoding=”UTF-8” 修改完成后wq!强制保存退出 配置环境变量 sudo vim /etc/profile 1 编辑配置文件 修改完成后wq!强制保存退出 生效配置文件 source /etc/profile 1 到这里配置Tomcat就结束了。 Maven配置 1.下载maven sudo wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.0/binaries/apache-maven-3.5.0-bin.tar.gz 1 2.解压maven sudo tar -zxvf apache-maven-3.5.0-bin.tar.gz 1 3.将解压好的Maven文件放到/usr/local文件夹下 sudo mv apache-maven-3.5.0 /usr/local/ 1 4.配置环境变量 sudo vim /etc/profile 1 编辑配置文件 修改完成后wq!强制保存退出 生效配置文件 source /etc/profile 1 到这里配置Maven就结束了。 5.检查Maven是否安装成功 mvn -version 1 Git安装 1.下载Git 该下载链接由慕课网提供 wget http://learning.happymmall.com/git/git-v2.8.0.tar.gz 1 2.安装Git的依赖 sudo yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils- MakeMaker 3.解压Git压缩包 sudo tar -zxvf git-v2.8.0.tar.gz 4.安装Git 进入git目录 cd git-2.8.0 make安装 sudo make prefix=/usr/local/git all sudo make prefix=/usr/local/git install 5.配置环境变量 sudo vim /etc/profile 修改完成后wq!强制保存退出 生效配置文件 source /etc/profile 到这里配置Git就结束了。 6.检查Git是否安装成功 git --version mysql5.7.17安装 1.下载mysql 官方下载地址 https://downloads.mysql.com/archives/community/ sudo wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar 2.解压mysql压缩包 sudo tar xvf mysql-5.7.17-1.el6.x86_64.rpm-bundle.tar 3.安装mysql 1.删除mysql-lib(系统自带的版本过低) sudo yum remove mysql-libs 2.安装依赖 sudo rpm -ivh mysql-community-common-5.7.17-1.el6.x86_64.rpm sudo rpm -ivh mysql-community-libs-5.7.17-1.el6.x86_64.rpm sudo rpm -ivh mysql-community-client-5.7.17-1.el6.x86_64.rpm sudo rpm -ivh mysql-community-devel-5.7.17-1.el6.x86_64.rpm sudo rpm -ivh mysql-community-server-5.7.17-1.el6.x86_64.rpm 3.启动mysql 重启linux服务器 sudo shutdown -r now 启动数据库 service mysqld start 数据库初始化 1.初始化数据库 sudo mysql_secure_installation mysql5.7.17加强了安全系统,需要去/var/log/mysqld.log下找到初始密码 vim /var/log/mysqld.log 收索 A temporary password is generated for root@localhost Securing the MySQL server deployment. Enter password for user root: <–输入找到的初始密码 he existing password for the user account root has expired. Please set a new password. New password: <– 设置root用户的密码 Re-enter new password: <– 再输入一次你设置的密码 The 'validate_password' plugin is installed on the server. The subsequent steps will run with the existing configuration of the plugin. Using existing password for root. Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : <-是否更改root密码 New password:<– 再输入一次你设置的密码 Re-enter new password: <– 再输入一次你设置的密码 Estimated strength of the password: 100 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : <-确认更改root密码 By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? (Press y|Y for Yes, any other key for No) : <-删除匿名用户? Success. Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : <–是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止 ... skipping. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : <– 是否删除test数据库,直接回车 - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : <– 是否重新加载权限表,直接回车 Success. All done! 3.登录数据库 mysql -uroot -p 3.创建用户 CREATE USER '用户名'@'地址' IDENTIFIED BY '密码'; 4.创建数据库 create database `数据库` default character set utf8 collate utf8_general_ci; 5.赋权 grant all privileges on 数据库.* to 用户名@localhost identified by '密码'; 6.进入数据库 use 数据库 7.还原表 source 备份文件地址 8.设置开机启动 sudo chkconfig mysqld on 到这里服务器的配置就结束了

优秀的个人博客,低调大师

Docker下使用daocloud镜像加速(基于Centos6

Docker加速器使用时不需要任何额外操作。就像这样下载官方Ubuntu镜像 实际操作(添加镜像源): 在 /etc/sysconfig/docker下添加两条命令 1 2 3 other_args= "--registry-mirror=http://74ecfe5d.m.daocloud.io" OPTIONS='--registry-mirror= http: //74ecfe5d .m.daocloud.io' 重启Docker服务,让配置生效: 1 2 3 4 5 [root@docker~] #/etc/init.d/dockerrestart Stoppingdocker:[OK] Startingdocker:[OK] [root@docker~] #echo$? 0 测试查找ubuntu镜像,并下载一个pull镜像: 1 [root@docker~] #dockersearchubuntu NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating s... 3234 [OK] ubuntu-upstart Upstart is an event-based replacement for ... 60 [OK] torusware/speedus-ubuntu Always updated official Ubuntu docker imag... 25 [OK] ubuntu-debootstrap debootstrap --variant=minbase --components... 25 [OK] tleyden5iwx/ubuntu-cuda Ubuntu 14.04 with CUDA drivers pre-installed 20 [OK] rastasheep/ubuntu-sshd Dockerized SSH service, built on top of of... 20 [OK] nickistre/ubuntu-lamp-wordpress LAMP on Ubuntu with wp-cli installed 4 [OK] nuagebec/ubuntu Simple always updated Ubuntu docker images... 4 [OK] nimmis/ubuntu This is a docker images different LTS vers... 3 [OK] maxexcloo/ubuntu Docker base image built on Ubuntu with Sup... 2 [OK] nickistre/ubuntu-lamp LAMP server on Ubuntu 2 [OK] densuke/ubuntu-jp-remix Ubuntu Linuxの日本語remix風味です 2 [OK] sassmann/ubuntu-steam Steam based on Ubuntu 1 [OK] seetheprogress/ubuntu Ubuntu image provided by seetheprogress us... 1 [OK] darksheer/ubuntu Base Ubuntu Image -- Updated hourly 1 [OK] teamrock/ubuntu TeamRock's Ubuntu image configured with AW... 0 [OK] konstruktoid/ubuntu Ubuntu base image 0 [OK] webhippie/ubuntu Docker images for ubuntu 0 [OK] esycat/ubuntu Ubuntu LTS 0 [OK] rallias/ubuntu Ubuntu with the needful 0 [OK] lynxtp/ubuntu https://github.com/lynxtp/docker-ubuntu 0 [OK] avatao/ubuntu Ubuntu for challenges 0 [OK] ubuntucore/jenkins-ubuntu Jenkins image based on ubuntu 0 [OK] zoni/ubuntu 0 [OK] jianhuiz/ubuntu-docker ubuntu images that runs in nova-docker 0 [OK] 1 [root@docker~] #dockerpullubuntu Pulling repository ubuntu c29e52d44f69: Download complete 5549154b6b00: Download complete dbcf09c742a7: Download complete 40964da1bf47: Download complete Status: Downloaded newer image for ubuntu:latest 查看镜像信息: 1 2 3 4 5 6 7 8 9 10 11 12 [root@docker~] #dockerimages REPOSITORYTAGIMAGEIDCREATEDVIRTUALSIZE ubuntulatestc29e52d44f693daysago187.9MB wordpresslatest62a9acf5fc2a9daysago517.3MB nginxlatestbbb75b846e7b9daysago134.5MB redislatest34ca6ac180ad3weeksago151.2MB mongolatestad74160b34433weeksago317.4MB daocloud.io /library/python latesta2db1214d0153weeksago689.1MB debianlatest5eb1402f04143weeksago125.1MB centoslatest60e65a8e40308weeksago196.6MB joedval /stress latest7eb627cb08a211weeksago214.9MB lemonbar /centos6-ssh latestb78c71c001db18monthsago 本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1743799,如需转载请自行联系原作者

优秀的个人博客,低调大师

CentOS6上部署运行reactjs+antd+dva

1,安装NPM : yum install npm 2,安装NodeJs: yum install -y nodejs 3, 升级NodeJs到最新版本 安装n模块: npm install -g n 升级node.js到最新稳定版: n stable 4,安装yarn: npm install -g yarn 5,下载node_modules模块 #开始前请确保没有安装roadhog、webpack到NPM全局目录 npm i 或者 yarn install 6,编译生成dist目录: 第一次npm run dev时需运行此命令,使开发时编译更快 npm run build:dll (开发) 或者如下命令: npm run build (发布) npm run build:new 7, 开始运行: npm run dev 打开http://localhost:8000

优秀的个人博客,低调大师

CentOS6内核文件丢失修复方法

CenOS6 内核文件vmlinuz文件误删后启动嘉兴特产有哪些会出现如下界面 进入救援模式 ls /mnt/sysimage/boot #如果没有vmlinuz文件,则可按照如下方法修复 1 2 修复方法: 光盘里面/images/preboot/vmlinuz和/isolinux/vmlinuz即为内核文件,可以直接cp过来 # vmlinuz的文件名可参考/boot/grub/grub.conf中的配置,亦可直接改配置中的文件名,两者保持一致即可 cp -av /mnt/cdeom/isolinux/vmlinuz /mnt/sysimage/boot/vmlinuz-`uname -r`

优秀的个人博客,低调大师

centos6 安装部署zabbix_agentd客户端

zabbix_server可以下用源码安装,但是zabbix_agentd推荐使用rpm包安装,因为在实际企业部署zabbix_agentd时,主机数量基本都是成千上万,用rpm包安装比较方便 开始安装zabbix_agentd: 一、下载rpm包 cd /opt wgethttp://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.4-1.el6.x86_64.rpm 二、安装zabbix_agentd yum localinstall zabbix-agent-3.0.4-1.el6.x86_64.rpm 三、修改zabbix_agentd.conf vim /etc/zabbix/zabbix_agentd.conf 修改一下几项内容: EnableRemoteCommands=1 #允许zabbix服务器远程zabbix_agentd执行命令 LogRemoteCommands=1 #开启远程执行命令日志 Server=10.8.9.155 #填写zabbix服务器IP地址 ServerActive=10.8.9.155 #填写zabbix服务器IP地址 Hostname=cloucentos6.0 #填写zabbix_agentd客户端计算机名 四、启动zabbix_agentd 因为我们这里直接安装的rpm包所以在/etc/init.d/目录下生成开机脚本 直接执行/etc/init.d/zabbix_agentd start 就ok。

优秀的个人博客,低调大师

CentOS6启动过程总结与GRUB问题修复

一、CentOS 6 的启动流程 第一步:加电自检(POST)主要检查硬件设备是否存在并能正常运行,如:CPU、内存、硬盘、风扇、输入输出设备等。自检功能主要是通过BIOS来实现的,BIOS程序是装载在一个硬件芯片CMOS上的,加电过程就是给CMOS通电,然后启动BIOS程序,BIOS程序会根据CMOS上面的一些配置信息区读取其他的硬件设备信息并检测其是否存在并能正常运行,之后进行硬件设备的初始化。 第二步:选择启动顺序,加载MBR按照BIOS中设置的Boot Sequence查找Boot Loader程序所在的设备。Boot Loader是一个程序,它依赖于一个硬件之上,这个硬件就是硬盘,准确的说为第一个可以启动的硬盘的第一个扇区内,即MBR(Master Boot Record,主引导记录)。Boot Loader的主要功能就是去识别、加载操作系统中的核心文件,并提交到内存中运行,进而来启动对应的操作系统。另一个主要功能是提供菜单信息(可以提供不同的启动项来加载不同的操作系统),并将启动管理功能转交给其他的加载程序。 第三步:加载系统内核(Kernel)文件,执行系统初始化信息Boot Loader程序读取操作系统的内核文件后,会将其解压后装载到内存当中,然后接管BIOS的工作开始测试并加载各个设备(CPU、硬盘、网卡等)。因为内核文件(Kernel)通常是存放在系统上的/boot目录中,并且是以vmlinuz开头的文件,此时内存程序还没有加载到硬盘,因此无法读取系统上的内核文件,而如果先去加载硬盘则必须有硬盘的驱动程序,因此这将会产生一个先后顺序的问题,为了解决这个问题,Linux采用GRUB启动管理程序来识别硬盘信息,RTUB程序的执行过程需要三个阶段,具体的执行过程将在下面的第二章节介绍。 第四步:启动第一个执行程序/sbin/init在内核、硬件及驱动信息加载完毕后,内核会呼叫用户控件的第一个执行程序/sbin/init,init程序主要功能是准备软件运行环境,包括系统的主机名称、网络配置、文件系统格式等其他服务的启动管理。而这些所有的操作都是通过init的配置文件来定义的。在CentOS 5 中 init 的配置文件为:/etc/inittab在CentOS 6 中 init 的配置文件为:/etc/inittab,/etc/init/*.conf在init的配置文件中有个一非常重要的配置项目,那就是默认的系统启动级别。启动级别是为系统维护的目的而设定的,其实现方式是关闭或启动对应级别下的服务。以下为init的7个运行级别: 0:halt,关机 1:Single user,单用户模式,此级别允许以root用户身份登录,而无需认证,相当于windows的安全模式 2:Multiuser,多用户模式,需要用户认证,会启动网络功能,但不会启动NFS 3:Full multiuser,完全多用户模式,文本界面 4:unused,预留级别,目前无特别的使用目的 5:X11,正常级别,也是完全多用户模式,图形界面 6:reboot,重启 通常使用较多的默认级别为3或5,服务器上一般默认使用3级别,不同级别之间是可以进行切换的,切换方式为:init [0-6],可以使用 who -r或run_leave命令查看运行级别。 第五步:运行系统初始化脚本根据 init 的配置文件,先获取默认的 runlevel,然后再执行 /etc/rc.d/rc.sysinit 脚本完成系统初始化。系统初始化脚本所做的事情主要有: 1、设定主机名(读取/etc/sysconfig/network文件) 2、激活 SELinux 和 udev 3、打印文本欢迎信息 4、挂载所有定义在/etc/fstab文件中的文件系统 5、激活 swap 设备 6、检测跟文件系统,并实现以读写方式重新挂载 7、设置系统时钟 8、根据 /etc/sysctl.conf 文件设定内核参数的值 9、激活LVM和RAID设备 10、加载额外的设备驱动程序 11、清理操作 第六步:启动系统服务按照默认级别的参数N,执行 /etc/rcN.d/ 目录下设定的关闭和启动相应的服务。 第七步:打印登录提示符 二、GRUB程序的三个阶段 stage1:运行Boot Loader主程序,这个程序必须要被安装在启动区(MBR)。因为MBR空间有限,因此在MBR当中仅安装Boot Loader的最小主程序,并没有安装Boot Loader的相关配置文件。 stage1_5:存放在MBR随后的扇区中,主要用于与stage2所在分区的文件系统进行交互。 stage2:通过Boot Loader加载所有配置文件及相关的环境参数信息,这些配置文件及相关的环境参数都存放于磁盘分区上的/boot目录下。 grup的配置文件路径为:/boot/grub/grub.conf,内容如下: default:设定默认启动的内核和操作系统,如果同时安装了多个操作系统或内核,0表示定义的第一个title系统,1表示定义的第二个title系统,依次类推; timeout:设定系统启动时选择操作系统菜单的等待时间,单位是秒(s); splashp_w_picpath:设定系统启动时grub菜单的背景图片。图片格式为xpm,14bits颜色,大小为640*480,需要gzip压缩; hiddenmenu:隐藏选择菜单,默认情况下是不显示菜单信息,如果想要显示菜单,将该配置注释即可; title:定义一个操作系统或系统内核,且包括下面内容:root:指明引导当前操作系统或内核文件所在的分区;kernel:指定文件路径、根文件系统所在设备,以及传递给内核的参数。由于启动过程中需要挂载跟目录,因此需要指定根目录所在的分区。内核参数 rhgb表示色彩显示,quiet表示静默模式加载内核;initrd:指定用于辅助内核完成系统启动的ramdisk文件路径; 三、关于GRUB的调试 1、破解root用户密码 第一步:系统启动时按任意键进入GRUB菜单,动作一定要快,默认是5s的倒计时 如上图所示,可以使用上下键选择要启动的操作系统(这里只用一个); 按“e”可以对选择的项进行编辑; 按“a”可以对选择的项进行内核参数修改; 按“c”可以进入命令行模式; 第二步:根据提示,选择相应的菜单,然后按“a”,在原有内核参数的最后加上“1或s或S或single”的任意一个参数,表示进入单用户模式,然后按回车键启动系统 第三步:以单用户模式进入系统后,使用passwd命令修改root用户密码,修改完之后重启系统即可使用新的root用户密码登录系统。 2、为GRUB菜单设置保护密码 默认情况下进入GRUB菜单后不需要任何密码就可以进行编辑,相对来说是比较危险的,因此可以修改 grub.conf 配置文件为GRUB菜单设置密码保护,在 grub.conf 文件中的title字段上面新增一行pwssword PASSWD,password支持命令口令和加密口令,具体设置如下图所示: md5加密口令的生成命令为:grub-md5-crypt 在grub.conf文件中新增password后,再次进入GRUB菜单时如果想要编辑则必须按“p”键,然后通过密码验证后才能编辑,如下图所示: 同理,在grub.conf 配置文件中的title内添加password,可以保护内核,即进入系统时需要输入密码验证后才能启动。 3、取消图形界面的启动,使用文本界面启动 系统默认的启动方式是图形界面启动,因此看不到系统的启动过程,可以通过修改 grub.conf 配置文件设置成文本界面启动,生产环境下也建议使用文本界面启动,因为这种启动方式可以看到整个过程,如果哪个服务在启动过程中出错可以及时发现。修改方法是把kernel参数中的rhgb和quiet删除。 4、如果/boot下的文件损坏或丢失的恢复方法 第一步:使用安装光盘进入救援模式,进入时需要根据提示手动选择语言、键盘等 加载救援模式的过程中会提示硬盘上的系统已经被找到并挂载到/mnt/sysp_w_picpath下,因此进入救援模式后可以使用 chroot /mnt/sysp_w_picpath 命令切换到硬盘上操作系统的根目录下,因为救援模式下提供的命令比较有限,好多命令都不支持。 如果进入到救援模式后,没有发现硬盘上的根文件系统,则需要使用相关命令查找并分析根文件系统所在硬盘分区位置,如果硬盘使用的是普通分区,则可以通过 blkid 命令和 fdisk -l 命令分析出根文件系统的分区位置,而如果硬盘使用的是LVM分区,则可以使用 lvscan 命令查看分区,并且需要使用 vgchange -ay 命令激活VG卷组。 分析出根文件系统所在分区后挂载根文件系统,然后检查并修改fstab文件,如果该文件丢失,则手动创建一份,按照相应格式在其中添加挂载根文件系统的条目,然后重启系统,直到能够自动检测出硬盘上的系统并挂载到/mnt/sysp_w_picpath下为止。 第二步:进入到硬盘的根文件系统后,使用mount命令挂载光盘,比如将光盘挂载到/mnt/cdrom上: 第三步:使用rpm命令安装kernel包,安装时会提示kernel已安装,需要使用--force或--replacepkgs选项强制安装。安装完之后会在/boot目录下自动生成initramfs文件和vmlinuz文件 vmlinuz-2.6.32-642.el6.x86_64 和 initramfs-2.6.32-642.el6.x86_64.img 是系统启动时必要的两个文件,缺一不可。 vmlinuz-2.6.32-642.el6.x86_64:内核文件,如果只是该文件丢失,可以从光盘或者相同版本的操作系统上拷贝。 initramfs-2.6.32-642.el6.x86_64.img:虚拟文件系统,通过Boot Loader程序能够将其加载到内存中,然后这个文件会被解压缩并且在内存中模拟一个跟文件系统,这个跟文件系统能够提供一个可以运行的程序,通过该程序可以加载在启动过程中所需要的核心模块(RAID、LVM、SCSI等文件系统与磁盘的驱动程序),加载完成之后,会协助内核重新呼叫/sbin/init来执行后续的正常启动。如果只是该文件丢失,可以使用 mkinitrd /boot/initramfs-`uname -r`.img `uname -r` 重新生成 。 第四步:使用 grub-install 命令修复grub,需要注意的是该命令需要指定/boot目录的父目录,如果/boot的父目录是根目录(/),则可以省略 --root-directory=DIR 选项。该命令也可以修复/boot/grub下的文件 第五步:在/boot/grub下创建 grub.conf 配置文件,配置文件内容如下图所示 第六步:使用exit命令退出硬盘中的文件系统,再使用reboot命令重启系统 5、grub.conf文件损坏的修复 如果grub.conf文件损坏,则操作系统将不能正常启动,此时手中如果有安装光盘的话可以通过救援模式重新创建grub.conf文件,但如果没有安装光盘的话,可以通过以下方式修复: 第一步:如果grub.conf文件损坏,则系统系统时会自动进入grub的命令行模式,该模式下可以通过 help 命令查看帮助。使用root命令可以显示当前grub所在硬盘的分区位置; 第二步:使用 root 命令指定内核存放的位置; 第三步:使用 kernel 命令设置kernel文件路径及根文件系统所在设备,支持Tab命令补全; 第四步:使用 initrd 命令设置initramfs路径,支持Tab命令补全; 第五步:使用 boot 命令启动系统; 第六步:系统启动后手工重新编写 /boot/grub/grub.conf 配置文件。 四、在U盘上自制 Linux 系统 根据 CentOS 6 的启动过程,可以在U盘上自制一个定制版的Linux系统,首先需要划分出一个/boot分区和一个根(/)分区,其次需要安装grub,然后将内核文件和initramfs文件放入到U盘的/boot目录下,最后创建必要的配置文件,具体步骤如下: 第一步:使用 fdisk 命令为U盘创建/boot分区和根分区,/boot分区(/dev/sdb1)大小为100M,根分区(/dev/sdb2)大小为6G 第二步:格式化分区,将/boot分区(/dev/sdb1)和根分区(/dev/sdb2)都格式化成ext4格式 第三步:分别将U盘上的boot(/dev/sdb1)分区和根分区(/dev/sdb2)挂载到当前系统的/mnt/boot和/mnt/sysroot上 第四步:使用 grub-install 命令安装grub,注意需要指定所挂载U盘/boot分区的父目录为/mnt 第五步:在/mnt/boot/grub目录下创建grub.conf配置文件,该配置文件中需要在kernel参数配置项中关闭selinux,并指定init程序为/bin/bash 第六步:复制内核文件和initramfs文件到/mnt/boot目录下 第七步:在/mnt/sysroot目录下创建一级目录 第八步:在/mnt/sysroot/bin目录下创建fstab的自动挂载文件 第九步:复制bash命令及相关库文件,注意bash命令和库文件的路径一定要放对,可以使用which命令查看bash路径,使用ldd命令查看bash的依赖库。 第十步:参考第九步,根据需求复制相应的命令及库文件,可以使用脚本复制命令和库,脚本内容如下: [root@localhost~]#catcopycmd.sh #!/bin/bash ch_root="/mnt/sysroot" [!-d$ch_root]&&mkdir$ch_root bincopy(){ ifwhich$1&>/dev/null;then localcmd_path=`which--skip-alias$1` localbin_dir=`dirname$cmd_path` [-d${ch_root}${bin_dir}]||mkdir-p${ch_root}${bin_dir} [-f${ch_root}${cmd_path}]||cp-n$cmd_path${ch_root}${bin_dir} return0 else echo"Commandnotfound." return1 fi } libcopy(){ locallib_list=$(ldd`which--skip-alias$1`|grep-Eo'/[^[:space:]]+') forloopin$lib_list;do locallib_dir=`dirname$loop` [-d${ch_root}${lib_dir}]||mkdir-p${ch_root}${lib_dir} [-f${ch_root}${loop}]||cp-n$loop${ch_root}${lib_dir} done } read-p"Pleaseinputacommand:"command while["$command"!="quit"];do ifbincopy$command;then libcopy$command fi read-p"Pleaseinputacommandorquit:"command done

优秀的个人博客,低调大师

Centos6 Ruby 1.8.7升级至Ruby 2.3.1的方法

本文章地址:https://www.cnblogs.com/erbiao/p/9117018.html#现在的版本 [root@hd4 /]# ruby --version ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux] #升级过程 [root@hd4 /]# curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - [root@hd4 /]# curl -L get.rvm.io | bash -s stable [root@hd4 /]# source /etc/profile.d/rvm.sh [root@hd4 /]# rvm requirements [root@hd4 /]# rvm install ruby 2.3.1 #设置默认版本 [root@hd4 /]# rvm --default use 2.3.1 #检查安装结果 [root@hd4 /]# ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

优秀的个人博客,低调大师

centos6中添加一块新的硬盘并分区

具体要求如下: 1、添加一块新的硬盘,大小1G 2、分五个区,每个大小100M,挂载到/mnt/p1-4(推荐parted) 开启虚拟机 使用parted分区方式 3、第一个个分区使用设备路径挂载 4、第三个分区使用卷标(game)挂载 5、第四个使用UUID挂载 6、第五个做成swap分区。 1、先将虚拟机关机(是关机不是挂起),然后点击虚拟机,点设置,添加,将硬盘大小设置为1G其他的就使用默认的就可以了。 2、 3、保存退出之后(parted) quit 4、重读分区表partx -a /dev/sdd 5、格式化 mkfs -t ext4 /dev/sdd1 mkfs -t ext4 /dev/sdd2 mkfs -t ext4 /dev/sdd3 mkfs -t ext4 /dev/sdd4 mkfs -t ext4 /dev/sdd5 6、挂载(有三种方法,设备路径,卷标,UUID) 挂载前先创建挂载的目录: mkdir /mnt/p1 mkdir /mnt/p2 mkdir /mnt/p3 mkdir /mnt/p4 设备路径挂载: mount -t /dev/sdd1 /mnt/p1 mount -t /dev/sdd1 /mnt/p1 卷标挂载: e2label /dev/sdd3 game 把第三个分区设成game卷标,使用blkid查看设置是否成功 使用blkid也可以看到/dev/sdd5的UUID 打开/etc/fstab文件 写入 /dev/sdd1 /mnt/p1 ext4 defaults 0 0 /dev/sdd2 /mnt/p2 ext4 defaults 0 0 LABEL=game /mnt/p3 ext4 defaults 0 0 UUID=64a5fd73-34d7-4546-afb9-4862b959744a /mnt/p4 ext4 defaults 0 0 保存退出 7、新建swap分区 使用物理分区构建swap分区 fdisk /dev/sdd5 Command (m for help): n(然后enter) Command (m for help): p(打印分区表,可以看到新建的分区) Command (m for help): t Command (m for help): 6(新建的分区号不一定是6) Hex code (type L to list codes):82(改成swap的IP) Command (m for help): w 保存退出 partx -a /dev/sdd 加载 swapon /dev/sdd6 (加载) free(查看) total used free shared buffers cached Mem: 2038352 817280 1221072 3408 96160 323596 -/+ buffers/cache: 397524 1640828 Swap: 106360 0 106360 完成

优秀的个人博客,低调大师

CentOS6中安装Hive的简单步骤与排错方法

部署环境:CentOS6.3 64bit 软件环境:java-1.6.0-openjdk,java-1.6.0-openjdk-devel,Hadoop-1.0.4 其他组件在安装Hadoop时已经安装好,不需要额外安装其他软件了。 Hive的安装依赖于Hadoop,因此想安装Hive,必须先安装Hadoop。 尽管Hive的README文件中强调要需要Java 1.6和Hadoop 0.20.x (x >= 1),但根据实际测试,Hadoop的版本并不受限制,即使你使用了Hadoop-1.0.4。 cd /tmp wgethttp://mirror.bjtu.edu.cn/apache/hive/stable/hive-0.9.0.tar.gz tarzxvfhive-0.9.0.tar.gz exportJAVA_HOME=/tmp/jdk1.6.0_41 exportJRE_HOME=/tmp/jdk1.6.0_41/jre exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH # 4-7行都是可选的,在配置Hadoop时用过,可不执行。 exportHADOOP_INSTALL=/tmp/hadoop-1.0.4 exportPATH=$PATH:$HADOOP_INSTALL/bin exportHIVE_INSTALL=/tmp/hive-0.9.0 exportPATH=$PATH:$HIVE_INSTALL/bin cdconf/ cphive-default.xml.templatehive-default.xml cphive-default.xml.templatehive-site.xml cphive-env.sh.templatehive-env.sh cphive-log4j.properties.templatehive-log4j.properties cphive-exec-log4j.properties.templatehive-exec-log4j.properties # 去除Hive的警告 # 方法是:把所有包含log4j.properties结尾的文件中的 # org.apache.hadoop.metrics.jvm.EventCounter # 替换成org.apache.hadoop.log.metrics.EventCounter hive Tips:使用hive命令时添加-S选项可以使得执行查询后只显示查询结果,而不显示其他额外的信息,如查询所花的时间。 本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1160177,如需转载请自行联系原作者

优秀的个人博客,低调大师

CentOS6系列系统启动常见故障排查与解决方法

情景一、内核文件损坏 /boot/vmlinuz-2.6.32-642.el6.x86_64 内核文件 1、故障现象 2、解决方法:挂载光盘,进入rescue(救援)模式 3、选择——English——us——No——Continue——OK——OK。 4、进入shell,重新安装内核 # mkdir cdrom # mount -r /dev/sr0 /cdrom # rpm -ivh --force --root=/mnt/sysimage/ /cdrom/Packages/kernel-2.6.32-642.el6.x86_64.rpm 5、确认新的内核文件已经生成 6、重新启动完成修复 如果initramfs文件损坏也可以使用这个方法修复。 情景二、grub损坏 故障现象: grub第1阶段损坏:无法从系统硬盘启动,直接进入下一可引导的启动设备 grub第1.5阶段损坏:从此硬盘启动黑屏,在第一行有一个光标,但是无法进入系统,也不会去读取下一个可引导设备 grub第2阶段损坏:grub第2阶段是提供了grub菜单界面,如果损坏了和1.5相似,也是无法看到grub启动界面 救援方法: 1、解决方法:进入rescue,在光盘引导界面按Esc件,输入 rescue linux 2、使用chroot命令切换根文件系统,然后用grub-install进行修复 # chroot /mnt/sysimage # grub-install /dev/sda 3、重启恢复系统完成 情景三、grub的配置文件损坏 /boot/grub/grub.conf 1、故障现象:grub无法读取配置文件,在开机的时候会默认进入grub的命令行界面 2、在命令行界面我们只需要手动指定内核和ramdisk文件的路径,如果不知道内核所在分区则可以尝试用find命令来查找 3、输入boot启动,成功进入系统后去编辑/boot/grub/grub.conf文件,修复完成 情景四、init程序被误删除 1、故障现象:内核可以初始化但是无法进入登录界面,出现一个sh的命令行 2、进入救援模式,安装upstart包,并查看init程序是否重新生成 # rpm -ivh --force --root=/mnt/sysimage/ /cdrom/Packages/upstart-0.6.5-el6.x86_64.rpm 3、重启进入系统,成功 情景五、bash程序被误删除 1、故障现象: 2、进入救援模式,安装upstart包,并查看init程序是否重新生成 # rpm -ivh --force --root=/mnt/sysimage/ /cdrom/Packages/bash-4.1.2-40.el6.x86_64.rpm 3、重启进入系统,成功 情景六、/etc/fatab文件被误删除 1、故障现象:因为无法挂载分区,启动故障 2、解决方法:由于fstab文件丢失无法找到根文件系统,所以我们得自己找到根文件系统所在分区挂载到/mnt/sysimage,然后把手动把fstab文件写到/etc下 3、重启进入系统,然后再把其他的分区找到,然后写入fatab文件,修复成功。 注意:如果根和boot分区是用的lvm管理的,那么在救援模式下不可以直接使用,得需要使用以下命令激活vg,然后操作就和以上步骤一样了。 vgchange -ay vgname 激活卷组

优秀的个人博客,低调大师

[DNS] Linux(centos6)中dns(bind)服务器安装及dns理论详解

DNS域名解析系统 什么是DNS DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,方便用户使用名称的访问互联网。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP或TCP协议之上,使用端口号53。 FQDN 全称域名,例www.itwish.cn 的FQDN为 www.itwish.cn. ,其中 www(主机名).itwish(二级域名).cn(一级域名).(根) DNS查询类型 递归查询:递归查询是最常见的查询方式,当一个客户机发送一个查询给本地域名服务器时,本地域名服务器必须返回一个IP地址,如果解析不到IP,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。一般客户机和服务器之间属递归查询 迭代查询:迭代查询又称重指引。当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止。一般DNS服务器之间属迭代查询 注:客户端指向dns服务器时,不能指向根服务器(根dns服务器不接受递归查询),指向的一定是允许给本地主机做递归查询的dns服务器 DNS的工作原理 1.客户端提起域名解析请求,并将该请求发送给本地dns服务器;本地域名服务器收到该请求时,首先查询本地缓存(该过程属于递归查询 ),例www.itwish.cn域名解析 2.若本地dns服务器有记录则直接可以返回给客户端;若没有记录则去根DNS服务器请求,根dns服务器返回给本地dns服务器所请求顶级域的dns服务器ip地址。即本地dns服务器会得到.cn域的dns服务器IP 3.然后再将请求发往cn.域的主dns服务器,若找到则返回请求域名的ip地址 ;若没有找到,则.cn 域dns服务器则返回给本地dns服务器所请二级域的dns服务器ip地址;即本地dns服务器会得到itwish.cn域的dns服务器IP 4.最后再将请求发往itwish.cn.域的主dns服务器,找到www主机ip地址,把IP地址返回给本地dns服务器,同时本地DNS服务器也会缓存一份到本地 (2,3,4步属于迭代查询) 5.本地dns服务器把查询到的ip地址返回到客户端 。至此完成域名解析的请求 实现名称到IP解析方式 分散式解决方案:/etc/hosts,不易管理 集中式解决方案:NIC,如果主机太多,对单一服务的压力太大 分布式数据库方案:DNS,解决了上俩个方式的不足 DNS域名 根域:目前有13个根集群服务器,美国10台,日本1台,荷兰1台,瑞典1台 一级域: .com, .edu, .mil, .gov, .net, .org, cn, .ca, .hk, .tw, .in-addr.arpa等 二级域 最多127级域名 DNS解析类型 正反向解析是两个不同的名称空间,是两棵不同的解析树 正向解析:FQDN --> IP ,域名解析为ip地址 反向解析:IP ---> FQDN ,ip地址解析为域名 DNS服务器的类型 主dns服务器:管理和维护所负责解析的域内解析库的服务器,主dns服务器可以是一个或多个区域的权威名称服务器 辅助dns服务器:用作同一区域中主服务器的备份服务器,从主服务器或从服务器“复制"(区域传输)解析库副本 缓存名称务器 主从dns服务器,主服务器记录发生变化,会同步到从服务器,(主从复制),实现容错机制 序列号:解析库版本号,主服务器解析库变化时,其序列递增 刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔 重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔 过期时长:从服务器联系不到主服务器时,多久后停止服务 否定答案的TTL值 区域传送 ,辅助DNS服务器从主DNS服务器或其他的辅助DNS服务器请求数据传输过程 完全区域传送:传送区域的所有数据,AXFR 增量区域传送:传送区域中改变的数据部分,IXFR 安全控制选项 allow-query {} :允许查询的主机;此项仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端 allow-transfer {}:允许区域传送的主机;通常都需要启用,从服务器 allow-recursion {可以使用网段} :允许递归的主机,建议全局使用 allow-update {}: 允许更新区域数据库中的内容 DNS服务管理 实现:bind(Bekerley Internat Name Domain ) 服务名:named 进程:named ;# chkconfig named on 开机自启named服务 # service named start 启动named 服务 主配置文件:/etc/named.conf ,注:语句后面的 ; 号 [root@bogonnamed]#vi/etc/named.conf options{#全局选项 listen-onport53{127.0.0.1;|192.168.4.150;};#默认监听本机的53号端口,可注释掉或调整为指定ip,注ip地址后加";" listen-on-v6port53{::1;};#开启ipv6监听,可注释掉 directory"/var/named";#区域文件配置目录 dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; allow-query{localhost|any;};#授权为指定的主机解析,默认只为本机解析,可调整为any或注释掉 recursionyes|no;#递归查询,默认开启 dnssec-enableyes;#sec功能,与安全加密传输相关的选项,可注释掉 dnssec-validationyes;#同上一条,可注释掉 bindkeys-file"/etc/named.iscdlv.key"; managed-keys-directory"/var/named/dynamic"; pid-file"/run/named/named.pid";#named启动文件pid session-keyfile"/run/named/session.key"; allow-transfer{none|ip;};#允许区域传送的主机;可拒绝所有、指定ip传送,默认开启,建议指定ip进行区域传送 }; logging{#日志子系统配置 channeldefault_debug{ file"data/named.run"; severitydynamic; }; }; zone"."IN{#根区域定义,若要做内网根服务器,要注释掉 typehint; file"named.ca"; }; include"/etc/named.rfc1912.zones";#加载指定区域文件 include"/etc/named.root.key"; 区域配置文件:/etc/named.rfc1912.zones ,区域类型:hint(根)、master(主)、slave(从)、forward(转发) [root@bogon~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{#区域记录 typemaster|slave|forward|hint;#类型,主dns服务器、辅助dns服务器、转发dns、根dns服务器 file"itwish.cn.zone";#区域数据库文件 allow-transfer{192.168.4.120;};#允许区域传送的主机 }; 区域文件目录 : /var/named/ ,注:区域文件的权限为640,属组为named [root@bogon~]#vi/var/named/itwish.cn.zone $TTL1D#默认的TTL值 @INSOAns1admin.itwish.cn.(#SOA记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录 2018061004;serial#序列号 1D;refresh#主从复制的时间间隔 1H;retry#如果主从复制失败重试时间 1W;expire#失效时间 3H);minimum#否定答案的TTL值 INNSns1#名字服务器记录 INNSns2#针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 INMX10mail#邮件mx记录 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 *INA192.168.4.110#泛域名解析,解析未找到的主机则返回该ip地址 wwwINCNAMEns1#别名记录 mailINA192.168.4.110 techINNSns3.tech#子域名字服务器记录 INNSns4.tech#针对tech.itwish.cn区域,ns3与ns4共2台ns服务器,实现主从复制功能 ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 反向解析区域文件:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀 ,区域文件保存在/var/named/ 目录,应该具有NS记录,但不能出现MX和A记录,较常见的为PTR记录 [root@bogonnamed]#vi/etc/named.rfc1912.zones zone"4.168.192.in-addr.arpa"IN{#定义反向区域名称 typeslave; masters{192.168.4.120;}; file"slaves/192.168.4.zone"; allow-transfer{none;}; }; [root@bogonnamed]#vi/var/named/192.168.4.zone $TTL3H @INSOAns1.itwish.cn.adminns.itwish.cn.(#第一条为SOA记录 20180522012;serial 1D;refresh 1H;retry 2W;expire 24H);minimum INNSns1.itwish.cn. INNSns2.itwish.cn. 110INPTRns1.itwish.cn.#PTR记录 120INPTRns2.itwish.cn. DNS的数据库文件(区域数据文件):为文本文件,只能包含资源记录或宏定义,每行一个 资源记录的格式:name① [TTL]② IN③ Rrtype④ Value⑤ 注:FQDN中最后的 . 号 ①name:当前区域的名字,例 www.itwish.cn. ②TTL (Time- To-Live):表示一条域名解析记录在DNS服务器上缓存时间;例如$TTL 1D的意思是默认的TTL值为1天 ③IN:关键字 ④dns资源记录类型(Resource Record),包括SOA ,NS ,MX ,A记录 ,AAAA,PTR ,CNAME 等 ⑤Value ,通过对以上记录类型示例分析——针对不同的资源记录类型,Value值也不尽相同 SOA:有n个数值,主DNS服务器及邮箱地址;最主要的是主DNS服务器,格式可为相对名称或FQDN NS:DNS服务器的FQDN(或相对名称) 如 IN NS ns1 MX:包含优先级和FQDN(或相对名称),如 IN MX 10 mail A:ip地址 ,如 ns1 IN A 192.168.4.110 CNAME:FQDN(或相对名称),如 www IN CNAME ns1 PTR:FQDN ,如 1 IN PTR localhost. DNS记录类型详解及演示 (1)SOA:Start of Authority 起始授权记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录 @INSOAns1admin.itwish.cn.(#SOA记录 2018061004;serial#序列号 1D;refresh#主从复制的时间间隔 1H;retry#如果主从复制失败重试时间 1W;expire#失效时间 3H);minimum#否定答案的TTL值 #注释 @:区域名称itwish.cn,通常可简写为@符号 IN:关键字,可省略 SOA:资源记录类型 ns1:主dns服务器的名称,可以是相对名称ns1或FQDNns1.itwish.cn. admin.itwish.cn.:邮箱地址,把@转换成.,如邮箱admin@itwish.cn格式为admin.itwish.cn. (2)NS :Name server 域名服务器,记录指定负责给定区域的名称服务器 ,注:区域内包含几条NS记录,就需对多台NS服务器配置相对应的A记录 ,示例为2台NS服务器ns1 和ns2 ,就需配置ns1 和ns2 服务器的A记录 INNSns1#名字服务器记录 INNSns2#针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 #注释 named:可省略,代表itwish.cn区域 IN:关键字,可省略 NS:资源记录类型 ns1:主dns服务器的名称,可以是相对名称ns1或FQDNns1.itwish.cn. ns2:针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 (3)MX :邮件交换记录 ,记录列出了负责接收发到域中的电子邮件的主机记录 INMX10mail#邮件mx记录 #注释 named:可省略,代表itwish.cn区域 IN:关键字,可省略 MX:资源记录类型 mail:邮件交换记录名称,可以是相对名称mail或FQDNmail.itwish.cn. (4)A记录 :FQDN --> IP ,列出特定主机名的 IP 地址 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 #注释 ns1:主机名,可以是相对名称ns1或FQDNns1.itwish.cn. IN:关键字,可省略 A:资源记录类型 192.168.4.110:ip地址 (5)AAAA:FQDN-->ipv6 (6)PTR:指针记录 IP --> FQDN ,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in-addr.arpa.后缀组成,如 “0.0.127.in-addr.arpa” 反向解析区域 1PTRlocalhost. #注释 1:ip地址 IN:关键字,可省略 PTR:资源记录类型 localhost.:主机名称,可以是相对名称或FQDN (7)CNAME :别名记录 ,此记录指定标准主机名的别名 wwwINCNAMEns1#别名记录 #注释 www:主机别名,可以是相对名称或FQDN IN:关键字,可省略 CNAME:资源记录类型 ns1:主机名称,可以是相对名称或FQDN dig 命令,DNS查询使用程序 语法:dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt...] 常用选项: -x addr:测试反向解析 -t type:指定查询记录类型 -t axfr ZONE_NAME @SERVER :模拟区域传送 -t NS . :查询根DNS服务器 -f filename :通过从文件 filename 读取一系列搜索请求加以处理 -p port# :查询一个非标准的端口号,标准的DNS端口号 53 +[no]trace :[不]适用迭代 +[no]tcp :是否使用tcp +[no]recurse:是否使用递归host rndc reload: 重载主配置文件和区域解析库文件 reload zonename: 重载区域解析库文件 retransfer zonename: 手动启动区域传送,而不管序列号是否增加 notify zonename: 重新对区域传送发通知 reconfig: 重载主配置文件 querylog: 开启或关闭查询日志文件/var/log/message trace: 递增debug一个级别 trace LEVEL: 指定使用的级别 notrace:将调试级别设置为 0 flush:清空DNS服务器的所有缓存记录 rndc:密钥 rndc:持有一半密钥,保存于rndc的配置文件中 BIND:持有一般密钥,保存在主配置文件中 rndc的配置文件/etc/rndc.conf # rndc-confgen -r /dev/urandom > /etc/rndc.conf生成密钥 # named-checkconf:检查配置文件的语法 # named-checkzone "itwish.cn" /var/named/itwish.cn.zone :查询区域数据库文件的语法 # service named configtest :检查所有区域文件的语法 DNS正向解析,反向解析,主从复制,子域委派,区域转发,acl 及view视图案例 DNS正向解析案例配置 1)安装bind [root@ns1~]#yuminstallbindbind-utils-y#yum安装bind [root@ns1~]#chkconfignamedon [root@ns1~]#servicenamedstart Startingnamed:named:alreadyrunning[OK] [root@ns1named]#ss-tunl#确认named进程启用,tcp及udp53端口处于监听状态 NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:Port udpUNCONN00192.168.23.110:53*:* tcpLISTEN03192.168.23.110:53*:* 2)停止iptables和selinux功能 [root@ns1~]#serviceiptablesstop#停止iptables服务 [root@ns1~]#chkconfigiptablesoff [root@ns1~]#vi/etc/selinux/config SELINUX=disabled#修改为disabled,其他行注释掉,禁用selinux功能 3)定义主配置文件 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;};#定义监听指定ip53端口 directory"/var/named"; allow-query{any;};#允许给所有客户端请求解析 recursionyes;#允许递归 }; include"/etc/named.rfc1912.zones"; 3)定义区域配置文件 [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{#区域定义 typemaster;#类型,主服务器 file"itwish.cn.zone";#区域数据库文件,指向/var/named/itwish.cn.zone }; 4)新建区域解析数据库文件/var/named/itwish.cn.zone [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.(#SOA记录 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1#NS记录 INMX10mail#MX记录 ns1INA192.168.4.110#正向A解析记录 wwwINA192.168.4.110 5)分配权限 [root@ns1~]#chownroot:named/var/named/itwish.cn.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@ns1~]#chmod640/var/named/itwish.cn.zone [root@ns1~]#ll/var/named/itwish.cn.zone -rw-r-----.1rootnamed120Jun1110:39/var/named/itwish.cn.zone 6)测试 [root@ns1~]#named-checkconf#检查配置文件 [root@ns1~]#named-checkzone"itwish.cn"/var/named/itwish.cn.zone#检查itwish.cn区域配置语法 [root@ns1~]#servicenamedconfigtest#测试所有配置区域 [root@ns1~]#rndcreload#重载配置文件 [root@ns1~]#dig-tAwww.itwish.cn@192.168.4.110//使用dig命令测试,返回以下值说明成功 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.10800INA192.168.23.110 [root@ns1~]#dig-tNSitwish.cn@192.168.4.110 ;;QUESTIONSECTION: ;itwish.cn.INNS ;;ANSWERSECTION: itwish.cn.10800INNSns1.itwish.cn. DNS反向解析案例配置 [root@ns1~]#vi/etc/named.rfc1912.zones#加入反向区域 zone"4.168.192.in-addr.arpa"IN{#地址需要反着写,加上.in-addr.arpa typemaster; file"192.168.4.zone"; }; 2)新建区域解析数据库文件 [root@ns1~]]#vi/var/named/192.168.4.zone $TTL3H @INSOAns.itwish.cn.adminns.itwish.cn.( 20180522012;serial 1D;refresh 1H;retry 2W;expire 24H);minimum INNSns1.itwish.cn. 110INPTRns1.itwish.cn. INPTRwww.itwish.cn. 3)分配权限 [root@ns1~]#chownroot:named/var/named/192.168.4.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@ns1~]#chmod640/var/named/192.168.4.zone 4)测试 [root@ns1~]#named-checkconf#检查配置文件 [root@ns1~]#named-checkzone"192.168.4.zone"/var/named/192.168.4.zone#检查192.168.4.zone区域配置语法 [root@ns1~]#servicenamedconfigtest#测试所有配置区域 [root@ns1~]#rndcreload#重载配置文件 [root@ns1~]#dig-x192.168.4.110@192.168.4.110#使用dig命令测试,返回以下值说明成功 ;;QUESTIONSECTION: ;110.4.168.192.in-addr.arpa.INPTR ;;ANSWERSECTION: 110.4.168.192.in-addr.arpa.10800INPTRns1.itwish.cn. 110.4.168.192.in-addr.arpa.10800INPTRwww.itwish.cn. 区域中添加从服务器的关键项: 在上级获得授权,允许区域传送:# allow-transfer {127.0.0.1;127.16.100.1} 在上级区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录 DNS主从复制案例配置 1)配置主dns服务器 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; allow-query{any;}; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;};#允许把该区域传送给从DNS服务器192.168.4.120 }; [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2#新增一条ns记录,将从DNS服务器的NS记录添加到此 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.110 ns2INA192.168.23.120#新增一条A记录,将从DNS服务器的A记录添加到此 2)配置从dns服务器 [root@ns2~]#vi/etc/named.conf options{ listen-onport53{192.168.4.120;}; directory"/var/named"; allow-query{any;}; recursionyes; }; [root@ns2~]#vim/etc/named.rfc1912.zones zone"itwish.cn"IN{ typeslave;#类型为从服务器 masters{192.168.4.110;};#同步DNS服务器的IP地址 file"slaves/itwish.cn.zone";#数据库文件保存到/var/named/slaves/文件夹下,名字叫itwish.cn.zone allow-transfer{none;};#禁止区域传送 }; [root@ns2~]#servicenamedrestart#重启服务 [root@ns2~]#ls/var/named/slaves/#可以看到数据库文件则证明已经同步成功dongfei.com.zone.slave itwish.cn.zone BIND子域授权的实现,在父域的配置文件中添加如下项: 授权的子区域名称 子区域的名称服务器 子区域的名称服务器的IP地址 如 tech IN NS ns3.tech.itwish.cn. ns3.tech.itwish.cn. IN A192.168.4.130 区域转发类型: 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器,在/etc/named.conf 中配置 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高,在区域文件zone 中配置 转发器类型: first模式:优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询 onyl模式:只转发到目标DNS服务器,如果目标主机没有此查询的信息则转发失败 DNS子域委派与区域转发案例配置 1)配置dns父域 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; allow-query{any;}; recursionyes; forwardfirst;#first模式,全局转发 forwarders{192.168.4.110;192.168.4.120;};#目标DNS服务器IP }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;};#允许把该区域传送给从DNS服务器192.168.4.120 }; [root@ns1~]#vi/var/named/itwish.cn.zone#在区域添加子域NS记录及其A记录 $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.110 ns2INA192.168.23.120 techINNSns3.tech.itwish.cn.#将tech子域授权给ns3.tech.itwish.cn. ns3.tech.itwish.cn.INA192.168.23.130#添加相对应的正向解析A记录 2)配置子域及区域转发 [root@ns3~]#vi/etc/named.conf options{ listen-onport53{192.168.4.130;}; directory"/var/named"; allow-query{any;}; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns3~]#vi/etc/named.rfc1912.zones zone"tech.itwish.cn"IN{ typemaster; file"tech.itwish.cn.zone"; }; zone"itwish.cn"IN{ typeforward;#转发区域 forwarders{192.168.4.110;192.168.4.120;};#转发目标服务器 forwardfirst;#优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询 }; [root@ns3named]#vi/var/named/tech.itwish.cn.zone#配置子域区域文件 $TTL10800;3hours tech.itwish.cnINSOAns3.tech.itwish.cn.adminns.tech.itwish.cn.( 1884700031;serial 86400;refresh(1day) 3600;retry(1hour) 1209600;expire(2weeks) 86400;minimum(1day) ) NSns3.tech.itwish.cn. MX10mail.tech.itwish.cn. $ORIGINtech.itwish.cn. mailA192.168.23.130 ns3A192.168.23.130 wwwA192.168.23.110 bind有四个内置的acl,acl——把一个或多个地址归并为一个集合,并通过一个统一的名称调用;只能先定义,后使用,因此一般定义在配置文件中,处于options的前面 none: 没有一个主机 any: 任意主机 localhost: 本机 localnet: 本机的IP同掩码运算后得到的网络地址 view:视图:实现智能DNS 一个bind服务器可定义多个view,每个view中可定义一个或多个zone 每个view用来匹配一组客户端,所有的zone都只能定义在view中 多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件 DNSview视图配置 [root@localhostnamed]#vi/etc/named.rfc1912.zones acluniom{#定义acl,注意acl的匹配顺序关系,至上而下 192.168.4.0/24; }; acltelom{ 172.16.10.0/24; }; aclothom{ any; }; viewuninet{#定义view视图,所有的zone都需定义在view中 match-clients{uniom;};#匹配的acl选项 zone"localhost"IN{ typemaster; file"named.localhost"; allow-update{none;}; }; zone"0.0.127.in-addr.arpa"IN{ typemaster; file"named.loopback"; allow-update{none;}; }; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.uniom"; }; }; viewtelnet{ match-clients{telom;}; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.telom"; }; viewanynet{ match-clients{othom;}; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.uniom"; }; }; [root@localhostnamed]#viitwish.cn.zone.uniom $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.120 [root@localhostnamed]#viitwish.cn.zone.telom $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INMX10mail ns1INA172.16.10.1 wwwINA172.16.10.2 [root@localhostnamed]#dig-tAwww.itwish.cn@172.16.10.1#确认通过172.16.10.x的客户端进行访问,获取的ip为172.16.10.2 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.86400INA172.16.10.2 ;;AUTHORITYSECTION: itwish.cn.86400INNSns1.itwish.cn. ;;ADDITIONALSECTION: ns1.itwish.cn.86400INA172.16.10.1 [root@localhostnamed]#dig-tAwww.itwish.cn@192.168.4.110#确认通过192.168.4.x的客户端进行访问,获取的ip为192.168.10.120 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.86400INA192.168.4.120 ;;AUTHORITYSECTION: itwish.cn.86400INNSns1.itwish.cn. ;;ADDITIONALSECTION: ns1.itwish.cn.86400INA192.168.4.110 部署安装DNS(域名解析)系统 部署实验: 1、部署根域名解析服务器 2、部署一级域名.cn 域名解析服务器 3、部署二级域名.itwish 和.goodoing 域名解析系统,ns1 与 ns2 服务器实现主从复制功能 4、部署子域tech域名解析服务器,ns3 与 ns4 服务器实现主从复制 ,部署转发区域itwish.cn 及goodoing.cn ,转发服务器为ns1 和 ns2 5、部署缓存域名解析服务器,client用户dns 地址指向 192.168.4.100 ,测试解析 实验拓扑: 1)对所有服务器,安装bind组件,禁用selinux功能并停止iptables功能 #yuminstallbindbind-utils-y#yum安装bind #servicenamedstart #serviceiptablesstop#停止iptables服务 #chkconfigiptablesoff #vi/etc/selinux/config SELINUX=disabled#修改为disabled,其他行注释掉,禁用selinux功能 2)部署根域名解析服务器 [root@PXEnamed]#vi/etc/named.conf options{ listen-onport53{192.168.4.150;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@PXEnamed]#vi/etc/named.rfc1912.zones zone"."IN{#增加根域 typemaster; file"root.zone"; allow-transfer{none;}; }; [root@PXEnamed]#vi/var/named/root.zone#定义根域数据库文件 $TTL1D @INSOAroot.radmin.( 2018061005;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NSroot. root.INA192.168.4.150 cnINNSdns.cn.#定义子域cn dns.cn.INA192.168.4.160 [root@PXE~]#chownroot:named/var/named/*.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@PXE~]#chmod640/var/named/*.zone [root@PXE~]#named-checkconf#检查配置文件 [root@PXE~]#servicenamedconfigtest#测试所有配置区域 [root@PXE~]#rndcreload#重载配置文件 3)部署cn域名解析服务器 [root@cnnamed]#vi/etc/named.conf options{ listen-onport53{192.168.4.160;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc112.zones"; [root@cnnamed]#vi/etc/named.rfc1912.zones zone"cn"IN{ typemaster; file"cn.zone"; }; [root@cnnamed]#vi/var/named/cn.zone $TTL1D @INSOAdnsadmin.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NSdns dnsINA192.168.4.160 itwishINNSns1.itwish INNSns2.itwish ns1.itwish.cn.INA192.168.4.110 ns2.itwish.cn.INA192.168.4.120 [root@cn~]#chownroot:named/var/named/*.zone [root@cn~]#chmod640/var/named/*.zone [root@cn~]#named-checkconf [root@cn~]#servicenamedconfigtest [root@cn~]#rndcreload 4)部署ns1域名解析服务器 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;}; }; zone"goodoing.cn"IN{ typeslave; masters{192.168.4.120;}; file"slaves/goodoing.cn.zone"; allow-transfer{none;}; }; [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 ns2INA192.168.4.120 wwwINA192.168.4.110 mailINA192.168.4.110 techINNSns3.tech INNSns4.tech ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 [root@ns1~]#chownroot:named/var/named/*.zone [root@ns1~]#chmod640/var/named/*.zone [root@ns1~]#named-checkconf [root@ns1~]#servicenamedconfigtest [root@ns1~]#rndcreload 5)部署ns2域名解析服务器 [root@ns2~]#vi/etc/named.conf options{ listen-onport53{192.168.4.120;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns2~]#vi/etc/named.rfc1912.zones zone"goodoing.cn"IN{ typemaster; file"goodoing.cn.zone"; allow-transfer{192.168.4.110;}; }; zone"itwish.cn"IN{ typeslave; masters{192.168.4.110;}; file"slaves/itwish.cn.zone"; allow-transfer{none;}; }; [root@ns2~]#vi/var/named/goodoing.cn.zone $TTL1D @INSOAns2admin.goodoing.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 ns2INA192.168.4.120 wwwINA192.168.4.120 mailINA192.168.4.120 techINNSns3.tech INNSns4.tech ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 [root@ns2~]#chownroot:named/var/named/*.zone [root@ns2~]#chmod640/var/named/*.zone [root@ns2~]#named-checkconf [root@ns2~]#servicenamedconfigtest [root@ns2~]#rndcreload 6)部署ns3域名解析服务器 [root@ns3~]#vi/etc/named.conf options{ listen-onport53{192.168.4.130;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns3~]#vi/etc/named.rfc1912.zones zone"tech.itwish.cn"IN{ typemaster; file"tech.itwish.cn.zone"; allow-transfer{192.168.4.140;}; }; zone"tech.goodoing.cn"IN{ typeslave; masters{192.168.4.140;}; file"slaves/tech.goodoing.cn.zone"; allow-transfer{none;}; }; zone"itwish.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; zone"goodoing.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; [root@ns3~]#vi/var/named/tech.itwish.cn.zone $TTL1D @INSOAns3admin.tech.itwish.cn.( 2018061002;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns3 INNSns4 INMX10mail ns3INA192.168.4.130 ns4INA192.168.4.140 wwwINA192.168.4.130 mailINA192.168.4.130 [root@ns3~]#chownroot:named/var/named/*.zone [root@ns3~]#chmod640/var/named/*.zone [root@ns3~]#named-checkconf [root@ns3~]#servicenamedconfigtest [root@ns3~]#rndcreload 7)部署ns4域名解析服务器 [root@ns4~]#vi/etc/named.conf options{ listen-onport53{192.168.4.140;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns4~]#vi/etc/named.rfc1912.zones zone"tech.goodoing.cn"IN{ typemaster; file"tech.goodoing.cn.zone"; allow-transfer{192.168.4.130;}; }; zone"tech.itwish.cn"IN{ typeslave; masters{192.168.4.130;}; file"slaves/tech.itwish.cn.zone"; allow-transfer{none;}; }; zone"itwish.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; zone"goodoing.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; [root@ns4~]#vi/var/named/tech.goodoing.cn.zone $TTL1D @INSOAns4admin.tech.goodoing.cn.( 2018061002;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns3 INNSns4 INMX10mail ns3INA192.168.4.130 ns4INA192.168.4.140 wwwINA192.168.4.130 mailINA192.168.4.130 [root@ns4~]#chownroot:named/var/named/*.zone [root@ns4~]#chmod640/var/named/*.zone [root@ns4~]#named-checkconf [root@ns4~]#servicenamedconfigtest [root@ns4~]#rndcreload 8)配置cach缓存DNS服务器,测试域名解析 [root@cach~]#vi/etc/named.conf options{ listen-onport53{192.168.4.100;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; zone"."IN{ typehint; file"named.ca"; }; include"/etc/named.rfc1912.zones"; [root@cach~]#vi/var/named/named.ca .3600000NSA.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET.3600000A192.168.4.150#将根服务器指向我们自己搭建的根DNS服务器 [root@cachnamed]#dig-tNS. ;;QUESTIONSECTION: ;.INNS ;;ANSWERSECTION: .82572INNSroot. [root@cachnamed]#dig-tNScn ;;QUESTIONSECTION: ;cn.INNS ;;ANSWERSECTION: cn.86400INNSdns.cn. [root@cachnamed]#dig-tNSitwish.cn ;;QUESTIONSECTION: ;itwish.cn.INNS ;;ANSWERSECTION: itwish.cn.86400INNSns1.itwish.cn. itwish.cn.86400INNSns2.itwish.cn. [root@cachnamed]#dig-tNStech.itwish.cn ;;QUESTIONSECTION: ;tech.itwish.cn.INNS ;;ANSWERSECTION: tech.itwish.cn.86400INNSns4.tech.itwish.cn. tech.itwish.cn.86400INNSns3.tech.itwish.cn. [root@cachnamed]#dig-tNStech.goodoing.cn ;;QUESTIONSECTION: ;tech.goodoing.cn.INNS ;;ANSWERSECTION: tech.goodoing.cn.86400INNSns4.tech.goodoing.cn. tech.goodoing.cn.86400INNSns3.tech.goodoing.cn. [root@cachnamed]#dig-tAwww.tech.goodoing.cn ;;QUESTIONSECTION: ;www.tech.goodoing.cn.INA ;;ANSWERSECTION: www.tech.goodoing.cn.86400INA192.168.4.130 至此,linux DNS系统部署并调配完成,实现了内网根域及各主机的解析。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。