
Я не могу получить доступ к нескольким сайтам, например, slack.com. Поэтому я поискал информацию об этом и обнаружил, что в моей системе Ubuntu 16.04 есть проблема, связанная с MTU. Попробовав несколько ping-запросов, я обнаружил, что пакеты данных размером 1497 или больше не отправляются. Поэтому для перенастройки MTU я использовал
sudo ifconfig enp7s0 mtu 1497
Но как только я выполняю эту команду, мое интернет-соединение отключается и не может подключиться дальше. Я использую DSL-соединение.
Пожалуйста, дайте несколько предложений по решению этой проблемы.
решение1
Перезагрузите компьютер, чтобы вернуть исходный размер MTU (1500) ... или попробуйте установить его с помощью sudo ifconfig enp7s0 mtu 1500
..., чтобы восстановить netaccess.
Если только у вас нет неподдерживаемых/неправильно настроенных настроек vlan, MTU не должен быть проблемой. MTU согласовывается между каждым набором компьютеров и маршрутизаторов в сети, и пакеты разбиваются на размеры, соответствующие MTU в процессе передачи.
решение2
Ваша проблема связана с настройкой MTU для вашего DSL-подключения.
В сетевой конфигурации Ubuntu есть настройка MTU, а в маршрутизаторе — настройка WAN MTU.
Для DSL общепринятым значением MTU является 1492. Просто попробуйте сначала это значение и посмотрите, будут ли теперь доступны ваши веб-сайты.
Чтобы определить правильную настройку, начните со всех настроек MTU = 1500 и VPN = выключено. (VPN требует другого тестирования).
В терминале:
ping [-c count] [-M do] [-s packet_size] [host]
Используемые варианты:
c count
: количество раз для пингаM hint
: Выберите стратегию обнаружения MTU пути. Может бытьdo
(запретить фрагментацию, даже локальную),want
(выполнить обнаружение PMTU, фрагментировать локально, если размер пакета большой) илиdont
(не устанавливать флаг DF).s packet_size
: Указывает количество байтов данных, которые необходимо отправить.
Всегда следует начинать с 1472 и уменьшать на 10 каждый раз. Получив ответ, увеличивайте на 1, пока не получите фрагментированный пакет. Возьмите это значение (последнее хорошее значение) и добавьте 28 к значению, чтобы учесть различные заголовки TCP/IP. Например, предположим, что 1452 — это правильный размер пакета (когда вы впервые получили ответ ICMP на свой ping). Фактический размер MTU будет 1480, что является оптимальным для сети, с которой мы работаем.
ping -c 4 -M do -s 1472 8.8.8.8 # this will probably show fragmentation
ping -c 4 -M do -s 1462 8.8.8.8 # may show fragmentation
ping -c 4 -M do -s 1452 8.8.8.8 # no fragmentation?
ping -c 4 -M do -s 1453 8.8.8.8 # still no fragmentation?
ссылка:Как определить правильный размер MTU с помощью ICMP-пингов