centos7 pxe(CentOS 7)
今天给各位分享centos7 pxe的知识,其中也会对CentOS 7进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
我是用PXE自动安装CentOS 7然后开机就报错,报错信息时
centos7.0安装方式很多,我们选择以虚拟机来进行安装。首先,需要下载配置虚拟机,以最常用的VMware为例。
1、打开虚拟机,选择新建虚拟机;
2、选择标准;
3、载入我们下载的centos7.0镜像文件;
4、选择操作系统和版本,将虚拟机容量设为40GB左右,其他根据自己需要选择,默认也可以。
centos7.0安装
1、点击打开此虚拟机电源,可是小编此时提示了一个小错误,因为主板默认关闭了虚拟化技术,所以我们需要到BIOS里面设置了一下,然后重启继续安装,如果无此现象的朋友可以直接跳过。
(1)重启电脑,进入BIOS设置(一般是按F8或者Delete进入,而且主板不同,设置位置也不尽相同,大家请按照英文名修改)
(2)在BIOS里找到“CPU
Configuration”,按回车进入,找到“Inter Virtualization
Teach”将光标移动到这项,回车,将目标改为“Enabled”,另外如果你的BIOS上有“Execute-Disable Bit
Capability”或者“Inter vt-d”,一起改成“Enabled”,没有的话忽略。
(3)按F10选择OK,自动重启;
2、进入安装初始化界面,回车跳过,自动检查;
3、接下来我们进入图形化安装界面,选择语言,点击继续;
4、安装选项都集中在此处;
5、日期和事件(默认)
6、键盘布局(默认)
7、软件选择,用户根据自已的应用需要选择基本环境,这里小编选择的是GNOME桌面版(图形界面),如果是企业级文件存储服务可以选择文件及打印服务器,web服务可以选择基本网页服务器。
8、安装位置(关键),选择我要配置分区,点击完成;
9、点击手动创建,修改分区数据;
10、然后添加新挂载点,点击左上角的完成,选择接受更改;
11、网络和主机名,将图中选项开启,本机虚拟机未开启网络选项,所以显示未连接,大家可以去虚拟机设置。
12、开始安装,安装同时我们也可以进行密码和用户创建;
13、点击创建root密码,等待安装完成,然后进行常用配置即可;
14、安装完成后点击重启,进行基本用户配置即可使用;
CentOS7实现DNSDHCP动态更新详解
windows域里有一个功能,dhcp把新分发的ip数据发给DNS服务器,这样只要知道一个人的电脑名字就可以很方便的远程。
linux当然也能很好的实现类似的功能。man 5 dhcpd.conf有详细描述。
昨天运维帮组织线下的沙龙,又拍云的运维总监邵海杨先生分享了一句“千金难买早知道”。是啊,就在实现动态更新的功能上,在网上找了不少博客,照着做又遇到各种问题,最后不不知道到底什么原理实现的。早知道认真看一下man,问题早解决了,对实现的原理也理解得深些。所以,在这个信息爆炸的时代,很多时候真的互联网没有让人更聪明,反而大量的信息经常把人淹没了。技术,还是需要静下心来去钻研的。
dhcp和dns的基本配置资料比较完善,此处不再赘述。有心的朋友认真看一下man 5 dhcpd.conf,瞧一眼下面配置中标红的部分,相信就能搞定了。
另外分享一个dns chroot的流程,先安装 bind,调通named,然后再安装bind-chroot
执行/usr/libexec/setup-named-chroot.sh/var/named/chroot on
停用named,启用named-chroot即可
systemctl disabled named; systemctl stop named
systemctl enable named-chroot;systemctl start named-chroot
[root@pxe~]# cat/etc/dhcp/dhcpd.conf
ddns-update-style interim;
ddns-updates on;
do-forward-updates on;
allow client-updates;
allow bootp;
allow booting;
#allow client-updates;
option space Cisco_LWAPP_AP;
option Cisco_LWAPP_AP.server-address code 241= array of ip-address;
option space pxelinux;
option pxelinux.magic code 208= string;
option pxelinux.configfile code 209= text;
option pxelinux.pathprefix code 210= text;
option pxelinux.reboottime code 211= unsigned integer 32;
option architecture-type code 93= unsigned integer 16;
subnet 192.168.1.0 netmask 255.255.255.0{
authoritative;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name"it.lab";
option domain-name-servers 192.168.1.200;
range dynamic-bootp 192.168.1.100 192.168.1.199;
key SEC_DDNS{
algorithm hmac-md5;
secret 7ObhTIhKeDFMR2SbbS5s8A==;
};
ddns-domainname"it.lab";
zone it.lab.{
primary 192.168.1.200;
key SEC_DDNS;
}
zone 1.168.192.in-addr.arpa.{
primary 192.168.1.200;
key SEC_DDNS;
}
default-lease-time 600;
max-lease-time 7200;
class"pxeclients"{
match if substring(option vendor-class-identifier, 0, 9)="PXEClient";
next-server 192.168.1.200;
if option architecture-type= 00:07{
filename"uefi/syslinux.efi";}
else{
filename"bios/pxelinux.0";}
#filename"pxelinux.0";}
}
}
[root@pxe~]# cat/etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver(as a localhost DNS resolver only).
//
// See/usr/share/doc/bind*/sample/ for example named configuration files.
//
options{
listen-on port 53{ 127.0.0.1;192.168.1.200;};
listen-on-v6 port 53{::1;};
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{ any;};
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE(caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion no;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key*/
bindkeys-file"/etc/named.iscdlv.key";
managed-keys-directory"/var/named/dynamic";
pid-file"/run/named/named.pid";
session-keyfile"/run/named/session.key";
};
logging{
channel default_debug{
file"data/named.run";
severity dynamic;
};
};
zone"." IN{
type hint;
file"named.ca";
};
include"/etc/named.rfc1912.zones";
include"/etc/named.root.key";
key SEC_DDNS{
algorithm hmac-md5;
secret 7ObhTIhKeDFMR2SbbS5s8A==;
};
zone"it.lab" IN{
type master;
file"it.lab.forward";
allow-update{ key SEC_DDNS;};
};
zone"1.168.192.in-addr.arpa" IN{
type master;
file"1.168.192.reverse";
allow-update{ key SEC_DDNS;};
};
怎么删除禁用RHEL/CentOS 7上不需要的服务
RHEL/CentOS 7最低的安装版本都是默认安装了许多服务的,比如邮件转移代理daemon, Avahi mdns daemon(multicast Domain Name System)和Chrony服务
Remove Services in CentOS 7
不过也遇到了新的问题.因为有的服务感觉我们是不需要的,所以我们获得会禁用/启用一些服务.
要求
CentOS 7最低安装版
RHEL 7最低安装版
如果你想把最新安装的RHEL/CentOS 7加入到主机去,也就是说一个你不需要执行Postifx MTA daemon的比如运行一个Apache或Nginx网站,或者提供DNS, DHCP, PXE boot, FTP server网络服务器,那么就要安装这些没必要服务,甚至要运行起来.
对外部来说,一个小的安装服务器运行后可能需要ssh进程,方便外部管理.
禁用/删除Postfix MTA, Avahi和Chrony服务
1.安装玩系统后,root登录或者其他非root用户登录切换更新系统,保证你系统的资源是最新的.
# yum upgrade
Upgrade System
2.接下里就是使用yum安装一些必要的东西,比如net-tools(这个软件包比较的旧但的确是一个很好的ifconfig命令), nano文本编辑, wget或curl, lsof(列出打开的文件)和bash-completion,需要执行
# yum install nano bash-completion net-tools wget curl lsof
Install System Utilities
3.现在就可以开始禁用和删除预安装的不想要的服务.首先列出你已经安装或者正在运行的服务,执行netstat命令反向TCP, UDP和监听socket断开.
# netstat-tulpn## To output numerical service sockets
# netstat-tulp## To output literal service sockets
List Enabled Services
4.看到了吧,Postfix是开启的,然后监听的是本地端口25, Avahi daemon绑定到了所有的网络接口,Chronyd服务绑定到了本地和所有的不同端口网络接口.通过下面的命令来删除Postfix MTA服务.
# systemctl stop postfix
# yum remove postfix
Remove Postfix Service
5.接下来删除Chronyd服务,我们用NTP服务替换掉.
# systemctl stop chronyd
# yum remove chrony
Remove Chronyd Service
6.接下来删除Avahi daemon守护进程. RHEL/CentOS 7的Avahi daemon越来依靠网络管理服务了.把Avahi daemon删除之后,可以然系统不会链接任何网络.
注意这步,如果你想要自动配置网络或者你需要通过nmtui网编辑网络接口,那么你需要停止和禁用Avahi进程才能全部删除.
如果你还是想完全删除这个服务的话,你必须手动的编辑网络配置文件/etc/sysconfig/network-scripts/ifcfg-interface_name,然后启动的启用网络服务.
删除Avahi mdns daemon的时候可能会遇到些问题.注意:如果你ssh登录的情况下别删除Avahi daemon.
# systemctl stop avahi-daemon.socket avahi-daemon.service
# systemctl disable avahi-daemon.socket avahi-daemon.service
---------如果你不想删除的话到这里就别执行了---------
# yum remove avahi-autoipd avahi-libs avahi
Remove Avahi Daemon
7.这步只有在你真想删除Avahi daemon服务和你断开网络连接并且你需要手动重新配置网络接口卡的时候.
想使用IPv6和静态IP编辑你的NIC,进入/etc/sysconfig/network-scripts/,打开NIC接口文件爱你(一般来说第一张卡名是ifcfg-eno1677776默认网络管理器就配置好了的),如果你网络接口还没配置的话就参考下面的向导.
IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=none
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
#DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9
IPADDR=192.168.1.25
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8
Configure Network Interface
一些重要的设置说明:
BOOTPROTO–设置为空或者静态IP–适合配置静态IP.
ONBOOT–设置为yes–重启后启动接口.
DEFROUTE–使用#可以注视或者全部删除也行–不要使用默认配置(如果你使用默认的,那你需要给所有网络接口添加一个“DEFROUTE: no”).
8.如果你的机器配置有自动分配IP的DHCP服务器的话,使用下面的读来配置网络接口.
IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=dhcp
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
##DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9
Configure DHCP Interface
跟配置静态IP地址一样,假设BOOTPROTO设置到了dhcp,DEFROUTE是注视或者删除了设备并需要重启才行,如果你没有IPv6,你阿九删除或者注视所有含有IPV6的配置.
9.为了让新的接口配置生效,你需要重启电脑或者网络服务,重启之后使用ifconfig或者ip命令来查看你设置的网络是否生效.
# service network restart## Use this command before systemctl
# chkconfig network on
# systemctl restart network
# ifconfig
# ping domain.tld
Confirm Network Settings
10.最后确保你使用了hostnamectl系列命令给系统设置了hosetname名字,查看你的hostname配置使用下面的命令.
# hostnamectl set-hostname FQDN_system_name
# hostnamectl status
# hostname
# hostname-s## Short name
# hostname-f## FQDN name
Setup System Hostname
11.好了,最后使用一下netstat来看看系统允许的是那个网络.
# netstat-tulpn
# netstat-tulp
Verify Running Services
12.处理SSH服务外,如果你的网络使用的是DHCP来拉去静态IP配置,那么需要运行一个DHCP客户端,然后启用UDP端口.
# netstat-tulpn
Verify DHCP Service
13.另外可以选的,你也可以使用ofSockets Statistics命令来打印出正在运行的socket网络.
# ss-tulpn
ss Command to Check Network
14.重启电脑,执行systemd-analize来检测你的系统boot-time是否正常,同时,使用free和Disk Free命令可以用来显示RAM和HDD统计情况,top命令可以来查看系统资源使用情况.
# free-h
# df-h
# top
Chec