Linux:自动获取静态IP地址,清空iptable,修改selinux脚本
自动获取静态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脚本的更多相关文章
- 通过AWS的DHCP自动获取的IP地址是否会发生改变?
		
针对您的问题,分析如下:1.在一个VPC内,通过AWS的DHCP自动获取的IP地址,在如何情况下会发生改变?例如我把vpc的内所有100个ec2实例全部关闭,再全部重新打开,是否会发生IP地址变化的情 ...
 - 在linux中设置静态ip地址
		
在linux中设置静态ip地址1.在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.开始编辑,填写ip地址.子网掩码.网关.DNS等[root ...
 - 在Thinkphp3.2.3框架下实现自动获取客户端IP地址的get_client_ip()函数
		
在Thinkphp框架下使用get_client_ip()函数获取客户端IP地址十分方便: 一行代码便可以实现:$ip = get_client_ip(); 但当我们测试时会遇到后台获取的IP地址显示 ...
 - Linux虚拟机配置静态ip地址
		
使用VMware搭建的虚拟机ip地址经常变动,在这里记录一下虚拟机设置静态ip地址: 首先通过VMware菜单栏编辑->虚拟网络编辑器->NAT设置查看子网ip地址和网关ip: 例如我这里 ...
 - Linux 最小化安装后IP的配置(手动获取静态IP地址)
		
一.图形化界面配置(假设为电脑A) 如果你的Linux安装有图形化界面,那么通过以下方式来配置: 我这里是有两块网卡,第一个网卡在上篇中已经通过DHCP来配置了:Linux 最小化安装后IP的配置(D ...
 - Linux VM 设置静态ip地址上网
		
因为是路由器共享上网,VM每次都是通过DHCP方式自动获取ip地址,连接Linux VM时ip地址经常变,很麻烦.现在把VM设置静态ip的方法总结一下,以免以后忘了. 1. VM上网方式设置为桥接. ...
 - Linux下配置静态IP地址,设置DNS和主机名
		
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
 - vue 项目使用 webpack 构建自动获取电脑ip地址
		
1.开发 H5 时移动端,经常会使用真机进行调试本地环境.webpack 配置服务器好多脚手架写的都是固定的,而在团队开发中需要每人配置自己的本机 ip 进行开发,每次开启开发环境的都需要修改,并且还 ...
 - Linux中设置静态ip地址
		
电脑64位,安装的是VMware12,虚拟机名称E3-dubbo-register 1.查看主机的IP地址 win+R-->cmd-->ipconfig (记住,后面要用) 2.将该虚 ...
 
随机推荐
- PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
			
REMOTE_ADDR 是你的客户端跟你的服务器“握手”时候的IP.如果使用了“匿名代理”,REMOTE_ADDR将显示代理服务器的IP. HTTP_CLIENT_IP 是代理服务器发送的HTTP头. ...
 - MISC-WHCTF2016-crypto100
			
题目:李二狗的梦中情人 找不同! 如图,下载得到“nvshen.png” 流程:看到这个被命名为nvshen的文件,感觉文件本身会有东西.用16进制查看器在图片的末尾发现了一串类似URL的ASCII ...
 - VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)
			
上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是 ...
 - ac自动机系列
			
hdu2222这题说的是在一个1000000的长串中找出n个短串是否在其中出现过 最后输出在长串中出现的个数 #include <iostream> #include <cstdio ...
 - react  headtop  title 截取
			
render() { const nav = this.props.nav const text = nav && nav.length > 5 ? this.strHandle ...
 - JQuery+CSS3实现Ajax加载时loading效果
			
之前通过Ajax请求加载数据的时候,在数据还没有呈现出来前,为了更好的用户体验,总会弄个loading告诉用户其实内容正在加载,而不是网站崩了.但是貌似之前使用gif图片的情况比较多,可能是为了兼容各 ...
 - sqlite3 shell方向键、浏览历史命令不能用的问题
			
在sqlite3 shell下,按上下方向键可以浏览历史命令,按左右方向键则可以将光标移动到命令中任意字符位置,从而可以修改错误的语句或误敲的字符.所以方向键是sqlite3 shell下最常用的功能 ...
 - ubuntu18.04下挂载网络文件系统失败【学习笔记】
			
作者:庄泽彬(欢迎转载,请注明作者) PC: ubuntu18.04 说明: 之前ubuntu16.04下搭建的环境,开发板挂载网络文件系统是ok的,但是换到ubuntu18.04在启动的时候 ...
 - Ubuntu Budgie 18.04 是最好的Remix【转】
			
本文转载子:https://www.linuxidc.com/Linux/2018-05/152223.htm [日期:2018-05-05] 来源:Linux公社 作者:醉落红尘 [字体:大 中 ...
 - 【热更新IK词典】ElasticSearch IK 自动热更新原理与实现
			
一.热更新原理 elasticsearch开启加载外部词典功功能后,会每60s间隔进行刷新字典.具体原理代码如下所示: public void loadDic(HttpServletRequest r ...