自动获取静态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. (转) 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...

  2. gcc安装多个版本

    http://blog.csdn.net/chid/article/details/6251781

  3. testng日志 TestListenerAdapter

    TestListenerAdapter,空方法实现 ITestListener   创建自定义日志记录类 创建另一个新的类名为 CustomListener.java 在 C:\ > TestN ...

  4. #C++初学记录

    输入与输出,头文件. #include<iostream> #include<algorithm> using namespace std; int main() { char ...

  5. VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)

    前两讲中鸡啄米为大家讲解了如何创建对话框资源.创建好对话框资源后要做的就是生成对话框类了.鸡啄米再声明下,生成对话框类主要包括新建对话框类.添加控件变量和控件的消息处理函数等. 因为鸡啄米给大家的例程 ...

  6. DB开发之mysql

    1. MySQL 4.x版本及以上版本提供了全文检索支持,但是表的存储引擎类型必须为MyISAM,以下是建表SQL,注意其中显式设置了存储引擎类型 CREATE TABLE articles ( id ...

  7. android自定义Activity窗口大小(theme运用)

    http://gundumw100.iteye.com/blog/906195 正常情况下,我们开发的应用程序都会上占满整个屏幕,那么怎么样才能开发出自定义窗口大小的的程序呢?如下图所示: 实现起来非 ...

  8. LSB含义

    LSB(Least Significant Bit)最低有效位,对任何AD来说,量化后输出的数字信号值都是以1LSB的电压值步进的,介于1LSB之间的电压将按照一定的规则进行入位或舍弃,这个过程中造成 ...

  9. 【bzoj5170】Fable(树状数组)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=5170 我们会发现,经过一轮冒泡后,若a[i]的前面有比它大的数,就一定会有一个被丢到后 ...

  10. Codeforces Round #390 (Div. 2) A. Lesha and array splitting

    http://codeforces.com/contest/754/problem/A 题意: 给出一串序列,现在要把这串序列分成多个序列,使得每一个序列的sum都不为0. 思路: 先统计一下不为0的 ...