设为首页 收藏本站
查看: 659|回复: 0

[经验分享] centos7 新安装基础配置

[复制链接]

尚未签到

发表于 2018-4-21 11:27:47 | 显示全部楼层 |阅读模式
  1)关闭selinux
  使用getenforce 可以查看selinux的状态
[snail@bogon ~]$ getenforce

  Enforcing
  或者使用sestatus
[root@bogon ~]# sestatus

  SELinux status:                 enabled
  SELinuxfs mount:                /sys/fs/selinux
  SELinux root directory:         /etc/selinux
  Loaded policy name:             targeted
  Current mode:                   permissive
  Mode from config file:          enforcing
  Policy MLS status:              enabled
  Policy deny_unknown status:     allowed
  Max kernel policy version:      28
  使用setenforce 0临时关闭selinux(为宽容模式Permissive)
[root@bogon ~]# setenforce 0

[root@bogon ~]# getenforce

  Permissive
  要永久关闭操作如下(红色为修改部分)
[root@bogon ~]# vi /etc/selinux/config

  # This file controls the state of SELinux on the system.
  # SELINUX= can take one of these three values:
  #     enforcing - SELinux security policy is enforced.
  #     permissive - SELinux prints warnings instead of enforcing.
  #     disabled - No SELinux policy is loaded.
  SELINUX=disabled
  # SELINUXTYPE= can take one of three two values:
  #     targeted - Targeted processes are protected,
  #     minimum - Modification of targeted policy. Only selected processes are protected.
  #     mls - Multi Level Security protection.
  SELINUXTYPE=targeted
  注意修改后要重启服务器然后再查看一下状态
[snail@bogon ~]$ sestatus

  SELinux status:                 disabled
  2)关闭防火墙
  注意:centos7的防火墙默认使用的是firewalld
  临时关闭防火墙
[root@bogon ~]$ systemctl stop firewalld.service

  永久关闭防火墙
[root@bogon ~]$ systemctl disable firewalld.service

  Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
  查看防火墙的状态
[root@bogon ~]$ firewall-cmd --state

  not running
  3)基本优化
  修改最大打开进程数和最大文件句柄,先使用ulimit命令查看
[root@bogon ~]# ulimit -n

  1024
[root@bogon ~]# ulimit -u

  3480
  修改相关的配置
[root@bogon ~]# vi /etc/security/limits.conf

  在最后追加下面几行
  * soft nofile 1024000
  * hard nofile 1024000
  * soft nproc 1024000
  * hard nproc 1024000
  再修改/etc/security/limits.d下的文件20-nproc.conf (红色为修改项 已修改)
  [root@bogon ~]# vi /etc/security/limits.d/20-nproc.conf
  # Default limit for number of user's processes to prevent
  # accidental fork bombs.
  # See rhbz #432903 for reasoning.
  

  *          soft    nproc     1024000
  *          hard    nproc     1024000
  注意:修改完成后重启生效
  内核基础优化配置,(暂时不太懂,先直接操作即可)
[root@bogon sysctl.d]# vi /usr/lib/sysctl.d/ 00-system.conf

  追加下面的参数
  #关闭ipv6
  net.ipv6.conf.all.disable_ipv6 = 1
  net.ipv6.conf.default.disable_ipv6 = 1
  # 避免放大攻击
  net.ipv4.icmp_echo_ignore_broadcasts = 1
  # 开启恶意icmp错误消息保护
  net.ipv4.icmp_ignore_bogus_error_responses = 1
  #关闭路由转发
  net.ipv4.ip_forward = 0
  net.ipv4.conf.all.send_redirects = 0
  net.ipv4.conf.default.send_redirects = 0
  #开启反向路径过滤
  net.ipv4.conf.all.rp_filter = 1
  net.ipv4.conf.default.rp_filter = 1
  #处理无源路由的包
  net.ipv4.conf.all.accept_source_route = 0
  net.ipv4.conf.default.accept_source_route = 0
  #关闭sysrq功能
  kernel.sysrq = 0
  #core文件名中添加pid作为扩展名
  kernel.core_uses_pid = 1
  # 开启SYN洪水攻击保护
  net.ipv4.tcp_syncookies = 1
  #修改消息队列长度
  kernel.msgmnb = 65536
  kernel.msgmax = 65536
  #设置最大内存共享段大小bytes
  kernel.shmmax = 68719476736
  kernel.shmall = 4294967296
  #timewait的数量,默认180000
  net.ipv4.tcp_max_tw_buckets = 6000
  net.ipv4.tcp_sack = 1
  net.ipv4.tcp_window_scaling = 1
  net.ipv4.tcp_rmem = 4096 87380 4194304
  net.ipv4.tcp_wmem = 4096 16384 4194304
  net.core.wmem_default = 8388608
  net.core.rmem_default = 8388608
  net.core.rmem_max = 16777216
  net.core.wmem_max = 16777216
  #每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
  net.core.netdev_max_backlog = 262144
  #限制仅仅是为了防止简单的DoS 攻击
  net.ipv4.tcp_max_orphans = 3276800
  #未收到客户端确认信息的连接请求的最大值
  net.ipv4.tcp_max_syn_backlog = 262144
  net.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 连接
  net.ipv4.tcp_tw_reuse = 1
  net.ipv4.tcp_mem = 94500000 915000000 927000000
  net.ipv4.tcp_fin_timeout = 1
  #当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时
  net.ipv4.tcp_keepalive_time = 30
  #允许系统打开的端口范围
  net.ipv4.ip_local_port_range = 1024 65000
  #修改防火墙表大小,默认65536
  #net.netfilter.nf_conntrack_max=655350
  #net.netfilter.nf_conntrack_tcp_timeout_established=1200
  # 确保无人能修改路由表
  net.ipv4.conf.all.accept_redirects = 0
  net.ipv4.conf.default.accept_redirects = 0
  net.ipv4.conf.all.secure_redirects = 0
  net.ipv4.conf.default.secure_redirects = 0
  使其生效
[root@bogon sysctl.d]# sysctl -p

  4)简化开机服务
  这个暂时先不搞
  5)做个快捷设置网络脚本
  先配置下centos7的网络  首先使用ip命令查看下状态
[root@localhost network-scripts]# ip addr

  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
  valid_lft forever preferred_lft forever
  2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  link/ether 00:0c:29:36:ff:fd brd ff:ff:ff:ff:ff:ff
  inet 192.168.0.101/24 brd 192.168.0.255 scope global ens33
  valid_lft forever preferred_lft forever
  3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
  link/ether 52:54:00:bd:63:40 brd ff:ff:ff:ff:ff:ff
  inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
  valid_lft forever preferred_lft forever
  4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
  link/ether 52:54:00:bd:63:40 brd ff:ff:ff:ff:ff:ff
  上面出现了3和4.这个我不知道是怎么回事,网上查了下,有干掉的办法,贴出来如下
  怎么多出来3和4,virbr0这个东西出现了,上网一查,原来是做虚拟机网桥的。难怪防火墙又是添加对virbr0的NAT规则,又是添加转发规则的。
网上很多说卸载了就好,yum remove libvirt,很遗憾,卸载了也没有用。

  还有说改rhnplugin.conf文件的,我在/etc/yum/plugincon.d/就没找到这个文件,也许是centos7的原因吧。反正是搞不定。
  查来查去,还是有人搞定的。
  

  [root@localhost protected.d]# brctl show
  bridge name    bridge id        STP enabled    interfaces
  virbr0        8000.525400bd6340    yes        virbr0-nic
  查看果然有网桥存在,竟然还支持STP,有鸡毛用啊。
  

  [root@localhost protected.d]# virsh net-list
   Name                 State      Autostart     Persistent
  ----------------------------------------------------------
   default              active     yes           yes
  列表一下看看,还是自动启动的,真烦人。
  

  

  [root@localhost protected.d]# virsh net-destroy default
  Network default destroyed
  默认强制停止
  

  [root@localhost protected.d]# virsh net-undefine default
  Network default has been undefined
  默认为未定义
  

  [root@localhost protected.d]# systemctl restart  libvirtd.service
  不过这个命令真不好,啥提示都没,还不如用service libvirtd restart,起码给点反应,虽然也没啥用。
  

[root@localhost protected.d]# virsh net-list

  Name                 State      Autostart     Persistent
  ----------------------------------------------------------
[root@localhost protected.d]# brctl show

  bridge name    bridge id        STP enabled    interfaces
[root@localhost protected.d]# ip addr

  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
  valid_lft forever preferred_lft forever
  2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
  link/ether 00:0c:29:36:ff:fd brd ff:ff:ff:ff:ff:ff
  inet 192.168.0.10/24 brd 192.168.0.255 scope global ens33
  valid_lft forever preferred_lft forever
[root@localhost protected.d]# ^C

  

  在用virsh net-list看看,没啥了
brctl show也没啥了

  ip add也没有多出来的两个网卡了
  到这里看起来就正常多了,最后配置下
  vi /etc/sysconfig/network-scripts/ifcfg-ens33
  TYPE="Ethernet"
  BOOTPROTO=static
  DEFROUTE="yes"
  IPV4_FAILURE_FATAL="no"
  IPV6INIT="yes"
  IPV6_AUTOCONF="yes"
  IPV6_DEFROUTE="yes"
  IPV6_FAILURE_FATAL="no"
  IPV6_ADDR_GEN_MODE="stable-privacy"
  NAME=ens33
  UUID="06ce2307-5a1c-4624-8a7a-f1ba1fd87458"
  DEVICE=ens33
  ONBOOT="yes"
  DNS1=202.102.224.68
  IPADDR0=192.168.0.10
  PREFIX=24
  GATEWAY0=192.168.0.1
  IPV6_PEERDNS=yes
  IPV6_PEERROUTES=yes
  IPV6_PRIVACY=no
备注:红色字体为修改添加的部分  蓝色字体是不能随便修改的部分,曾试过修改后无法重启网络,而且在当前文件夹下如果有第三个网络配置文件也是无法重启的。
  重启网络(有几种重启的方法,centos7推荐使用的是下面的方式,而且使用久方式可能会给你转发请求到此命令   无返回值即为最好的结果)
[root@bogon network-scripts]# systemctl restart network.service

[root@bogon network-scripts]#

  基本上完成以上操作既可以正常使用了,我使用此模板作为克隆源,所以写一个简单的脚本来方便的进行ip修改>>>>>
  编写脚本:
  创建一个脚本目录并创建一个简单的更换ip的脚本
[root@bogon /]# mkdir /home/snail/scripts

[root@bogon /]# cd /home/snail/scripts

[root@bogon scripts]# touch ipcrt:wq

[root@bogon scripts]# chmod +x ipcrt

[root@bogon scripts]# vi ~/.bashrc

  # .bashrc
  # User specific aliases and functions
  alias rm='rm -i'
  alias cp='cp -i'
  alias mv='mv -i'
  # Source global definitions
  if [ -f /etc/bashrc ]; then
  . /etc/bashrc
  fi
  #这里要注意,要把环境变量写入这个文件下,不然重启失效
  PATH="/home/snail/scripts:$PATH"
[root@bogon scripts]# ll

  total 0
  -rwxr-xr-x 1 root root 0 Aug 29 15:42 ip_create.sh
[root@bogon scripts]# vi ipcrt

  没有进行参数校验,需要注意,参数必须写正确,否则会出问题。
  #! /bin/sh
  sed -i '/IPADDR.*/d' /etc/sysconfig/network-scripts/ifcfg-ens33
  echo 'IPADDR0'=$1>>/etc/sysconfig/network-scripts/ifcfg-ens33
  systemctl restart network.service
  改版之后的脚本
  [root@bogon scripts]# cat ipcrt
  #! /bin/bash
  

  #对参数进行判断
  case "$1" in
      --help)
          echo "please enter an IP address !"
          echo "Scope in 192.168.0.10 - 192.168.0.99";;
      *)
          if [[ ${#1} -eq 12 ]];then
              sed -i '/IPADDR.*/d' /etc/sysconfig/network-scripts/ifcfg-ens33
              echo 'IPADDR0'=$1>>/etc/sysconfig/network-scripts/ifcfg-ens33
              systemctl restart network.service
              sleep 1
              echo "ip changed ok!"
          else
              echo "error:input error!"
              echo 'please enter a "--help" view the help information!'
          fi
      ;;
  esac
  创建一个更换主机名的脚本(只适用centos7)
  #! /bin/bash
  

  hostnamectl set-hostname $1
  

  sed -i '/127.0.0.1*/d' /etc/hosts
  

  echo "127.0.0.1   " $1  $1 >>/etc/hosts
  

  6)更换yum源
  默认使用的是sohu源,看了下里面貌似只支持4,5的版本,所以更改为163的源 地址:mirrors.163.com
[root@bogon ~]# cd /etc/yum.repos.d/

[root@bogon yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.old

[root@bogon yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

  ......
[root@bogon yum.repos.d]# mv CentOS7-Base-163.repo CentOS-Base.repo

[root@bogon yum.repos.d]# yum clean all

[root@bogon yum.repos.d]# yum makecache

  7)时间同步
  查看系统时间
[root@bogon ~]$ date

  Mon Aug 28 23:05:20 PDT 2017
  查看时区并修改
  [root@bogon ~]# date -R                         (方法1)
  Mon, 28 Aug 2017 23:12:35 -0700
  [root@bogon ~]# date +%z                        (方法2)
  -0700
[root@bogon ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  cp: overwrite ‘/etc/localtime’? y
  安装时间同步工具
[root@bogon ~]# yum -y install ntp ntpdate

  同步时间
[root@bogon ~]# ntpdate cn.pool.ntp.org

  设置定时更新时间任务
[root@bogon ~]# echo '*/10 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449990-1-1.html 上篇帖子: centos7中systemctl 对系统服务的控制 下篇帖子: CentOS7下yum安装mysql5.6
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表