У меня есть сервер, ноутбук, настольный компьютер и домашний маршрутизатор, подключенный к гигабитному коммутатору. Моя проблема в том, что сервер имеет ограниченную пропускную способность для сети 192.168.1.0/24 . Эта проблема отсутствует при использовании локальных IPv6-адресов или когда клиент - например, ноутбук или настольный компьютер - подключается к серверу из Интернета.

Я исключил возможность того, что проблема была вызвана клиентом, поскольку все клиенты демонстрируют одинаковое поведение.

Моя настройка;

  1. имеет два сегмента сети, 192.168.1.0/24 и интернет
  2. все мои устройства напрямую подключены к одному коммутатору
  3. все мои устройства имеют IP в диапазоне 192.168.1.0/24
  4. Интернет может быть достигнут через шлюз - маршрутизатор на 192.168.1.1 , NAT явно присутствует
  5. нет IPv6, кроме локальных ссылок, которые автоматически настраиваются
  6. нет других устройств, таких как брандмауэр

Здесь я продемонстрирую свою проблему, запустив iperf на сервере в режиме клиента, используя флаг -c .

[user@srv ~]$ iperf3 -c 192.168.1.115
Connecting to host 192.168.1.115, port 5201
[  4] local 192.168.1.40 port 47062 connected to 192.168.1.115 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   853 KBytes  6.98 Mbits/sec    0   59.4 KBytes # Only 6,98 Mbits/sec!
...

[user@srv ~]$ iperf3 -c fe80::[redacted]%eth0
Connecting to host fe80::[redacted]%eth0, port 5201
[  4] local fe80::[redacted] port 36236 connected to fe80::[redacted] port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   111 MBytes   929 Mbits/sec    0    225 KBytes
...
[user@srv ~]$ 

Пожалуйста, обратите внимание;

  1. как соединение с клиентом (в данном случае с сервером iperf) в сети 192.168.1.0/24 очень низкую пропускную способность.
  2. как использование локальных адресов IPv6 не демонстрирует эту проблему.
  3. как ни один клиент IPv4, подключающийся из Интернета, не сталкивается с этой проблемой.

Сервер iperf, дает мне эквивалентные результаты. Это говорит мне о том, что ограничение пропускной способности, является симметричным.

Я запустил iperf между ноутбуком и рабочим столом, используя IPv4, без проблем. Это исключает вероятность ошибки коммутатора, каналов или устройств.

Все указывает на сервер. Я не могу вспомнить настройку какого-либо формирования трафика на нем.

На сервере работает CentOS 7, настольный компьютер Windows 10 и ноутбук Fedora 26.

Что примечательно в сети 192.168.1.0/24 это то, что брандмауэр серверов настроен так:

# firewall-cmd --zone=public --add-interface=eth0
# firewall-cmd --zone=home --add-source=192.168.1.0/24

Я не думаю, что такое простое правило может привести к таким ужасным результатам. Я попытался отключить firewalld:

# systemctl stop firewalld

Без удачи. Я думаю, что это исключает возможность того, что проблема вызвана iptables.

netstat -i ничего не показывает, физические ссылки в порядке.

Я запускаю libvirt, я знаю, что он имеет возможность контролировать iptables. Существуют сегменты виртуальной сети, такие как 192.168.122.0/24, которые получают natted/routed/dhcp Обслуживается /dnsmasq'ed libvirtd. Я считаю, что это не имеет значения, так как таблица маршрутизации сервера верна. Я также попытался остановить все виртуальные машины и связанные с ними сети в libvirt. Без удачи.

Я запустил # iptables -L создал список из 197 строк, правила были правильными. Чтобы достичь «домашней» зоны, входящий пакет должен сравниваться по 12 правилам. Затем пакет будет сопоставлен с правилами, определенными в зоне, в «домашней» зоне 6 правил. Нет правил, фильтрующих цепочку OUTPUT. Я исключил iptables.

Я понятия не имею, что мне делать дальше?

1 ответ1

0

Я сейчас решил эту проблему.

Я удалил соединение eth0 в NetworkManager:

# nmcli connection delete id eth0

А потом создали эквивалентную замену, теперь все работает как положено.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .