Table of Contents

Быстрые заметки по Centos 7

Репозиторий для обновления после EOL

Сentos 7 все, обновляться хочется.
AlmaLinux это в каком-то смысле продолжние centos, сделано на баже RH.

Скачиваем файл Base репозитория со ссылкой AlmaLinux.

curl -o /etc/yum.repos.d/CentOS-Base-ALMALINUX.repo https://el7.repo.almalinux.org/centos/CentOS-Base.repo

Cтарый Base отключаем.

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.off

Дальше пробуем обновиться, “yum update”.

Включить ntp-клиента

timedatectl set-ntp true

Статический роут

[root@krv-tcpdump01 network-scripts]# cat /etc/sysconfig/network-scripts/route-eth1
10.0.0.0/24 via 10.10.0.1

Первичные шаги

Коротко

Статический роут

Создаем файл /etc/sysconfig/network-scripts/route-ethNUMBER и в него пишем роут формата:

10.150.4.0/24 via 10.150.3.1

Дальше перегружаемся или перезапускаем сеть.

[root@brv-iperf3 ~]# systemctl restart network

Поменять имя сервера

За работу с именами серверов в Centos7 отвечает команда hostnamectl.

Посмотреть текущее имя.

[root@server1 ~]# hostnamectl status
   Static hostname: server1.mykb.ru
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8c84290936664aa59edb412c14763712
           Boot ID: 6748236f607b4502a56285c7e42229a9
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.26.2.el7.x86_64
      Architecture: x86-64

Меняем имя на server2.mykb.ru.

[root@server1 ~]# hostnamectl set-hostname server2.mykb.ru --static
[root@server1 ~]# hostnamectl status
   Static hostname: server2.mykb.ru
Transient hostname: server1.mykb.ru
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8c84290936664aa59edb412c14763712
           Boot ID: 6748236f607b4502a56285c7e42229a9
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.26.2.el7.x86_64
      Architecture: x86-64

После перезагрузки, временное имя (Transient hostname) уйдет.

[root@server2 ~]# hostnamectl status
   Static hostname: server2.mykb.ru
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8c84290936664aa59edb412c14763712
           Boot ID: f798ff0cfb1646768d03ae0822003380
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-514.26.2.el7.x86_64
      Architecture: x86-64

Полезные материалы:

Установка TimeZone в Centos 7

Посмотреть текущую таймзону.

[root@noc1 bin]#  timedatectl  status
      Local time: Пн 2017-07-24 07:28:58 CDT
  Universal time: Пн 2017-07-24 12:28:58 UTC
        RTC time: Пн 2017-07-24 07:28:58
       Time zone: America/Chicago (CDT, -0500)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: yes
      DST active: yes
 Last DST change: DST began at
                  Вс 2017-03-12 01:59:59 CST
                  Вс 2017-03-12 03:00:00 CDT
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Вс 2017-11-05 01:59:59 CDT
                  Вс 2017-11-05 01:00:00 CST

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

Посмотреть список таймзон.

[root@noc1 bin]# timedatectl list-timezones 
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
...

Задать таймзону.

[root@noc1 bin]# timedatectl set-timezone Europe/Moscow 
[root@noc1 bin]# date
Пн июл 24 15:35:17 MSK 2017
[root@noc1 bin]# timedatectl status
      Local time: Пн 2017-07-24 15:35:11 MSK
  Universal time: Пн 2017-07-24 12:35:11 UTC
        RTC time: Пн 2017-07-24 15:35:12
       Time zone: Europe/Moscow (MSK, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: yes
      DST active: n/a

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

Возвращаемся к iptables в Centos 7

За функционал файрвола отвечает пакет netfilter к которому есть утилиты управления.
Раньше это был iptable, сейчас в Centos 7 по дефолту сделали утилиту firewalld.
С новой утилитой особо не разбирался, решил вернуться к iptables.

Iptables входит в состав пакета iptables-service, его надо поставить.

[root@leela sysconfig]# yum install iptables-services
...
Resolving Dependencies
--> Running transaction check
---> Package iptables-services.x86_64 0:1.4.21-17.el7 will be installed
--> Finished Dependency Resolution
...

После установки в /etc/sysconfig/ появится файл iptables:

[root@leela sysconfig]# cat /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Останавливаем firewald.

[root@leela sysconfig]# systemctl stop firewalld 

Запускаем iptables.

[root@leela sysconfig]# systemctl start iptables
[root@leela sysconfig]# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
   Active: active (exited) since Вс 2017-06-11 18:31:00 MSK; 8s ago
  Process: 9968 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 9968 (code=exited, status=0/SUCCESS)

июн 11 18:31:00 leela.ermoshin.pro systemd[1]: Starting IPv4 firewall with iptables...
июн 11 18:31:00 leela.ermoshin.pro iptables.init[9968]: iptables: Applying firewall rules: [  OK  ]
июн 11 18:31:00 leela.ermoshin.pro systemd[1]: Started IPv4 firewall with iptables.

Отключаем автоматический запуск firewalld.

[root@leela sysconfig]# systemctl disable firewalld
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Отключаем возможность ручного запуска firewalld.

[root@leela sysconfig]# systemctl mask firewalld 
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.

Включаем автоматический запуск iptables после перезагрузки.

[root@leela sysconfig]# systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.

Проверяем какие правлила iptables загруpились.

[root@leela sysconfig]# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

Дальше правим iptables как обычно и перезапускаем командой “systemctl restart iptables”.

ip6tables

Стандартные правила ip6tables.

[root@leela sysconfig]# cat /etc/sysconfig/ip6tables
# sample configuration for ip6tables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -d fe80::/64 -p udp -m udp --dport 546 -m state --state NEW -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
COMMIT

Если использовать ipv6 не планируем, то правим /etc/sysconfig/ip6tables след. образом.

# sample configuration for ip6tables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT DROP [0:0]  
:FORWARD DROP [0:0]  
:OUTPUT DROP [0:0]  
-A INPUT -j DROP 
-A OUTPUT -j DROP 
-A FORWARD -j DROP 
COMMIT

Перезапускаем ip6tables, проверяем и включаем автозапуск.

[root@leela sysconfig]# systemctl restart ip6tables
[root@leela sysconfig]# ip6tables -S
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-A INPUT -j DROP
-A FORWARD -j DROP
-A OUTPUT -j DROP
[root@leela sysconfig]# systemctl enable ip6tables
Created symlink from /etc/systemd/system/basic.target.wants/ip6tables.service to /usr/lib/systemd/system/ip6tables.service.

Отключить ipv6 на Centos 7

В файл /etc/sysctl.conf добавляем след. строки:

# Disable ipv6 on this server 
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Применяем изменения:

[root@leela etc]# sysctl -p
...
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
...

После этого еще надо отключить ipv6 у сервисов - ssh, почта, ntp и т.д.

ifconfig

Ifconfig поставляется в составе пакета net-tools

[root@leela ~]# yum install net-tools
...
Resolving Dependencies
--> Running transaction check
---> Package net-tools.x86_64 0:2.0-0.17.20131004git.el7 will be installed
--> Finished Dependency Resolution
...

Посмотреть и сбросить arp таблицу в Centos 7

В минимальной версии дистрибутива нет привычной команды “arp”.
Посмотреть таблицу arp можно командой “ip neig show”
Сбросить таблицу можно командой “ip -s -s neigh flush all”

Посмотреть ip адрес и настройки интерфейсов на Centos 7

В минимальной версии дистрибутива нет привычной команды “ifconfig”.
Посмотреть текущий ip адрес можно командой “ip addr”.

[root@monitor1 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    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
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:da:8c:10 brd ff:ff:ff:ff:ff:ff
    inet 192.168.xxx.16/24 brd 192.168.13.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feda:8c10/64 scope link
       valid_lft forever preferred_lft forever

Конфиг интерфейса лежит на прежнем месте - “/etc/sysconfig/network-scripts/ens160”.
Поднять интерфейс - “ifup ens160”.

Настройки инфтрейса можно посмотреть командой “ip list”.

[root@leela ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:dc:52:59 brd ff:ff:ff:ff:ff:ff

Статистику по интерфейсам - “ip -s link”

[root@leela ~]# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    0          0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    0          0        0       0       0       0       
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 52:54:00:dc:52:59 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    25672098   7883     0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    727452     6806     0       0       0       0