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

ubuntu xl2tp ppp0 неправильно обрабатывает флаг DF (пакет поврежден) при отправке пакетов> определенный MTU

При попытке настроить сервер Ubuntu Linux в качестве клиента для сервера l2tp / IPSEC я замечаю несоответствия при попытке отправить данные.

Туннель / VPN правильно устанавливает соединение / рукопожатие, и с клиента я могу пинговать / ssh на все машины, как и ожидалось.

Я заметил проблему при попытке отправить данные с клиента на удаленный компьютер при использовании scp.

Могу без проблем скопировать / получить что угодно:

scp user@vpn:/tmp/test.file

Но если я попытаюсь отправить данные, а размер отправляемого файла> vpn MTU (1280):

scp /tmp/test.file user@vpn:/tmp

Я получаю "Пакет поврежден"сообщение.

Безуспешно я попробовал это: ethtool -K eth0 tx off

Используя tcpdump, я заметил, что все исходящие пакеты независимо от размера содержат флаг DF, по какой-то причине пакеты, проходящие через интерфейс ppp0, не фрагментированы.

Я использую следующую конфигурацию:

ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1280
mru 1280
defaultroute
usepeerdns
debug
lock
connect-delay 5000

Некоторые журналы, которые я получаю:

pppd[26423]: sent [LCP EchoReq id=0x1 magic=0x4501dc87]
pppd[26423]: rcvd [LCP EchoRep id=0x1 magic=0xd6736575]

Если я отправляю файлы кусками больше, чем MTU:

pppd[12603]: Protocol-Reject for unsupported protocol 0xb8af
pppd[12603]: rcvd [LCP ProtRej id=0x8 ...]

Чтобы решить эту проблему, используйте rsync и ограничьте исходящую пропускную способность:

rsync -vvv --bwlimit=16 -P -e "ssh -i ssh_key.pem" /tmp.test.file user@vpn:/tmp

Другие клиенты, работающие под управлением iOS / OS X из той же сети, вообще не имеют проблем, оба могут отправлять / получать данные без каких-либо проблем, поэтому я не подозреваю о проблеме с сервером VPN.

Есть идеи или возможные патчи для решения этой проблемы?