cat <<EOF > /etc/sysctl.d/k8s.confnet.ipv6.conf.all.disable_ipv6 = 1 #禁用ipv6net.ipv6.conf.default.disable_ipv6 = 1 #禁用ipv6net.ipv6.conf.lo.disable_ipv6 = 1 #禁用ipv6net.ipv4.neigh.default.gc_stale_time = 120 #决定检查过期多久邻居条目net.ipv4.conf.all.rp_filter = 0 #关闭反向路由校验net.ipv4.conf.default.rp_filter = 0 #关闭反向路由校验net.ipv4.conf.default.arp_announce = 2 #始终使用与目标IP地址对应的最佳本地IP地址作为ARP请求的源IP地址net.ipv4.conf.lo.arp_announce = 2 #始终使用与目标IP地址对应的最佳本地IP地址作为ARP请求的源IP地址net.ipv4.conf.all.arp_announce = 2 #始终使用与目标IP地址对应的最佳本地IP地址作为ARP请求的源IP地址net.ipv4.ip_forward = 1 #启用ip转发功能net.ipv4.tcp_max_tw_buckets = 5000 #表示系统同时保持TIME_WAIT套接字的最大数量net.ipv4.tcp_syncookies = 1 #表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理net.ipv4.tcp_max_syn_backlog = 1024 #接受SYN同包的最大客户端数量net.ipv4.tcp_synack_retries = 2 #活动TCP连接重传次数net.bridge.bridge-nf-call-ip6tables = 1 #要求iptables对bridge的数据进行处理net.bridge.bridge-nf-call-iptables = 1 #要求iptables对bridge的数据进行处理net.bridge.bridge-nf-call-arptables = 1 #要求iptables对bridge的数据进行处理net.netfilter.nf_conntrack_max = 2310720 #修改最大连接数fs.inotify.max_user_watches=89100 #同一用户同时可以添加的watch数目fs.may_detach_mounts = 1 #允许文件卸载fs.file-max = 52706963 #系统级别的能够打开的文件句柄的数量fs.nr_open = 52706963 #单个进程可分配的最大文件数vm.overcommit_memory=1 #表示内核允许分配所有的物理内存,而不管当前的内存状态如何vm.panic_on_oom=0 #内核将检查是否有足够的可用内存供应用进程使用vm.swappiness = 0 #关注swapnet.ipv4.tcp_keepalive_time = 600 #修复ipvs模式下长连接timeout问题,小于900即可net.ipv4.tcp_keepalive_intvl = 30 #探测没有确认时,重新发送探测的频度net.ipv4.tcp_keepalive_probes = 10 #在认定连接失效之前,发送多少个TCP的keepalive探测包vm.max_map_count=524288 #定义了一个进程能拥有的最多的内存区域EOFsysctl --system
内核优化
cat >> /etc/sysctl.conf <<EOF# linux打开文件句柄数fs.file-max = 65535# 关闭SysRqkernel.sysrq = 0# 生成core文件,后缀是否带pid 1:带; 0 :不带kernel.core_uses_pid = 1vm.max_map_count = 1000000fs.nr_open = 10000000fs.file-max = 11000000#网络优化# 关闭ipv6net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1# 决定检查过期多久邻居条目net.ipv4.neigh.default.gc_stale_time=120#使用arp_announce / arp_ignore解决ARP映射问题net.ipv4.conf.default.arp_announce = 2net.ipv4.conf.all.arp_announce=2net.ipv4.conf.lo.arp_announce=2# 避免放大攻击net.ipv4.icmp_echo_ignore_broadcasts = 1# 开启恶意icmp错误消息保护net.ipv4.icmp_ignore_bogus_error_responses = 1# 关闭路由转发net.ipv4.ip_forward = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0# 开启反向路径过滤# 开启rp_filter参数 减少DDoS攻击 防止IP Spoofingnet.ipv4.conf.all.rp_filter = 1net.ipv4.conf.default.rp_filter = 1#处理无源路由的包net.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.default.accept_source_route = 0# 开启SYN洪水攻击保护# 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭net.ipv4.tcp_syncookies = 1#修改消息队列长度kernel.msgmnb = 65536kernel.msgmax = 65536#timewait的数量,默认180000# 在 TIME_WAIT 数量等于 tcp_max_tw_buckets 时,不会有新的 TIME_WAIT 产生net.ipv4.tcp_max_tw_buckets = 6000net.ipv4.tcp_sack = 1net.ipv4.tcp_window_scaling = 1# 与 tcp_wmem 类似,不过它表示的是为自动调优所使用的接收缓冲区的值net.ipv4.tcp_rmem = 4096 87380 4194304# 为自动调优定义每个 socket 使用的内存# 第一个值是为 socket 的发送缓冲区分配的最少字节数# 第二个值是默认值(该值会被wmem_default覆盖),缓冲区在系统负载不重的情况下可以增长到这个值# 第三个值是发送缓冲区空间的最大字节数(该值会被 wmem_max 覆盖)net.ipv4.tcp_wmem = 4096 16384 4194304net.core.wmem_default = 8388608net.core.rmem_default = 8388608# 定义发送窗口的最大大小;对于更大的 BDP 来说,这个大小也应该更大net.core.wmem_max = 873200# 指定了接收套接字缓冲区大小的最大值(以字节为单位)net.core.rmem_max = 873200# 每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目net.core.netdev_max_backlog = 262144# 限制仅仅是为了防止简单的DoS 攻击net.ipv4.tcp_max_orphans = 3276800# 未收到客户端确认信息的连接请求的最大值# 表示SYN队列长度,默认1024,改成8192,可以容纳更多等待连接的网络连接数net.ipv4.tcp_max_syn_backlog = 262144net.ipv4.tcp_timestamps = 0#内核放弃建立连接之前发送SYNACK 包的数量net.ipv4.tcp_synack_retries = 1#内核放弃建立连接之前发送SYN 包的数量net.ipv4.tcp_syn_retries = 1#启用timewait 快速回收net.ipv4.tcp_tw_recycle = 1# 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭net.ipv4.tcp_tw_reuse = 1# 确定 TCP 栈应该如何反映内存使用;每个值的单位都是内存页(通常是 4KB)# 第一个值是内存使用的下限# 第二个值是内存压力模式开始对缓冲区使用应用压力的上限# 第三个值是内存上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的 BDP 可以增大这些值(但是要记住,其单位是内存页,而不是字节)net.ipv4.tcp_mem = 94500000 915000000 927000000# 表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。net.ipv4.tcp_fin_timeout = 1#当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时net.ipv4.tcp_keepalive_time = 1800# 如果对方不予应答,探测包的发送次数net.ipv4.tcp_keepalive_probes = 3# keepalive探测包的发送间隔net.ipv4.tcp_keepalive_intvl = 30#允许系统打开的端口范围net.ipv4.ip_local_port_range = 5000 65000#修改防火墙表大小,默认65536net.netfilter.nf_conntrack_max=655350net.netfilter.nf_conntrack_tcp_timeout_established=1200# 确保无人能修改路由表net.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0net.ipv4.conf.all.secure_redirects = 0net.ipv4.conf.default.secure_redirects = 0net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 30# 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为30分钟。# Linux kernel参数,表示socket监听的backlog(监听队列)上限net.core.somaxconn = 10240# 在丢弃激活(已建立通讯状况)的TCP连接之前﹐需要进行多少次重试。默认值为1net.ipv4.tcp_retries2 = 5net.ipv4.conf.lo.arp_ignore = 0net.ipv4.conf.lo.arp_announce = 0net.ipv4.conf.all.arp_ignore = 0EOFsysctl -p >/dev/null 2>&1
#!/bin/bash#Eren by 2020-06-30#修改hosts文件if [ `id -u` -ne 0 ]; thenecho "Please rerun this script as root"exit 1fiHostName=$HOSTNAMEHostIP=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|grep -v 192.168 |awk '{print $2}'|tr -d "addr:"`echo "$HostIP" " " "$HostName" >> /etc/hosts#文件系统配置pvcreate /dev/vdbif [ $? -eq 0 ];then echo -e "逻辑卷创建完成" "\033[32m Success\033[0m"; else echo -e "未添加数据盘" "\033[31m Failure\033[0m"; echo ""; exit 2; fi#创建逻辑卷vgcreate appvg /dev/vdb#lvcreate -n boccfclv -L 5G appvgmkfs.ext4 /dev/appvg/boccfclvmkdir -p /home/boccfcmount /dev/appvg/boccfclv /home/boccfc#lvcreate -n applv -L 30G appvgmkfs.ext4 /dev/appvg/applvmkdir -p /appmount /dev/appvg/applv /app#lvcreate -n apploglv -l 90%free appvgmkfs.ext4 /dev/appvg/apploglvmkdir -p /applogmount /dev/appvg/apploglv /applog#if [ $? -eq 0 ];then echo -e "文件系统创建完成" "\033[32m Success\033[0m"; else echo -e "文件系统创建失败" "\033[31m Failure\033[0m"; sleep 3; exit 3; ficat >> /etc/fstab << EOF/dev/appvg/boccfclv /home/boccfc ext4 defaults 0 0/dev/appvg/apploglv /applog ext4 defaults 0 0/dev/appvg/applv /app ext4 defaults 0 0EOF#添加普通用户#groupadd -g 310 boccfcuseradd -g 310 -u 310 -d /home/boccfc -m -G boccfc boccfc#cp -av /etc/skel/\.[[:alpha:]]* /home/boccfcecho "1qaz@WSX" | passwd --stdin boccfc#chage -d 0 boccfcchown -R boccfc:boccfc /home/boccfc#groupadd -g 320 mauseruseradd -g 320 -u 320 -d /home/mauser -m -G mauser mauser#cp -av /etc/skel/\.[[:alpha:]]* /home/mauserecho "1qaz@WSX" | passwd --stdin mauserchown -R mauser:mauser /home/mauser#chown -R boccfc:boccfc /appchown -R boccfc:boccfc /applog##修改时间服务地址sed -i "s/^server /#server /g" /etc/chrony.confwget -qO- http://10.182.220.85/uat/ntp-gw.sh|bashwget -P /etc/yum.repos.d http://10.182.220.85/uat/epel.repo#gateway='route -n| awk 'BEGIN{OFS="\n"} NR!=2 && /Gateway/ || NR==3{print $2}''#sed -atimedatectl set-timezone Asia/Shanghaisystemctl restart chronyd.servicehwclock -wchronyc trackingchronyc -a makestep#普通用户禁用定时任务touch /etc/cron.allow#openssh修复sed -i 's|GSSAPIAuthentication yes|#GSSAPIAuthentication yes|' /etc/ssh/ssh_config#touch /etc/cron.allow##HostName=$HOSTNAME#HostIP=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|grep -v 192.168 |awk '{print $2}'|tr -d "addr:"`#echo "$HostIP" " ""$HostName" >> /etc/hosts#wget -P /tmp http://10.82.100.84/prod/prod-zabbix-agentd.tar.gz#cd /tmp && tar xf prod-zabbix-agentd.tar.gz#cd zabbix-agentd#sh install.sh#cat /var/log/zabbix/zabbix_agent2.log#检查文件系统挂载mount -a#df -Thifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|grep -v 192.168 |awk '{print $2}'cat /etc/hosts
