自动获取静态IP地址,清空iptable,修改selinux脚本


环境:VMware

平台:centos6.8全新

功能:

  1)应用ifconfig -a,route -n,cat /etc/resolv.conf命令获取IP,掩码,网关,dns并自动填写到/etc/sysconfig/network-scripts/ifcfg-eth0.

  2)清空iptables规则.

  3)关闭selinux.

应用:适用全新系统  

#!/bin/bash
#本脚本是自动获取静态IP地址,并修改selin和清空iptables.
#日期:--
#编写:WK
#定义检查函数,错误和正确会显示红字并闪烁.
check() {
if [ $? != ]
then
echo -e '\e[1;5;31m ERROR \e[0m'
exit
else
echo -e '\e[1;5;31m OK \e[0m'
fi
}
#释放IP并查看IP地址
dhclient -r
ifconfig -a >/dev/null
dhclient
check
#截取IP,网关,掩码,dns段.
ip=`ifconfig -a |grep -A1 'eth0' |sed '1d'|awk -F ':' '{print $2}'|awk '{print $1}'`
gateway=`route -n |awk '{print $2}'|sed '1,3d'`
netmask=`route -n |awk '{print $3}'|sed '1,2d'|sed 2d`
dns1=`cat /etc/resolv.conf |awk '{print $2}'|sed 1d|sed 2d`
dns2=`cat /etc/resolv.conf |awk '{print $2}'|sed 1d|sed 1d`
eth0="/etc/sysconfig/network-scripts/ifcfg-eth0"
#修改ONBOOT和BOOTPROTO
sed -i 's/ONBOOT\=no/ONBOOT\=yes/' $eth0
sed -i 's/BOOTPROTO\=dhcp/BOOTPROTO\=static/' $eth0
check
#判断地址段是否存在,若存在删除并重新填入,若不存在直接填写(写的比较繁琐)
if `grep -q 'IPADDR' $eth0 `
then
sed -i '/^IP/d' $eth0
echo "IPADDR=$ip" >>$eth0
else
echo "IPADDR=$ip" >>$eth0
fi
check
if `grep -q 'GATEWAY' $eth0`
then
sed -i '/^GATE/d' $eth0
echo "GATEWAY=$gateway" >>$eth0
else
echo "GATEWAY=$gateway" >>$eth0
fi
check
if `grep -q 'NETMASK' $eth0`
then
sed -i '/^NET/d' $eth0
echo "NETMASK=$netmask" >>$eth0
else
echo "NETMASK=$netmask" >>$eth0
fi
check
if `grep -q 'DNS1' $eth0`
then
sed -i '/^DNS1/d' $eth0
echo "DNS1=$dns1" >>$eth0
else
echo "DNS1=$dns1" >>$eth0
fi
check
if `grep -q 'DNS2' $eth0`
then
sed -i '/^DNS2/d' $eth0
echo "DNS2=$dns2" >>$eth0
else
echo "DNS2=$dns2" >>$eth0
fi
check
#重启网卡
service network restart
check
#关闭selinux
sed -i 's/SELINUX\=enforcing/SELINUX\=disabled/' /etc/selinux/config
selinux_s=`getenforce`
if [ $selinux_s == "enforcing" ]
then
setenforce
fi
check
#保存并清空iptables
iptables-save > /etc/sysconfig/iptables_`date +%s`
iptables -F
service iptables save
check
#检查网络是否通畅
ping -c www.qq.com
check
echo "-------------------------------->"
echo -e "\033[4;33mYour IP address is-->$ip\033[0m"

执行结果图

Linux:自动获取静态IP地址,清空iptable,修改selinux脚本的更多相关文章

  1. 通过AWS的DHCP自动获取的IP地址是否会发生改变?

    针对您的问题,分析如下:1.在一个VPC内,通过AWS的DHCP自动获取的IP地址,在如何情况下会发生改变?例如我把vpc的内所有100个ec2实例全部关闭,再全部重新打开,是否会发生IP地址变化的情 ...

  2. 在linux中设置静态ip地址

    在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...

  3. 在Thinkphp3.2.3框架下实现自动获取客户端IP地址的get_client_ip()函数

    在Thinkphp框架下使用get_client_ip()函数获取客户端IP地址十分方便: 一行代码便可以实现:$ip = get_client_ip(); 但当我们测试时会遇到后台获取的IP地址显示 ...

  4. Linux虚拟机配置静态ip地址

    使用VMware搭建的虚拟机ip地址经常变动,在这里记录一下虚拟机设置静态ip地址: 首先通过VMware菜单栏编辑->虚拟网络编辑器->NAT设置查看子网ip地址和网关ip: 例如我这里 ...

  5. Linux 最小化安装后IP的配置(手动获取静态IP地址)

    一.图形化界面配置(假设为电脑A) 如果你的Linux安装有图形化界面,那么通过以下方式来配置: 我这里是有两块网卡,第一个网卡在上篇中已经通过DHCP来配置了:Linux 最小化安装后IP的配置(D ...

  6. Linux VM 设置静态ip地址上网

    因为是路由器共享上网,VM每次都是通过DHCP方式自动获取ip地址,连接Linux VM时ip地址经常变,很麻烦.现在把VM设置静态ip的方法总结一下,以免以后忘了. 1. VM上网方式设置为桥接. ...

  7. Linux下配置静态IP地址,设置DNS和主机名

    本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...

  8. vue 项目使用 webpack 构建自动获取电脑ip地址

    1.开发 H5 时移动端,经常会使用真机进行调试本地环境.webpack 配置服务器好多脚手架写的都是固定的,而在团队开发中需要每人配置自己的本机 ip 进行开发,每次开启开发环境的都需要修改,并且还 ...

  9. Linux中设置静态ip地址

    电脑64位,安装的是VMware12,虚拟机名称E3-dubbo-register 1.查看主机的IP地址 win+R-->cmd-->ipconfig   (记住,后面要用) 2.将该虚 ...

随机推荐

  1. AE读取CAD图层包括注记

    public override void FillDatabase(Teigha.DatabaseServices.Database pDb) { IFeatureClassContainer pFe ...

  2. ScyllaDB - 基础部署

    基础环境 操作系统: CentOS 7.2: 集群节点(虚拟机):172.16.134.15 ~ 17: 基础准备 安装依赖和卸载 abrt ( abrt 和 coredump 配置冲突 ): sud ...

  3. 使用Ajax验证用户是否已存在

    在服务器端使用Servlet,里面在集合里存了几个字符串,没有对数据库操作. 前台input页面和Ajax验证: <%@ page language="java" conte ...

  4. 7.1 Models -- Introduction

    一.概述 1. 模型是表示应用程序呈现给用户的底层数据的对象.不同的应用程序有不同的模型,这取决于它们正在试图解决什么问题. 2. 例如,一个照片共享应用程序可能有一个Phone模型来代表一个特殊的照 ...

  5. supervisor安装及其配置

    一.supervisor概述 supervisor是一个c/s系统,被用来在类Unix系统中监控进程状态.supervisor使用python开发. 服务端进程为supervisord,主要负责启动自 ...

  6. vertica单节点安装教程

    [准备] 1.CentOS 7.6的镜像盘(下载地址:官网) 2.vertica-9.1.0-0.x86_64.RHEL6(下载地址:https://pan.baidu.com/s/1IjWBUTku ...

  7. PDO的三种连接数据库的方式

    PDO的三种连接数据库的方式   PDO的出现是为了解决PHP与各个数据库的连接处理都有各自的函数的问题,它的高度抽象,使得使用起来极其的方便.由于最常用的搭配就是PHP+Mysql,所以这里就以连接 ...

  8. 【转】微信jssdk录音功能开发记录

    转自:http://www.cnblogs.com/liujunyang/p/4962423.html#undefined 0.需求描述 在微信浏览器内打开的页面,制作一个按钮,用户按住按钮后开始录音 ...

  9. python3 库pandas写入csv格式文件出现中文乱码问题解决方法

    python3 库pandas写入csv格式文件出现中文乱码问题解决方法 解决方案: 问题是使用pandas的DataFrame的to_csv方法实现csv文件输出,但是遇到中文乱码问题,已验证的正确 ...

  10. Maven mybatis-generator自动生成代码

    mybatis-generator可以自动生成代码,不管你是否喜欢它生成的代码的风格,它确实有助于我们更快速便捷的生成代码. Maven pom文件配置: <build> <plug ...