#!/bin/sh
#主动启动网卡
interface=$(ls /sys/class/net| grep -v "lo" | head -)
ifup $interface #获取当前网络信息
default_route=$(ip route show)
default_interface=$(echo $default_route | sed -e 's/^.*dev \([^ ]*\).*$/\1/' | head -n )
address=$(ip addr show label $default_interface scope global | awk '$1 == "inet" { print $2,$4}')
ip=$(echo $address | awk '{print $1 }')
ip=${ip%%/*}
mask=$(route -n |grep 'U[ \t]' | head -n 1 | awk '{print $3}')
gateway=$(route -n | grep 'UG[ \t]' | awk '{print $2}')
dns=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}') #判断default_interface是否为空
if [ -z $default_interface ]
then
default_interface=$interface
fi #显示网络信息
echo -e "The current net info [dynamic]"
echo -e "------------------------------------------"
echo -e " device: $default_interface"
echo -e " ipaddr: $ip"
echo -e "netmask: $mask"
echo -e "gateway: $gateway"
echo -e " dns: $dns"
echo -e "------------------------------------------"
echo -e "" #获取输入
echo -e "Please give static settings for the server"
echo -e "please input ipaddr:[192.168.1.12]"
read newip
echo -e "please input netmask:[255.255.255.0]"
read newnetmask
echo -e "please input gateway:[192.168.1.1]"
read newgateway
echo -e "please input dns:[192.168.1.1]"
read newdns
echo -e "please input hostname:[MyServer]"
read newhostname
echo -e ""
echo -e "Please check you input"
echo -e "------------------------------------------"
echo -e " ipaddr: $newip"
echo -e " netmask: $newnetmask"
echo -e " gateway: $newgateway"
echo -e " dns: $newdns"
echo -e "hostname: $newhostname"
echo -e "------------------------------------------"
echo -e "[yes] for submit
echo -e "[ q ] for exit #确认输入
q=""
while [ "$q" != "q" ]
do
read q
case $q in
q)
break
;;
yes)
echo "begging..."
if [ -e /mnt/plus/supervisor_install.sh ] ;
then
# 安装supervisor
/usr/bin/sh /mnt/plus/supervisor_install.sh
fi
# 清空在安装阶段从光盘安装的所有文件
rm -fr /mnt/* #主机名配置
echo "$newhostname" > /etc/hostname #网络配置
cp /etc/sysconfig/network-scripts/ifcfg-$default_interface /etc/sysconfig/network-scripts/ifcfg-$default_interface.bak
uuid=$(cat /etc/sysconfig/network-scripts/ifcfg-$default_interface |grep UUID|sed -e 's/"//g') echo "IPV6INIT=yes" > /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "IPV6_AUTOCONF=yes" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "BOOTPROTO=none" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "DEVICE=$default_interface" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "ONBOOT=yes" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "$uuid" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "TYPE=Ethernet" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "PROXY_METHOD=none" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "BROWSER_ONLY=no" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "IPADDR=$newip" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "NETMASK=$newnetmask" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "GATEWAY=$newgateway" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "DNS1=$newdns" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "DEFROUTE=yes" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "IPV4_FAILURE_FATAL=no" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "IPV6_DEFROUTE=yes" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface
echo "IPV6_FAILURE_FATAL=no" >> /etc/sysconfig/network-scripts/ifcfg-$default_interface #DNS配置
cp /etc/resolv.conf /etc/resolv.conf.bak
echo "# Generated by NetworkManager" > /etc/resolv.conf
echo "nameserver $newdns" >> /etc/resolv.conf #重启一下网络 使配置生效
systemctl restart network
sleep 5
ping -c 4 www.baidu.com
if [ $? != 0 ]
then
echo -e "Error! Cant link to Internet"
#break
fi #重启系统
echo ""
echo "all settings finished"
echo "now you system will restart"
sleep 6
/usr/sbin/reboot now
break
;;
*)
echo "please input 'yes' or 'q'"
;;
esac
done

centos 7 Network 脚本的更多相关文章

  1. centos一键优化脚本

    centos一键优化脚本:细节:http://oldboy.blog.51cto.com/2561410/1336488网络状态优化:http://oldboy.blog.51cto.com/2561 ...

  2. [转]CentOS开机启动脚本

    转载自http://www.2cto.com/os/201306/220559.html   我的一个Centos开机自启动脚本的制作   一.切换到/etc/init.d/   二.制作sh脚本 v ...

  3. Centos开机自启动脚本的制作

    原文地址:http://www.2cto.com/os/201306/220559.html 我的一个Centos开机自启动脚本的制作   一.切换到/etc/init.d/   二.制作sh脚本 v ...

  4. centos 7 初始化脚本

    #!/bin/bash # 时间: 2018-11-21 # 作者: HuYuan # 描述: CentOS 7 初始化脚本 # 加载配置文件 if [ -n "${1}" ];t ...

  5. centos分配IP脚本--写的第一个shell脚本

    IDC小菜鸟一枚,非科班出身.常常有客户的centos服务器需要分配15个IP甚至30个IP.每次需要手动分配十分麻烦,于是花了一天时间学了shell脚本,写了这个脚本. #!/bin/bash re ...

  6. centos虚拟机初始化脚本

    功能 修改主机名为node. 网卡开机启动并设置ip为静态18.8 更新yum源为国内yum源,并安装vim lrzsz wget man ntpdate软件. 关闭iptables selinux, ...

  7. Centos 7系统优化脚本

    脚本如下,后续继续优化 #!/bin/bash #author junxi by #this script is only for CentOS 7.x #check the OS platform= ...

  8. centos 7 network.service control process exited

    一.service network restart 出错 问题描述: vmware 12 下centos 7 网络模式,NAT 昨晚作者打算更新自己虚拟机python,发现没网络ping www.ba ...

  9. 解决方案:centos运行shell脚本时报“$'\r': 未找到命令”

    =============================================== 2018/9/12_第1次修改                       ccb_warlock == ...

随机推荐

  1. Python sys.argv[] 使用

    sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径;比如在CMD命令行输入 “python  test.py -help”,那么sys.argv[0]就代表“tes ...

  2. Document、HTMLDocument关系的探究

    首先贴上代码: console.log(Object.getPrototypeOf(document)); console.log(Object.getPrototypeOf(Object.getPr ...

  3. DVD Cloner 2019MAC如何使用?

    DVD Cloner 2019 for mac是一款应用在Mac上的DVD刻录软件,它可以将DVD克隆到任何空白光盘,包括具有多种复制模式的DVD + R / RW,DVD-R / RW,DVD + ...

  4. Vue实现点击时间获取时间段查询功能

    二话不说,先上图 实现如上代码: //获取本周第一天 showWeekFirstDay: function () { let Nowdate = new Date(); let WeekFirstDa ...

  5. 【C/C++】对于可重入、线程安全、异步信号安全几个概念的理解

    由于前段时间,程序偶尔异常挂起不工作,检查后发现时死锁了,原因就是:在信号处理函数里面调用了fprintf. printf等io函数是需要对输出缓冲区加锁,这类函数对本身是线程安全的,但是对信号处理函 ...

  6. 菜鸟系列Fabric——Fabric 1.2 单机部署(2)

    Fabric 1.2单机部署 https://hyperledger-fabric.readthedocs.io/en/release-1.2/whatis.html 创建目录 sudo mkdir ...

  7. [转] Python中的装饰器(decorator)

    想理解Python的decorator首先要知道在Python中函数也是一个对象,所以你可以 将函数复制给变量 将函数当做参数 返回一个函数 函数在Python中和变量的用法一样也是一等公民,也就是高 ...

  8. PTA(Basic Level)1032.挖掘机技术哪家强

    为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 105 的正整数 N,即参赛人数.随后 N ...

  9. 【转贴】Debian 10 "buster" 正式发布

    Debian 10 "buster" 正式发布 https://news.cnblogs.com/n/627909/ 我看到龙芯的 就是 mips64el 的指令集.. Linux ...

  10. Spring添加声明式事务

    一.前言 Spring提供了声明式事务处理机制,它基于AOP实现,无须编写任何事务管理代码,所有的工作全在配置文件中完成. 二.声明式事务的XML配置方式 为业务方法配置事务切面,需要用到tx和aop ...