Подготовка системы CentOS к установке сервисов. Конечно это самое малое, что необходимо сделать и для системы хостинга почты и хостинга сайтов настройка будет сильно различаться в дальнейшем
1 2 3 4 5 6 7 8 9 10 |
yum clean all yum -y update yum install epel-release yum install htop zip mc wget sudo nmtui bzip2 net-tools bind epel-release bzip2 bind-utils -y nmcli general hostname mail.server.ru systemctl restart systemd-hostnamed hostnamectl status |
Отключим IPv6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6 sysctl -w net.ipv6.conf.all.disable_ipv6=1 sysctl -w net.ipv6.conf.default.disable_ipv6=1 vi /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 vi /etc/sysctl.d/00-disableipv6.conf net.ipv6.conf.all.disable_ipv6 = 1 #Если необходимо только на определенном интерфейсе #net.ipv6.conf.eth0.disable_ipv6 = 1 vi /etc/sysconfig/network NETWORKING_IPV6=no IPV6INIT=no |
SSH
1 2 3 4 5 6 |
vi /etc/ssh/sshd_config AddressFamily inet ListenAddress 0.0.0.0 |
При отключении IPv6 возможны проблемы с запуском Postfix
1 2 3 4 5 |
#inet_interfaces = localhost inet_interfaces = 127.0.0.1 |
Настроим iptables
1 2 3 4 5 6 7 |
systemctl stop firewalld systemctl disable firewalld yum -y install iptables-services systemctl restart iptables.service systemctl enable iptables.service |
Хитрый кунштюк для более быстрой работы swap. elevator=noop только для виртуалок, для физической машины elevator=deadline
1 2 3 4 |
sed -i 's/rhgb quiet/zswap.enabled=1 zswap.max_pool_percent=30 elevator=noop transparent_hugepage=never/' /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg |
Так в SSH логиниться можно быстрее
1 2 3 4 |
sed -i 's/^#\?UseDNS yes/UseDNS no/' /etc/ssh/sshd_config systemctl restart sshd |
Небольшой тюнинг сети
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
cat << EOF > /etc/sysctl.d/60-tcp.conf net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_wmem = 4096 12582912 16777216 net.ipv4.tcp_rmem = 4096 12582912 16777216 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_no_metrics_save = 1 net.core.netdev_max_backlog = 5000 net.ipv4.tcp_congestion_control = hybla net.core.default_qdisc = fq_codel net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_tw_recycle = 0 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_rfc1337 = 1 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.ip_local_port_range = 2048 65535 net.netfilter.nf_conntrack_tcp_timeout_established=7200 net.ipv4.tcp_fin_timeout=30 net.core.somaxconn=2048 net.ipv4.tcp_max_syn_backlog = 8096 EOF |
Здесь параметры dirty, оптимизированные для СУБД
1 2 3 4 5 6 7 8 9 |
cat << EOF > /etc/sysctl.d/70-vm.conf vm.dirty_ratio = 0 vm.dirty_background_ratio = 0 vm.dirty_bytes = 134217728 vm.dirty_background_bytes = 33554432 vm.swappiness = 30 EOF |
Отключение SELinux
1 2 3 |
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux |
Если не помогает, то передаем параметр ядру selinux=0
1 2 3 4 |
linux16 /vmlinuz-3.10.0-957.5.1.el7.x86_64 root=/dev/mapper/centos_node-root ro rd.lvm.lv=centos_node/root zswap.enabled=1 zswap.max_pool_percent=30 elevator=noop transparent_hugepage=never LANG=ru_RU.UTF-8 selinux=0 |
Запретить BASH дублировать вводимые команды
1 2 3 4 5 6 7 |
cat << EOF >> ~/.bashrc HISTCONTROL=ignoredups HISTCONTROL=erasedups EOF bash |