#!/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. CL_GUI_FRONTEND_SERVICES 使用问题

    CL_GUI_FRONTEND_SERVICES(SAP操作Windows文件) 这个类下面的方法均为静态方法,引用的时候以=>来引用方法 注意:在执行CL_GUI_FRONTEND_SERVI ...

  2. 【AMAD】jsonschema -- (又)一个JSON Schema的Python实现

    动机 简介 用法 个人评分 动机 JSON Schema1是一个专业词汇,可以让你注解和验证JSON文档. 使用JSON Schema的好处有: 描述你的数据格式 提供清晰的易读的文档 验证数据: 用 ...

  3. 【Python开发】Url中文字符时记得转码edcode("utf-8")

    在url中使用中文其实是一个坏习惯,会带来一系列的转码问题, 我更喜欢英文译名或者id来标识某个uri.但是现实往往是残酷的, 特别是在我们调用别人服务时候,有时候被逼无奈使用中文URL. Pytho ...

  4. 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念

    linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10.04 开发平台:S3C2440开发板 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  5. VM Centos 连不上网或者ping不通问题汇总

    首先检查windows关于VM的服务有没有开启.没有开启的都开起来 通过复制形式建立的虚拟机,注意修改网卡地址.和cfg文件的UUID. 虚拟机ip能正常显示但是windows电脑ping不通虚拟机. ...

  6. 【go进阶】一个简单的go服务器实现

    光阴似箭,日月如梭,在昨天我终于拿到了自己忙活了半个月的工资. 据说在7月25日有一颗小行星掠过地球,如果真的撞上来,估计31号我就不是乐呵呵的了,应该是直接没了. 如下的代码运行起来就是一个微型go ...

  7. Spring IOC 和Aspectj AOP

    1.Aspectj AOP 是一套独立的AOP 解决方案,不仅限于java应用,不依赖其他方案,属于编译时增强,有自己单独的编译器.Spring AOP 是基于Spring 容器的的AOP解决方式,属 ...

  8. Oracle-DDL 2- 视图&索引

    DDL-数据定义语句: 二.视图 --视图(view),本身不保存数据,保存的是一个查询语句--对视图的操作等同于对查询语句中源数据的操作--视图占用存储空间较小,可以快速的对特定数据进行访问和操作- ...

  9. java_实现一个类只能声明一个对象

    public class StaticDemo { public int a=10; private static StaticDemo s= new StaticDemo(); private St ...

  10. Java中的异常处理try catch(第八周课堂示例总结)

    异常处理 使用Java异常处理机制: 把可能会发生错误的代码放进try语句块中. 当程序检测到出现了一个错误时会抛出一个异常对象. 异常处理代码会捕获并处理这个错误. catch语句块中的代码用于处理 ...