Всем доброго времени суток!
Ситуация следующая:
Есть локальная сеть 10.20.20.0/32, в этой сети хост А (10.20.20.1) является роутером на базе Ubuntu Server 10.11. Хост А раздает остальным хостам в этой сети Интернет и является для них шлюзом по умолчанию. Также на хосте А поднят OpenVPN сервер, который слушает подключения на своем внешнем интерфейсе (8.8.8.251), подключившимся клиентам выдаюстя адреса из пула с адресным пространством 10.20.21.2-250 и клиентам подключившимся из вне становится доступной локальная сеть 10.20.20.0 (IP-адрес tap интерфейса на Хосте А — 10.20.21.1)
На Хосте А работает FTP – сервер (vsftpd) он слушает подключения на локальном интерфейсе Хоста А (10.20.20.1), т. е. доступен для машин внутри локальной сети 10.20.20.0, а также клиентам которые подключаются по OpenVPN. На этом этапе все работает замечательно.
Однако...
В локальной сети 10.20.20.0 есть Хост Б (10.20.20.10) у которого три сетевых интерфейса: локальный (10.20.20.10), внешний (8.8.8.252) и tap-интерфейс 10.20.22.1. Хост Б получает интернет не от Хоста А, а самостоятельно. Хост А не является шлюзом по умолчанию для Хоста Б. (На Хосте Б — Ubuntu Server 11.04) На Хосте Б, также работает FTP-сервер, который слушает подключения на своем локальном интерфейсе (10.20.20.10), поднят OpenVPN сервер (слушает внешний интерфейс 8.8.8.252), клиенты подключившиеся к OpenVPN серверу получают адреса из пула с адресным пространством 10.20.22.2-250, и им становится доступна локальная сеть 10.20.20.0.
Проблема в следующем:
Если клиент подключается из вне по OpenVPN к Хосту А, то скорость приема/передачи данных от клиента к машинам в локальной сети (и наоборот) — нормальная. К примеру FTP-сервер на Хосте Б, и Хосте А отдает и принимает данные на скорости 100 Мб/с. Но если клиент подключается к OpenVPN серверу на Хосте Б, то скорость работы с FTP-сервером на Хосте Б — 100 Мб, а на Хосте А ~ 64Кб/с. (и с остальными машинами в локальной сети 10.20.20.0) Что режет скорость не могу понять...
>[оверквотинг удален]
> доступна локальная сеть 10.20.20.0.
> Проблема в следующем:
> Если клиент подключается из вне по OpenVPN к Хосту А, то скорость
> приема/передачи данных от клиента к машинам в локальной сети (и наоборот)
> — нормальная. К примеру FTP-сервер на Хосте Б, и Хосте А
> отдает и принимает данные на скорости 100 Мб/с. Но если клиент
> подключается к OpenVPN серверу на Хосте Б, то скорость работы с
> FTP-сервером на Хосте Б — 100 Мб, а на Хосте А
> ~ 64Кб/с. (и с остальными машинами в локальной сети 10.20.20.0) Что
> режет скорость не могу понять...а таблицы маршрутизации с А, Б и с машины из 10.20.20.0
> а таблицы маршрутизации с А, Б и с машины из 10.20.20.0Хост А
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
8.8.8.248 0.0.0.0 255.255.255.248 U 0 0 0 eth1
10.20.21.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
10.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.20.22.0 10.20.20.5 255.255.255.0 UG 0 0 0 eth0
0.0.0.0 8.8.8.254 0.0.0.0 UG 0 0 0 eth1Хост Б
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
8.8.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.20.21.0 10.20.20.1 255.255.255.0 UG 0 0 0 eth0
10.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.20.22.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
0.0.0.0 8.8.8.254 0.0.0.0 UG 0 0 0 eth1Хост В (мащина из локальной сети 10.20.20.0)
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
10.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 10.20.20.1 0.0.0.0 UG 0 0 0 eth0
>[оверквотинг удален]
> 0 eth0
> 10.20.22.0 10.20.20.5
> 255.255.255.0 UG
> 0 0
> 0 eth0
> 0.0.0.0 8.8.8.254
> 0.0.0.0
> UG 0
> 0 0
> eth1почему через 10.20.20.5 если "Хост Б (10.20.20.10)"
>[оверквотинг удален]
> 0 eth0
> 10.20.22.0 0.0.0.0
> 255.255.255.0 U
> 0 0
> 0 tap0
> 0.0.0.0 8.8.8.254
> 0.0.0.0
> UG 0
> 0 0
> eth1надеюсь на А и Б snat на eth0 не делали
>[оверквотинг удален]
> Таблица маршутизации ядра протокола IP
> Destination Gateway Genmask Flags MSS Window irtt Iface
> 10.20.20.0 0.0.0.0
> 255.255.255.0 U
> 0 0
> 0 eth0
> 0.0.0.0 10.20.20.1
> 0.0.0.0
> UG 0 0
> 0 eth0тут ответы в сторону Хоста Б пойдут через 10.20.20.1
>[оверквотинг удален]
>> 10.20.22.0 10.20.20.5
>> 255.255.255.0 UG
>> 0 0
>> 0 eth0
>> 0.0.0.0 8.8.8.254
>> 0.0.0.0
>> UG 0
>> 0 0
>> eth1
> почему через 10.20.20.5 если "Хост Б (10.20.20.10)"Хост А
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
8.8.8.248 0.0.0.0 255.255.255.248 U 0 0 0 eth1
10.20.21.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
10.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.20.22.0 10.20.20.10 255.255.255.0 UG 0 0 0 eth0
0.0.0.0 8.8.8.254 0.0.0.0 UG 0 0 0 eth1Хост Б
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
8.8.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.20.21.0 10.20.20.1 255.255.255.0 UG 0 0 0 eth0
10.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.20.22.0 0.0.0.0 255.255.255.0 U 0 0 0 tap0
0.0.0.0 8.8.8.254 0.0.0.0 UG 0 0 0 eth1Хост В (мащина из локальной сети 10.20.20.0)
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
10.20.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 10.20.20.1 0.0.0.0 UG 0 0 0 eth0Ситуация, со скоростью та-же.
>надеюсь на А и Б snat на eth0 не делали
Хост А - iptables
:PREROUTING ACCEPT [3046:348963]
:OUTPUT ACCEPT [1251:84940]
:POSTROUTING ACCEPT [741:44479]
-A PREROUTING -d 8.8.8.251/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 10.20.20.3
-A PREROUTING -d 8.8.8.251/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 10.20.20.3
-A PREROUTING -d 8.8.8.251/32 -p tcp -m tcp --dport 143 -j DNAT --to-destination 10.20.20.3
-A OUTPUT -d 8.8.8.251/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 10.20.20.3
-A OUTPUT -d 8.8.8.251/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 10.20.20.3
-A OUTPUT -d 8.8.8.251/32 -p tcp -m tcp --dport 143 -j DNAT --to-destination 10.20.20.3
-A POSTROUTING -o eth1 -j MASQUERADE
-A POSTROUTING -d 10.20.20.3/32 -p tcp -m tcp --dport 25 -j SNAT --to-source 10.20.20.1
-A POSTROUTING -d 10.20.20.3/32 -p tcp -m tcp --dport 110 -j SNAT --to-source 10.20.20.1
-A POSTROUTING -d 10.20.20.3/32 -p tcp -m tcp --dport 143 -j SNAT --to-source 10.20.20.1На Хосте Б - iptables пустые.
>[оверквотинг удален]
> 0 eth0
> 10.20.22.0 10.20.20.10 255.255.255.0
> UG 0
> 0 0
> eth0
> 0.0.0.0 8.8.8.254
> 0.0.0.0
> UG 0
> 0 0
> eth1так маршрут действительно был неправильный или просто так тут показали?
>[оверквотинг удален]
> Таблица маршутизации ядра протокола IP
> Destination Gateway Genmask Flags MSS Window irtt Iface
> 10.20.20.0 0.0.0.0
> 255.255.255.0 U
> 0 0
> 0 eth0
> 0.0.0.0 10.20.20.1
> 0.0.0.0
> UG 0 0
> 0 eth0а если попробовать на одной машине из сети 10.20.20.0 прописать шлюзом по умолчанию 10.20.20.10 и проверить изменится ли скорость работы с ней?
>[оверквотинг удален]
> --to-destination 10.20.20.3
> -A OUTPUT -d 8.8.8.251/32 -p tcp -m tcp --dport 143 -j DNAT
> --to-destination 10.20.20.3
> -A POSTROUTING -o eth1 -j MASQUERADE
> -A POSTROUTING -d 10.20.20.3/32 -p tcp -m tcp --dport 25 -j SNAT
> --to-source 10.20.20.1
> -A POSTROUTING -d 10.20.20.3/32 -p tcp -m tcp --dport 110 -j SNAT
> --to-source 10.20.20.1
> -A POSTROUTING -d 10.20.20.3/32 -p tcp -m tcp --dport 143 -j SNAT
> --to-source 10.20.20.1тогда бы и другие таблицы показали бы
> На Хосте Б - iptables пустые.
а если с хоста Б работать с ftp сервером на А какая скорость?
> так маршрут действительно был неправильный или просто так тут показали?маршрут был правильный просто так тут показал. )
> а если попробовать на одной машине из сети 10.20.20.0 прописать шлюзом по
> умолчанию 10.20.20.10 и проверить изменится ли скорость работы с ней?Прописал на одной из рабочих станций сети 10.20.20.0 маршрут по умолчанию 10.20.20.10. Подключаюсь из вне к OpenVPN серверу Хоста Б. Захожу на FTP сервер рабочей станции, у которой прописал шлюз по умолчанию - 10.20.20.10. Результат передача данных на сервер - 100 Мбит/с (upload), прием данных ~ 64 Кбит/с. Отключаюсь от OpenVPN сервера Хоста Б, подключаюсь к OpenVPN серверу Хоста А - та-же самая картина.
> а если с хоста Б работать с ftp сервером на А какая
> скорость?Обмен с FTP-сервером на Хосте А (10.20.20.1) при локальном подключении с Хоста Б (10.20.20.10) - 100 Мбит/с в обоих направлениях.
>> так маршрут действительно был неправильный или просто так тут показали?
> маршрут был правильный просто так тут показал. )
>> а если попробовать на одной машине из сети 10.20.20.0 прописать шлюзом по
>> умолчанию 10.20.20.10 и проверить изменится ли скорость работы с ней?
> Прописал на одной из рабочих станций сети 10.20.20.0 маршрут по умолчанию 10.20.20.10.
> Подключаюсь из вне к OpenVPN серверу Хоста Б. Захожу на FTP
> сервер рабочей станции, у которой прописал шлюз по умолчанию - 10.20.20.10.
> Результат передача данных на сервер - 100 Мбит/с (upload), прием данных
> ~ 64 Кбит/с. Отключаюсь от OpenVPN сервера Хоста Б, подключаюсь к
> OpenVPN серверу Хоста А - та-же самая картина.а если с хоста Б обращаться все нормально?
>> а если с хоста Б работать с ftp сервером на А какая
>> скорость?
> Обмен с FTP-сервером на Хосте А (10.20.20.1) при локальном подключении с Хоста
> Б (10.20.20.10) - 100 Мбит/с в обоих направлениях.попробуйте сделать SNAT на хосте Б на eth0.
работает в пассивном режиме?
какой IP сервер передает для подключения, не внешний ли?
> а если с хоста Б обращаться все нормально?Да, скорость не падает.
> попробуйте сделать SNAT на хосте Б на eth0.
На Хосте Б, внести правило такого вида
iptables -t nat -A POSTROUTING -d ! 10.20.20.0 -j SNAT --to-source 10.20.22.1
?
>> а если с хоста Б обращаться все нормально?
> Да, скорость не падает.
>> попробуйте сделать SNAT на хосте Б на eth0.
> На Хосте Б, внести правило такого вида
> iptables -t nat -A POSTROUTING -d ! 10.20.20.0 -j SNAT --to-source 10.20.22.1
> ?не, нужно что бы ftp думал что обращение идет от Хоста Б (10.20.20.10)
iptables -t nat -I POSTROUTING -d 10.20.20.0/24 -o eth0 -j SNAT --to-source 10.20.20.10
>>> а если с хоста Б обращаться все нормально?
>> Да, скорость не падает.
>>> попробуйте сделать SNAT на хосте Б на eth0.
>> На Хосте Б, внести правило такого вида
>> iptables -t nat -A POSTROUTING -d ! 10.20.20.0 -j SNAT --to-source 10.20.22.1
>> ?
> не, нужно что бы ftp думал что обращение идет от Хоста Б
> (10.20.20.10)
> iptables -t nat -I POSTROUTING -d 10.20.20.0/24 -o eth0 -j SNAT --to-source
> 10.20.20.10правда если обращение к ftp на Хост А идет не по 10.20.20.1, то -d 10.20.20.0/24 изменить
или пока вовсе убрать
iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 10.20.20.10
> или пока вовсе убрать
> iptables -t nat -I POSTROUTING -o eth0 -j SNAT --to-source 10.20.20.10Сделал. Тоже самое:
загрузка на ftp-сервер Хоста А(10.20.20.1) c клиента 10.20.22.10 (подключен к OpenVPN серверу Хоста Б (10.20.20.10 -eth0; 10.20.22.1 - tap0) нормальная, отдача с Хоста А на OpenVPN клиента через Хост Б - 100-200 байт в секунду
>>> а если с хоста Б обращаться все нормально?
>> Да, скорость не падает.
>>> попробуйте сделать SNAT на хосте Б на eth0.
>> На Хосте Б, внести правило такого вида
>> iptables -t nat -A POSTROUTING -d ! 10.20.20.0 -j SNAT --to-source 10.20.22.1
>> ?
> не, нужно что бы ftp думал что обращение идет от Хоста Б
> (10.20.20.10)
> iptables -t nat -I POSTROUTING -d 10.20.20.0/24 -o eth0 -j SNAT --to-source
> 10.20.20.10сделал, отдача на ftp нормальная, прием с ftp упал до 215 байт в секунду...
>[оверквотинг удален]
>>>> попробуйте сделать SNAT на хосте Б на eth0.
>>> На Хосте Б, внести правило такого вида
>>> iptables -t nat -A POSTROUTING -d ! 10.20.20.0 -j SNAT --to-source 10.20.22.1
>>> ?
>> не, нужно что бы ftp думал что обращение идет от Хоста Б
>> (10.20.20.10)
>> iptables -t nat -I POSTROUTING -d 10.20.20.0/24 -o eth0 -j SNAT --to-source
>> 10.20.20.10
> сделал, отдача на ftp нормальная, прием с ftp упал до 215 байт
> в секунду...похоже косяк на хосте Б, притом с пакетами идущими транзитом с eth0.
так а какой режим работы, пассивный? какой IP сервер передает для подключения
может tcpdump на хосте Б одновременно на eth0 и tap запустить
> похоже косяк на хосте Б, притом с пакетами идущими транзитом с eth0.Согласен.
> так а какой режим работы, пассивный? какой IP сервер передает для подключения
Активный режим работы
> может tcpdump на хосте Б одновременно на eth0 и tap запустить
Загрузка на ftp-сервер
tap0
22:03:23.313464 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3939841:3941165, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 1324
22:03:23.314915 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3941165:3941377, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 212
22:03:23.314998 IP 10.20.20.1.ftp-data > 10.20.22.10.49655: Flags [.], ack 3941377, win 2400, options [nop,nop,TS val 8335902 ecr 272775], length 0
22:03:23.318944 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3941377:3942701, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 1324
22:03:23.319028 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3942701:3942913, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 212
22:03:23.319109 IP 10.20.20.1.ftp-data > 10.20.22.10.49655: Flags [.], ack 3942913, win 2400, options [nop,nop,TS val 8335902 ecr 272775], length 0
22:03:23.321258 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3942913:3943764, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 851
22:03:23.321357 IP 10.20.20.1.ftp-data > 10.20.22.10.49655: Flags [.], ack 3943764, win 2400, options [nop,nop,TS val 8335903 ecr 272775], length 0Загрузка на ftp-сервер
eth0
22:03:23.313471 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3939841:3941165, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 1324
22:03:23.314920 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3941165:3941377, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 212
22:03:23.314992 IP 10.20.20.1.ftp-data > 10.20.22.10.49655: Flags [.], ack 3941377, win 2400, options [nop,nop,TS val 8335902 ecr 272775], length 0
22:03:23.318951 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3941377:3942701, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 1324
22:03:23.319034 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3942701:3942913, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 212
22:03:23.319103 IP 10.20.20.1.ftp-data > 10.20.22.10.49655: Flags [.], ack 3942913, win 2400, options [nop,nop,TS val 8335902 ecr 272775], length 0
22:03:23.321265 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3942913:3943764, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335900], length 851
22:03:23.321351 IP 10.20.20.1.ftp-data > 10.20.22.10.49655: Flags [.], ack 3943764, win 2400, options [nop,nop,TS val 8335903 ecr 272775], length 0
22:03:23.323653 IP 10.20.22.10.49655 > 10.20.20.1.ftp-data: Flags [P.], seq 3943764:3944449, ack 1, win 67, options [nop,nop,TS val 272775 ecr 8335901], length 685Прием данных с ftp-сервера
tap0
22:12:53.609374 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 218461:219785, ack 1, win 183, options [nop,nop,TS val 8392932 ecr 329806], length 1324
22:12:53.816676 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 219785, win 67, options [nop,nop,TS val 329826 ecr 8392932], length 0
22:12:54.338906 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 219785:221109, ack 1, win 183, options [nop,nop,TS val 8393005 ecr 329826], length 1324
22:12:54.546241 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 221109, win 67, options [nop,nop,TS val 329899 ecr 8393005], length 0
22:12:55.078931 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 221109:222433, ack 1, win 183, options [nop,nop,TS val 8393079 ecr 329899], length 1324
22:12:55.285328 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 222433, win 67, options [nop,nop,TS val 329973 ecr 8393079], length 0
22:12:55.285469 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 222433:223757, ack 1, win 183, options [nop,nop,TS val 8393099 ecr 329973], length 1324
22:12:55.285475 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 223757:225081, ack 1, win 183, options [nop,nop,TS val 8393099 ecr 329973], length 1324
22:12:55.290814 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329974 ecr 8393099], length 0
22:12:55.290950 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 227729:229053, ack 1, win 183, options [nop,nop,TS val 8393100 ecr 329974], length 1324
22:12:55.295852 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329974 ecr 8393099,nop,nop,sack 1 {227729:229053}], length 0
22:12:55.295941 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 229053:230377, ack 1, win 183, options [nop,nop,TS val 8393100 ecr 329974], length 1324
22:12:55.300843 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329975 ecr 8393099,nop,nop,sack 1 {227729:230377}], length 0
22:12:55.300924 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 230377:231701, ack 1, win 183, options [nop,nop,TS val 8393101 ecr 329975], length 1324
22:12:55.306815 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329975 ecr 8393099,nop,nop,sack 1 {227729:231701}], length 0
22:12:55.306903 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 225081:226405, ack 1, win 183, options [nop,nop,TS val 8393101 ecr 329975], length 1324
22:12:55.312927 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 226405, win 67, options [nop,nop,TS val 329976 ecr 8393101,nop,nop,sack 1 {227729:231701}], length 0
22:12:55.313008 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 226405:227729, ack 1, win 183, options [nop,nop,TS val 8393102 ecr 329976], length 1324
22:12:55.318331 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 231701, win 67, options [nop,nop,TS val 329976 ecr 8393102], length 0
22:12:55.318473 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 231701:233025, ack 1, win 183, options [nop,nop,TS val 8393102 ecr 329976], length 1324
22:12:55.523206 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 233025, win 67, options [nop,nop,TS val 329997 ecr 8393102], length 0
22:12:56.048933 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 233025:234349, ack 1, win 183, options [nop,nop,TS val 8393176 ecr 329997], length 1324Прием данных с ftp-сервера
eth0
22:12:53.609277 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 218461, win 67, options [nop,nop,TS val 329806 ecr 8392931], length 0
22:12:53.609367 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 218461:219785, ack 1, win 183, options [nop,nop,TS val 8392932 ecr 329806], length 1324
22:12:53.816687 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 219785, win 67, options [nop,nop,TS val 329826 ecr 8392932], length 0
22:12:53.816810 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 219785:222433, ack 1, win 183, options [nop,nop,TS val 8392952 ecr 329826], length 2648
22:12:53.816827 IP 10.20.20.10 > 10.20.20.1: ICMP 10.20.22.10 unreachable - need to frag (mtu 1500), length 556
22:12:54.338893 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 219785:221109, ack 1, win 183, options [nop,nop,TS val 8393005 ecr 329826], length 1324
22:12:54.546251 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 221109, win 67, options [nop,nop,TS val 329899 ecr 8393005], length 0
22:12:54.546359 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 222433:225081, ack 1, win 183, options [nop,nop,TS val 8393025 ecr 329899], length 2648
22:12:54.546376 IP 10.20.20.10 > 10.20.20.1: ICMP 10.20.22.10 unreachable - need to frag (mtu 1500), length 556
22:12:55.078920 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 221109:222433, ack 1, win 183, options [nop,nop,TS val 8393079 ecr 329899], length 1324
22:12:55.285338 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 222433, win 67, options [nop,nop,TS val 329973 ecr 8393079], length 0
22:12:55.285461 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 222433:223757, ack 1, win 183, options [nop,nop,TS val 8393099 ecr 329973], length 1324
22:12:55.285473 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 223757:225081, ack 1, win 183, options [nop,nop,TS val 8393099 ecr 329973], length 1324
22:12:55.290822 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329974 ecr 8393099], length 0
22:12:55.290921 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 225081:227729, ack 1, win 183, options [nop,nop,TS val 8393100 ecr 329974], length 2648
22:12:55.290937 IP 10.20.20.10 > 10.20.20.1: ICMP 10.20.22.10 unreachable - need to frag (mtu 1500), length 556
22:12:55.290946 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 227729:229053, ack 1, win 183, options [nop,nop,TS val 8393100 ecr 329974], length 1324
22:12:55.295860 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329974 ecr 8393099,nop,nop,sack 1 {227729:229053}], length 0
22:12:55.295935 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 229053:230377, ack 1, win 183, options [nop,nop,TS val 8393100 ecr 329974], length 1324
22:12:55.300851 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329975 ecr 8393099,nop,nop,sack 1 {227729:230377}], length 0
22:12:55.300918 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 230377:231701, ack 1, win 183, options [nop,nop,TS val 8393101 ecr 329975], length 1324
22:12:55.306823 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 225081, win 67, options [nop,nop,TS val 329975 ecr 8393099,nop,nop,sack 1 {227729:231701}], length 0
22:12:55.306898 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 225081:226405, ack 1, win 183, options [nop,nop,TS val 8393101 ecr 329975], length 1324
22:12:55.312935 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 226405, win 67, options [nop,nop,TS val 329976 ecr 8393101,nop,nop,sack 1 {227729:231701}], length 0
22:12:55.313003 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 226405:227729, ack 1, win 183, options [nop,nop,TS val 8393102 ecr 329976], length 1324
22:12:55.318343 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 231701, win 67, options [nop,nop,TS val 329976 ecr 8393102], length 0
22:12:55.318465 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 231701:233025, ack 1, win 183, options [nop,nop,TS val 8393102 ecr 329976], length 1324
22:12:55.523215 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 233025, win 67, options [nop,nop,TS val 329997 ecr 8393102], length 0
22:12:55.523310 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 233025:235673, ack 1, win 183, options [nop,nop,TS val 8393123 ecr 329997], length 2648
22:12:55.523323 IP 10.20.20.10 > 10.20.20.1: ICMP 10.20.22.10 unreachable - need to frag (mtu 1500), length 556
22:12:56.048921 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 233025:234349, ack 1, win 183, options [nop,nop,TS val 8393176 ecr 329997], length 1324
>[оверквотинг удален]
> 22:12:55.523215 IP 10.20.22.10.49678 > 10.20.20.1.ftp-data: Flags [.], ack 233025, win
> 67, options [nop,nop,TS val 329997 ecr 8393102], length 0
> 22:12:55.523310 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 233025:235673,
> ack 1, win 183, options [nop,nop,TS val 8393123 ecr 329997], length
> 2648
> 22:12:55.523323 IP 10.20.20.10 > 10.20.20.1: ICMP 10.20.22.10 unreachable - need to frag
> (mtu 1500), length 556
> 22:12:56.048921 IP 10.20.20.1.ftp-data > 10.20.22.10.49678: Flags [.], seq 233025:234349,
> ack 1, win 183, options [nop,nop,TS val 8393176 ecr 329997], length
> 13241 ftp начинает передачу с отправки большого пакета и 10.20.20.10 постоянно просит уменьшить пакет.
2 клиент почему то повторно отправляет подтверждение о получении, ftp сервер не начинает повторно отправлять пакеты которые уже передавал?
> 1 ftp начинает передачу с отправки большого пакета и 10.20.20.10 постоянно просит
> уменьшить пакет.А вот tcpdump c eth0 (Хост Б, 10.20.20.10) при обращении к машине из сети 10.20.20.0:
09:47:37.840453 IP 10.20.20.200.https > 10.20.22.10.59335: Flags [.], ack 5938, win 4136, length 0
09:47:45.085761 IP 10.20.20.200.https > 10.20.22.10.59331: Flags [.], seq 14841:16177, ack 4840, win 4175, length 1336
09:47:45.294375 IP 10.20.22.10.59331 > 10.20.20.200.https: Flags [.], ack 16177, win 4342, length 0
09:47:45.294440 IP 10.20.20.200.https > 10.20.22.10.59331: Flags [.], seq 16177:18849, ack 4840, win 4175, length 2672
09:47:45.294454 IP 10.20.20.10 > 10.20.20.200: ICMP 10.20.22.10 unreachable - need to frag (mtu 1500), length 556
09:47:47.295768 IP 10.20.20.200.https > 10.20.22.10.59339: Flags [.], seq 9931:11267, ack 2778, win 4175, length 1336
09:47:47.505090 IP 10.20.22.10.59339 > 10.20.20.200.https: Flags [.], ack 11267, win 4342, length 0
09:47:47.505153 IP 10.20.20.200.https > 10.20.22.10.59339: Flags [.], seq 11267:13939, ack 2778, win 4175, length 2672
09:47:47.505167 IP 10.20.20.10 > 10.20.20.200: ICMP 10.20.22.10 unreachable - need to frag (mtu 1500), length 556На хосте Б - MTU у eth0, eth1, и tap0 - 1500, Хост А - те-же параметры. В чем тут может быть дело...
>[оверквотинг удален]
> 09:47:47.295768 IP 10.20.20.200.https > 10.20.22.10.59339: Flags [.], seq 9931:11267,
> ack 2778, win 4175, length 1336
> 09:47:47.505090 IP 10.20.22.10.59339 > 10.20.20.200.https: Flags [.], ack 11267, win 4342,
> length 0
> 09:47:47.505153 IP 10.20.20.200.https > 10.20.22.10.59339: Flags [.], seq 11267:13939,
> ack 2778, win 4175, length 2672
> 09:47:47.505167 IP 10.20.20.10 > 10.20.20.200: ICMP 10.20.22.10 unreachable - need to frag
> (mtu 1500), length 556
> На хосте Б - MTU у eth0, eth1, и tap0 - 1500,
> Хост А - те-же параметры. В чем тут может быть дело...а какие mss в начале передавали?
> а какие mss в начале передавали?В OpenVPN клиенте, параметру mssfix присвоено значение 1450, или Вы не это имеете ввиду?
tun-mtu - 1500. Вроде бы mss нормальный, за учетом вычета ip-заголовка пакета, исходя из текущего значения mtu на клиенте.
Или я не про тот mss думаю? )
>> а какие mss в начале передавали?
> В OpenVPN клиенте, параметру mssfix присвоено значение 1450, или Вы не это
> имеете ввиду?
> tun-mtu - 1500. Вроде бы mss нормальный, за учетом вычета ip-заголовка пакета,
> исходя из текущего значения mtu на клиенте.
> Или я не про тот mss думаю? )в начале сессии стороны обмениваются значениями mss, в tcpdump это должно быть видно
> в начале сессии стороны обмениваются значениями mss, в tcpdump это должно быть
> видно09:29:41.640916 IP 10.20.22.10.57934 > 10.20.20.200.https: Flags [S], seq 1362912527, win 8192, options [mss 1336,nop,wscale 2,nop,nop,sackOK], length 0
09:29:41.640982 IP 10.20.20.200.https > 10.20.22.10.57934: Flags [S.], seq 1380323965, ack 1362912528, win 65535, options [mss 1336,nop,wscale 4,sackOK,eol], length 0
>> в начале сессии стороны обмениваются значениями mss, в tcpdump это должно быть
>> видно
> 09:29:41.640916 IP 10.20.22.10.57934 > 10.20.20.200.https: Flags [S], seq 1362912527,
> win 8192, options [mss 1336,nop,wscale 2,nop,nop,sackOK], length 0
> 09:29:41.640982 IP 10.20.20.200.https > 10.20.22.10.57934: Flags [S.], seq 1380323965,
> ack 1362912528, win 65535, options [mss 1336,nop,wscale 4,sackOK,eol], length 0значит с надеждой что пройдет ( с фрагментацией ), но на просьбу об уменьшении реагирует. наверно врятли так упала бы скорость именно из-за этого. хотя могу и ошибиться.
так же не понятно почему при работе с 10.20.20.1 клиент указывает маленький размер окна (win 67)