以下为shell脚本,Ubuntu还没整理。
请确保在nat模式下运行
1.这是一个pxe自动化安装的脚本,兼容centos6、7、8系统
2.需要你至少挂载一个光盘;支持cenos6、7、8的光盘
3.需要确认新建虚拟机的系统安装盘名字为vda,不是的话请在脚本里修改成对应的硬盘名
4.新建虚拟机建议20G 2G内存以上
5.网卡名会统一自动更新为eth0并重启
6.清环境yum remove dhcp|dhcp-server httpd tftp-server
7.运行脚本需要在当前shell运行,不要开启子shell,否则无法使用自动更改网卡名功能
8.虚拟机默认密码为123
#!/bin/sh
ReleaseNo=`cat /etc/redhat-release |sed -rn 's/.* ([[:digit:]]+)\..*/\1/p'`
PXEinstall(){
setenforce 0
systemctl stop firewalld
rpm -q net-tools ||yum -y install net-tools &> /dev/null
ifconfig |grep eth0
if [ "$?" -ne "0" ];then
echo "请将网卡更名为eth0;才能继续运行本脚本;更改过程中会强制重启;您是否还要继续执行?"
read -p " 请按y继续运行: " ipsure
[ "${ipsure}" == "y" ] && sed -ir '/GRUB_CMDLINE_LINUX=/s/"$/ net.ifnames=0"/p' /etc/default/grub && grub2-mkconfig -o /etc/grub2.cfg &>/dev/null
read -p "请输入eth0的IP: " ip
read -p "请输入要设置的子网掩码(prefix)如 24: " prefix
read -p "请输入要设置的网关: " gateway
cat >/etc/sysconfig/network-scripts/ifcfg-eth0 <<EOF
DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=$ip
PREFIX=$prefix
GATEWAY=$gateway
DNS1=114.114.114.114
EOF
echo "请重启系统;然后重新执行本脚本"
echo "重启后如果无法联网 请执行service network restart 或者 nmcli con reload; nmcli con up eth0"
reboot
fi
ipeth0=`ifconfig eth0|sed -rn '/inet\>/s/[^0-9]+([0-9.]+).*/\1/p'`
neteth0=`ifconfig eth0|sed -rn '/inet\>/s/[^0-9]+([0-9.]+).*/\1/p'|cut -d. -f1-3`
route=`ip route|grep default|grep eth0|sed -rn 's/[^0-9]+([0-9.]+).*/\1/p'`
route6=`ip route|grep default|sed -rn 's/[^0-9]+([0-9.]+).*/\1/p'`
srinfo6=`lsblk|awk '/sr/{print $1}'`
srinfo=`lsblk|egrep -o 'sr[^ ]*'`
for scan in /sys/class/scsi_host/host*/scan;do echo "- - -" >$scan;done
if [ "$ReleaseNo" -eq "8" ];then
rpm -q dhcp-server tftp-server httpd syslinux-nonlinux|| dnf -y install dhcp-server tftp-server httpd syslinux-nonlinux
cat >/etc/dhcp/dhcpd.conf <<-EOF
option domain-name "example.org";
option domain-name-servers 180.76.76.76,114.114.114.114;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet ${
neteth0}.0 netmask 255.255.255.0 {
range ${
neteth0}.100 ${
neteth0}.200;
option routers ${
route