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
Первичные шаги
Коротко
- yum update
- yum install mc joe bind-utils man traceroute htop iftop net-tools telnet tcpdump
- reboot
- Проверияем таймзону
- Возвращаемся к iptables
Статический роут
Создаем файл /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