Сетевые настройки в centos 8, 7
Содержание:
Введение
В нашем распоряжении будет следующий сервер для настройки шлюза:
# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core)
Использовался образ minimal для установки CentOS 7. Если вы еще не выполнили установку, рекомендую воспользоваться моим материалом на эту тему. На сервере две сетевые карты eth0 и eth1:
- eth0 подключена к интернету
- eth1 подключена к локальной сети вместе с компьютерами
В данной статье мы выполним необходимые предварительные настройки на сервере, включим nat, настроим firewall и установим средство мониторинга сетевой активности.
Если у вас недостаточно опыта и вы не чувствуете в себе сил разобраться с настройкой шлюза самому с помощью консоли сервера — попробуйте дистрибутив на основе centos для организации шлюза и прокси сервера в локальной сети — clearos. С его помощью можно через браузер настроить весь необходимый функционал. В отдельной статье я подробно рассказал о настройке clearos.
IPv6 и баг YUM в CentOS
Натолкнулся тут на занятный баг пакетного инсталлера yum для CentOS. Связан он с использованием системой IPv6. Надо заметить, что лечиться он должен одной строкой в конфиге yum. Но это в теории.
На деле же все выглядело несколько иначе.
Понадобилось тут поставить один пакет на сервер где крутились прокси IPv6. Много прокси. Штук так 100тыщ. Так что сервер немного был под напряжением, причем со слов владельца этого хозяйства, останавливать процесс было сложно.
При попытке сказать yum install установщик начинал дико материтьсяDetermining fastest mirrorsCould not retrieve mirrorlist http://mirrorlist.centos.org/?release error was14: PYCURL ERROR 7 – “Failed to connect to 2a02:2498:1:3d:5054:ff:fed3:e91a: Network is unreachable”Error: Cannot find a valid baseurl for repo: base
и дальше сыпал ошибками, говорящими о том, что он не может получить пакеты при обращении по адресу IPv6.
Тут надо заметить, что до этого сервер работал с полгода и никаких проблем с установкой доп.пакетов не возникало. А тут вдруг что то перестал корректно работать.
Причем, при пинге указанных хостов, они резолвились IPv4 адресами, т.е гуглеDNS указанный в /etc/resolv.conf отрабатывал нормально.
Маны говорят о том, что конфиг установщика /etc/yum.conf необходимо прописать директиву использование IPv4ip_resolve=4
и возможно кому то это помогает, но только не мне, т.к ошибка оставалась как при запуске простого yum, так и с принудительным указанием конфига# yum –config=/etc/yum.conf
т.к закралась мыcль, что возможно он просто не отрабатывается.
Помимо этого перепробовал прописывать репы в hosts, менять настройки реп, но это ничего не помогало. Так что оставался единственный вариант – отрубить IPv6 на системе.
Делается это через добавление в ядро двух директивnet.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1
либо добавлением в /etc/sysctl.conf и его рестарте sysctl -p или же путем добавления сразу в ядро:# sysctl -w net.ipv6.conf.all.disable_ipv6 = 1# sysctl -w net.ipv6.conf.default.disable_ipv6 = 1
но что интересно, в моем случае, yum не работал до того момента, как я не стопарнул все процессы прокси, т.к не смотря на то, что все маршруты и IPv6 выгрузились, yum возвращал ту же самую ошибку по IPv6.
VN:F
please wait…
Rating: 1.9/10 (8 votes cast)
VN:F
Rating: -2 (from 2 votes)
IPv6 и баг YUM в CentOS, 1.9 out of 10 based on 8 ratings
Анализ сетевой активности на шлюзе в linux
В данной конфигурации шлюз может успешно функционировать. Но иногда хочется посмотреть, а что вообще на нем происходит. Например, кто-то занимает весь канал, интернет тормозит, а мы как слепые котята сидим и не видим ничего. Нужно какое-то средство для просмотра загрузки сети на шлюзе. И такое средство есть — программа iftop.
Она отсутствует в стандартном репозитории CentOS 7. Для ее установки необходимо подключить репозиторий epel:
# yum -y install epel-release
Устанавливаем iftop на CentOS 7:
# yum -y install iftop
Теперь мы можем смотреть загрузку сети на шлюзе в режиме реального времени. Чтобы увидеть сетевую активность, достаточно запустить iftop:
# iftop
По-умолчанию она слушает интерфейс eth0. Это внешний интерфейс шлюза, на нем все подключения будут отображены от имени самого шлюза и определить, кто же в сети занимает канал мы не сможем. Чтобы это увидеть, необходимо запустить просмотр сетевой активности на локальном интерфейсе. Сделать это не сложно, достаточно запустить iftop с параметром:
# iftop -i eth1 -P
Теперь уже гораздо интереснее. Я еще добавил параметр -P, который отображает порты, по которым проходят соединения. Посмотрим, кто больше всех загружает канал интернета:
В моем случае это пользователь с ip 192.168.10.98, на котором я запустил проверку скорости интернета с серверов Яндекса.
Если у вас не большая сеть и не много пользователей, то с помощью этой простой и эффективной утилиты вы сможете легко определить, кто, к примеру, качает торренты или чем-то еще загружает канал.
Network Manager в CentOS
В CentOS по-умолчанию имеется служба, которая управляет всеми сетевыми подключениями — NetworkManager. Она постоянно контролирует сетевые настройки и с помощью демона по управлению конфигурациями вносит соответствующие изменения в активные сетевые устройства. Она поддерживает стандартные файлы конфигураций ifcfg.
Список сетевых утилит и приложений:
Приложение | Описание |
---|---|
NetworkManager | Стандартный networking daemon |
nmtui | Простой текстовый интерфейс (TUI) для NetworkManager |
nmcli | Утилита, работающая в командной строке, которая позволяет пользователям и скриптам взаимодействовать с NetworkManager |
control-center | Утилита с графическим интерфейсом оболочки GNONE |
nm-connection-editor | GTK+ 3 приложения, необходимые для некоторых задач, не поддерживаемых control-center |
Пользователи не взаимодействуют с NetworkManager в CentOS напрямую, для этого используются графические и утилиты командной строки. Одной из таких утилит является system config network tui. В Centos 8 по-умолчанию NetworkManager является рекомендованным способом по настройке сети. Все остальные способы объявлены deprecated.