#!/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. mysql知识点汇集

    1.将两个表字段类型一致的数据合并到一个新表的命令. INSERT into new_table(user_name,password,age) SELECT user_name,password,a ...

  2. JAVA多线程程序ProgressBar2

    JAVA多线程程序ProgressBar2 题目简介: 思路分析:与上一篇:JAVA多线程程序ProgressBar类似,本篇避免过于冗杂,所以在此没有给出. 实验代码: import java.aw ...

  3. 小D课堂 - 零基础入门SpringBoot2.X到实战_汇总

    第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_1.SpringBoot2.x课程介绍和高手系 ...

  4. 工具类 分页工具类PageParamBean

    自己编写的分页工具类,根据不同的数据库类型,生成对应的分页sql信息,分享给大家,希望大家共勉,工具类有些地方,大家可能不需要,请根绝自己的需要进行修改使用,核心逻辑都在,如果大家觉得有什么不妥,欢迎 ...

  5. 086. Partition List

    题目链接:https://leetcode.com/problems/partition-list/description/ Given a linked list and a value x, pa ...

  6. 5-1 标准I/O和管道

    标准I/O和管道 程序:指令+数据 读入数据:Input 输出数据:Output 打开的文件都有一个fd: file descriptor (文件描述符) Linux给程序提供三种 I/O 设备 标准 ...

  7. CTF攻防练习之综合训练1

    主机:192.168.32.152 靶机:192.168.32.166 首先使用nmap,nikto -host ,dirb扫描,探测靶场开放了 21,22,80d端口已经发现有一下关键信息 进入lo ...

  8. Skywalking部署+NetCore客户端

    一.介绍 应用官方的说法:Apache SkyWalking是观察性分析平台和应用性能管理系统.提供分布式追踪.服务网格遥测分析.度量聚合和可视化一体化解决方案 GitHub地址:https://gi ...

  9. Datafactory 实际使用案例

    Datafactory 实际使用案例 一.       简介 QuestDataFactory 是一种快速的.易于产生测试数据工具,它能建模复杂数据关系,且有带有GUI界面.DataFactory是一 ...

  10. ORACLE 左连接 右连接 内连接 外连接 全连接 五中表连接方式

    1.左连接 :left join 2.右连接:right join 3.内连接:inner join 4.外连接:outer join 5.全连接:full join