Назад | Перейти на главную страницу

Проблемы с VPN: MTU и не фрагментировать

Я настраиваю VPN на Ubuntu 14.04LTS, который использует IPSEC и выполняет NAT для клиентов. Он в основном работает - я могу подключиться к нему с клинета (устройства Android) и просмотреть (например) www.google.com.

Однако я не могу просматривать www.bbc.co.uk. Когда я пробую, мой VPN-сервер получает ответ от www.bbc.co.uk с установленным битом запрета фрагментации и отбрасывает его. Wireshark показывает многие из них:

119 7.904053000 212.58.246.95  MY.IP.MY.IP    TCP   1414    [TCP segment of a reassembled PDU]
120 7.904094000 MY.IP.MY.IP    212.58.246.95  ICMP  590     Destination unreachable (Fragmentation needed)

Выполнив эхо-запрос моего клиента с сервера VPN, я убедился, что его MTU составляет около 1380. MTU сервера VPN составляет 1500.

Как это предполагаемый работать пожалуйста? MTU могут различаться, поэтому, если BBC настроен без фрагментации, пожалуйста, как с этим поступить?

Я бы предположил, что, если установлен параметр not-fragment, все должно согласиться с наименьшим общим MTU. Могу ли я определить, кто плохо себя ведет?

Проблема оказалась в том, что брандмауэр (не Ubuntu ufw, а брандмауэр за пределами моего сервера, предоставленный нашим ИТ-отделом) не пропускал пакеты ICMP.

Как только это было включено, обнаружение пути MTU (или что-то еще) начало работать, и все в порядке.