#!/bin/bash

# check network
echo "-------------check Network-------------"
ping -c -t mirrors.aliyun.com >/dev/null >&
if [[ $? == ]]; then
echo "nameserver 61.134.1.4
nameserver 218.30.19.40" > /etc/resolv.conf
fi
ping -c -t www.baidu.com >/dev/null >&
if [[ $? == ]]; then
echo "Network err!"
exit
else
echo "Network OK."
fi # set hostname
IP=$(ifconfig | grep cas | awk -F '[ :]+' '{print $4}')
sed -i "s/localhost.localdomain/$IP/g" /etc/sysconfig/network
hostname $IP
# update yum echo "-------------update Yum-------------"
rm -rf /etc/yum.repos.d/* && curl http://mirrors.aliyun.com/repo/Centos-6.repo > /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/\$releasever/6/g' /etc/yum.repos.d/CentOS-Base.repo  # 如果是centos系统,请删除本行。
yum clean all && yum makecache
yum install -y ntp vim if [ -f /usr/sbin/ntpdate ];then
/usr/sbin/ntpdate tiger.sina.com.cn
/sbin/hwclock -w
else
echo "ntpdate can't found !"
exit
fi
echo "* 3 * * * /usr/sbin/ntpdate tiger.sina.com.cn > /dev/null 2>&1" >> /etc/crontab
/etc/init.d/crond restart # set ulimit echo "-------------set ulimit-------------"
echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF # set sysctl echo "-------------set sysctl-------------"
cat >> /etc/sysctl.conf << EOF
fs.file-max = 655350
net.ipv4.ip_local_port_range = 1024 65500
net.ipv4.tcp_max_tw_buckets = 1500
net.ipv4.tcp_max_syn_backlog = 1500
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_keepalive_time = 120
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 2000
EOF
/sbin/sysctl -p
echo "sysctl set OK!!" # disable ipv6 echo "-------------disable ipv6-------------"
echo "alias net-pf-10 off" >> /etc/modprobe.d/ipv6off.conf
echo "alias ipv6 off" >> /etc/modprobe.d/ipv6off.conf
/sbin/chkconfig --level 35 ip6tables off
echo "ipv6 is disabled!" # set ssh
echo "-------------set ssh-------------"
SSH_PORT=50000 sed -i "s/#Port 22/Port $SSH_PORT/" /etc/ssh/sshd_config
sed -i "s/#MaxAuthTries 6/MaxAuthTries 6/" /etc/ssh/sshd_config
sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config
service sshd restart # set iptables
echo "-------------set iptables-------------"
cat > /etc/sysconfig/iptables << EOF
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m multiport --dports 2200,80 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 50000 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
COMMIT
EOF
#/etc/init.d/iptables restart
echo "----------------------finished-------------------------"
read -p 'reboot? (y/n): ' yn
if [ $yn == 'y' -o $yn == 'Y' ];then
reboot
else
exit
fi

PS: 执行本脚本后,ssh端口修改为50000

[ 脚本 ] RHEL6.x 及Centos6.x 初始化脚本的更多相关文章

  1. 分享我自己的一个最小化安装CentOS6的初始化脚本

    在自己的虚拟机上使用的基于CentOS6的系统初始化脚本 #!/bin/bash # #Filename:system_init.sh #Description:系统安装完成后,对系统进行一些配置,以 ...

  2. Openwrt 初始化脚本

    Openwrt 使用自己的初始化脚本系统,所有的初始化脚本位于 /etc/init.d 目录下. 任何一个初始化脚本必须包含基本的 start() 和 stop() 函数.当系统启动或用户拉起对应的进 ...

  3. Centos7初始化脚本

    今天分享一个自己写的一个初始化的小脚本. 编写初始化系统要考虑到系统的版本问题,现在用的比较多的就是centos6和centos7,所以首先要判断一下系统的版本. cat /etc/redhat-re ...

  4. Centos7系统初始化脚本

    前言: 因公司业务增加,陆续新增服务器,时不时的来几台,手动地一台台对服务器初始化操作感觉太麻烦. 于是乎,根据初始化需求整合了一个初始化脚本,实现批量脚本初始化操作. 说明: 本脚本根据自身需求编写 ...

  5. centos6服务启动脚本及开机启动过程

    centos6服务启动脚本 centos6的服务启动脚本都放在/etc/rc.d/init.d/下,/etc/init.d/是/etc/rc.d/init.d/的软链接: centos6的服务启动脚本 ...

  6. ubuntu系统安装初始化脚本

    ubuntu系统安装初始化脚本 经常安装卸载ubuntu,每次系统安装完成后要安装好多软件,一个个命令输很麻烦浪费时间,一个sh文件全搞定! 1. flashplayer下载:点击这里 2. Auda ...

  7. 分析MariaDB初始化脚本mysql_install_db

    在初始化MySQL的过程中经常会碰到各种问题,如 FATAL ERROR: Could not find ./bin/my_print_defaults ERROR: Can't create/wri ...

  8. jeecg安装——mysql数据库创建+手动执行初始化脚本

    国产的开源项目官方文档写得那么详细,已经是很厚道了,可惜俺这种菜鸟还是会碰到各种"小"问题,做个笔记先! 1.新建数据库: CREATE DATABASE jeecg DEFAUL ...

  9. centos7 系统初始化脚本

    现在自己的本地虚拟机系统,直接安装的是centos7.2 mini版,安装完成发现好多东西都没有安装,所以写了一个简单的系统初始化脚本,让自己可以省一些力气,哈哈 人懒主要是. 下面贴出写的脚本,脚本 ...

随机推荐

  1. QR码与DM码的区别

    DM无法表现汉字等其他形式,而QR码能用数据压缩方式来表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字的效率提高了20%.相较而言,DM码信息容量小,应用简单.而QR在汉字处理上更有优 ...

  2. PyQt5图像全屏显示

    Windows装这个:https://pypi.python.org/pypi/PyQt5Ubuntu输入这个:sudo apt-get install python3-pyqt5 或者直接输入:pi ...

  3. redis安装与启动

    安装简介: 在安装redis前需要了解redis官方发布时的版本规则,redis官方约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.8版,3.0版),奇数版本则为非稳定版本(如2.7 ...

  4. 并查集——poj2492(带权并查集入门)

    一.题目回顾 题目链接:传送门 题意:给定n只虫子,不同性别的可以在一起,相同性别的不能在一起.给你m对虫子,判断中间有没有同性别在一起的. 二.解题思路 种类并查集 和poj1073的本质一样 详见 ...

  5. 一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有 多少总跳法?

    首先我们考虑最简单的情况:如果只有1 级台阶,那显然只有一种跳法,如果有2 级台阶,那就有两种跳的方法了:一种是分两次跳,每次跳1 级:另外一种就是一次跳2 级.现在我们再来讨论一般情况:我们把n 级 ...

  6. Mac OSX 10.11安装Jekyll

    一说常见的博客管理工具大家想到的就是WordPress.不过现在部分个人博客用户开始从WordPress转移到Jekyll上了.Jekyll是一种本地生成静态页面进而线上发布的博客工具,而且现在已经有 ...

  7. struts2的验证

    1.原理 当浏览器向服务器提交表单数据时,在服务器端需要对表单数据的有效性进行校验. “校验方法”会在“业务方法”之前调用. 2.实现验证的两种方式 struts2校验的两种实现方法: 1. 手工编写 ...

  8. hdu 2527 Safe Or Unsafe (哈夫曼树)

    Safe Or Unsafe Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  9. 如何使用Eclipse调试framework

    1.下载Eclipse EE(下载地址:http://www.eclipse.org/downloads/) 2.下载并安装JDK(下载地址:http://www.oracle.com/technet ...

  10. wget、yum、rpm、apt-get区别

    wget 类似于迅雷,是一种下载工具, 通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理 名字是World Wide Web”与“get”的结合. yum: 是 ...