Низкая скорость через IPSec соединение
-
Есть 2 офиса соеденены между собой IPSec туннелем, в обоих стоит PF 1.2.3, подключены оптикой 100МБит, внешние IP белые x.x.x.x/30, при тестировании пакетом iperf на внешние IP (WAN) дает ~93-96Mbit, если тестровать по внутренним ип (LAN) то скорость ~16-18Mbit.
На обоих шлюзах кроме IPSc стоит только Squid в прозрачном режиме, загрузка менее 2% обоих. Железо Cel 1.7GHz/256Mb /80Gb/RTL8139 x 2.Можно ли как то увеличить скорость по внутренней сети?
-
Можно методику тестирования подробнее?
-
На PF устанавливается пакет iperf. После этого на PF1 в консоли запускается iperf -s это заставляет его слушать на внешнем и внутреннем интерфейсе, на PF2 запускается iperf -c REMOTE_WAN_IP -i 2 -d -t 60. Смотрим на статистику получаем ~96-98MBit/s т.е. практически полная скорость канала, далее запускаем iperf -c REMOTE_LAN_IP -i 2 -d -t 60. Который на PF2 доступен через ipsec туннель. Смотрим статистику и получаем не более 18MBit/s, После этого меняем сервер и клиента местами получаем практически те же значения с расхождением не более 2MBit/s.
Таким образом можно сделать вывод что ipsec не слабо тормозит.
-
IPSec по определению должен тормозить, но ты говоришь загрузки роцессора нет… Попробуй UDP для прикола (если есть время).
-
Сейчас я перенастроил все на OpenVPN как раз через UDP есть некоторые улучшения, но при аналогичном тестировании скорость не поднимается выше 24MBit/s для LAN.
-
Я имею ввиду полезный трафик, который шифруем, попробуй iperf'ом udp генерить
-
Вот статистика при генерации UDP самим iperf-ом
iperf -c REMOTE_LAN_IP -i 2 -u -b 100M -t 60[ ID] Interval Transfer Bandwidth
[ 3] 0.0-60.1 sec 189 MBytes 26.4 Mbits/sec -
а скорость равномерная или скачет?
покажи iperf … -t 120 -i 10
и неплохо было б тогда уж и top -S посмотреть -
iperf -c REMOTE_LAN_IP -i 10 -u -b 100M -t 120
скорость более менее равномерная
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-120.0 sec 392 MBytes 27.4 Mbits/sec
[ 3] Sent 280156 datagramsвывод top -S
PF1last pid: 15123; load averages: 0.00, 0.49, 1.13 up 19+04:06:59 18:28:58 100 processes: 2 running, 83 sleeping, 1 zombie, 14 waiting CPU: 0.0% user, 0.0% nice, 0.4% system, 0.0% interrupt, 99.6% idle Mem: 133M Active, 35M Inact, 42M Wired, 4236K Cache, 34M Buf, 23M Free Swap: 512M Total, 12K Used, 512M Free PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K RUN 358.6H 99.66% idle: cpu0 14 root 1 -44 - 0K 8K WAIT 91.1H 0.00% swi1: net 52002 root 1 44 0 4920K 3132K select 99:17 0.00% openvpn 12 root 1 -32 - 0K 8K WAIT 24:48 0.00% swi4: clock sio 42 root 1 20 - 0K 8K syncer 13:36 0.00% syncer 4684 root 1 8 20 4516K 3120K wait 9:17 0.00% sh 15 root 1 44 - 0K 8K - 5:07 0.00% yarrow 4 root 1 -8 - 0K 8K - 2:45 0.00% g_up 5 root 1 -8 - 0K 8K - 2:06 0.00% g_down 29 root 1 0 - 0K 8K tzpoll 1:19 0.00% acpi_thermal 3 root 1 -8 - 0K 8K - 1:09 0.00% g_event 988 root 3 44 -15 4296K 2560K select 1:08 0.00% ipcad 27 root 1 -64 - 0K 8K WAIT 0:58 0.00% irq14: ata0 955 root 1 8 0 3492K 1156K wait 0:56 0.00% sh 4580 root 1 4 20 6156K 4000K kqread 0:53 0.00% lighttpd 333 root 1 -58 0 5716K 2528K bpf 0:40 0.00% tcpdump 20 root 1 8 - 0K 8K - 0:40 0.00% thread taskq 35 root 1 8 - 0K 8K pftm 0:27 0.00% pfpurge 436 root 1 4 0 41736K 15676K accept 0:21 0.00% php 707 root 1 8 0 3240K 1216K nanslp 0:21 0.00% cron 51272 nobody 1 64 20 3156K 1240K select 0:19 0.00% dnsmasq 1 root 1 8 0 1888K 284K wait 0:12 0.00% init 43 root 1 -16 - 0K 8K sdflus 0:10 0.00% softdepflush 41 root 1 -4 - 0K 8K vlruwt 0:10 0.00% vnlru 31 root 1 -8 - 0K 8K - 0:09 0.00% fdc0 40 root 1 -16 - 0K 8K psleep 0:08 0.00% bufdaemon 3977 _ntp 1 44 0 3156K 1180K select 0:06 0.00% ntpd 0 root 1 -16 0 0K 0K sched 0:06 0.00% swapper 51836 root 1 44 0 3268K 1096K select 0:05 0.00% syslogd 395 proxy 1 4 0 3260K 1200K kqread 0:05 0.00% pftpx 334 root 1 -8 0 3156K 736K piperd 0:04 0.00% logger 49 root 1 -8 - 0K 8K mdwait 0:03 0.00% md0 15035 proxy 1 4 0 3944K 1656K sbwait 0:02 0.00% squidGuard 39 root 1 171 ki31 0K 8K pollid 0:02 0.00% idlepoll 967 root 1 8 0 3156K 852K nanslp 0:02 0.00% minicron 36 root 1 -16 - 0K 8K psleep 0:02 0.00% pagedaemon 3978 root 1 44 0 3156K 1196K select 0:02 0.00% ntpd 48098 root 1 8 20 3156K 752K nanslp 0:01 0.00% check_reload_status 1013 proxy 17 44 0 104M 99M ucond 0:01 0.00% squid 30 root 1 0 - 0K 8K coolin 0:01 0.00% acpi_cooling0 51048 root 1 64 20 5736K 3312K select 0:01 0.00% racoon 15036 proxy 1 4 0 3944K 1656K sbwait 0:00 0.00% squidGuard 15016 root 1 64 20 7780K 3264K select 0:00 0.00% sshd 15037 proxy 1 4 0 3944K 1632K sbwait 0:00 0.00% squidGuard 15050 root 1 44 0 3524K 1680K RUN 0:00 0.00% top 434 root 1 8 0 39688K 3932K wait 0:00 0.00% php 38 root 1 171 ki31 0K 8K pgzero 0:00 0.00% pagezero 14236 root 1 8 0 3516K 1400K wait 0:00 0.00% login 15021 root 1 8 0 3492K 1344K wait 0:00 0.00% sh 15047 root 1 20 0 3508K 2184K pause 0:00 0.00% tcsh 14246 root 1 5 0 3492K 1340K ttyin 0:00 0.00% sh 14237 root 1 8 0 3492K 1340K wait 0:00 0.00% sh
PF2
last pid: 9723; load averages: 0.00, 0.04, 0.06 up 50+07:39:07 18:36:05 131 processes: 2 running, 111 sleeping, 1 zombie, 16 waiting, 1 lock CPU states: 0.4% user, 0.0% nice, 0.0% system, 0.0% interrupt, 99.6% idle Mem: 53M Active, 59M Inact, 48M Wired, 4556K Cache, 32M Buf, 59M Free Swap: 512M Total, 512M Free PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND 11 root 1 171 ki31 0K 8K RUN 1159.8 100.00% idle: cpu0 26 root 1 -68 - 0K 8K WAIT 289:46 0.00% irq10: sis0 32 root 1 -68 - 0K 8K WAIT 223:43 0.00% irq11: rl0 12 root 1 -44 - 0K 8K WAIT 126:56 0.00% swi1: net 13 root 1 -32 - 0K 8K *Giant 98:17 0.00% swi4: clock sio 20729 root 1 44 0 4900K 3348K select 85:54 0.00% openvpn 44 root 1 20 - 0K 8K syncer 50:31 0.00% syncer 35077 root 1 8 20 4516K 2908K wait 26:28 0.00% sh 15 root 1 44 - 0K 8K - 18:05 0.00% yarrow 19013 root 1 44 20 5728K 3340K select 17:29 0.00% racoon 4 root 1 -8 - 0K 8K - 6:15 0.00% g_down 3 root 1 -8 - 0K 8K - 5:46 0.00% g_up 2 root 1 -8 - 0K 8K - 3:17 0.00% g_event 904 root 1 8 0 3492K 1180K wait 3:15 0.00% sh 7 root 1 8 - 0K 8K - 2:08 0.00% thread taskq 303 root 1 -58 0 5704K 2444K bpf 1:58 0.00% tcpdump 24 root 1 -64 - 0K 8K WAIT 1:49 0.00% irq14: ata0 38 root 1 8 - 0K 8K pftm 1:28 0.00% pfpurge 35042 root 1 4 20 6132K 4084K kqread 1:18 0.00% lighttpd 46 root 1 -16 - 0K 8K sdflus 0:41 0.00% softdepflush 711 root 1 8 0 3220K 1216K nanslp 0:32 0.00% cron 45 root 1 -4 - 0K 8K vlruwt 0:31 0.00% vnlru 43 root 1 -16 - 0K 8K psleep 0:26 0.00% bufdaemon 59794 root 1 4 0 41700K 15340K accept 0:25 0.00% php 33 root 1 -8 - 0K 8K - 0:24 0.00% fdc0 205 root 1 44 0 3244K 1072K select 0:22 0.00% syslogd 53 root 1 -8 - 0K 8K mdwait 0:21 0.00% md0 1100 root 1 8 20 3140K 764K nanslp 0:21 0.00% check_reload_status 20165 nobody 1 44 20 3140K 1268K select 0:11 0.00% dnsmasq 42 root 1 171 ki31 0K 8K pollid 0:09 0.00% idlepoll 926 root 1 8 0 3140K 852K nanslp 0:09 0.00% minicron 39 root 1 -16 - 0K 8K psleep 0:07 0.00% pagedaemon 34055 _ntp 1 44 0 3140K 1172K select 0:06 0.00% ntpd 1 root 1 8 0 1888K 280K wait 0:03 0.00% init 9176 proxy 17 69 0 22452K 17696K ucond 0:03 0.00% squid 34056 root 1 44 0 3140K 1164K select 0:03 0.00% ntpd 304 root 1 -8 0 3140K 748K piperd 0:02 0.00% logger 9214 root 1 44 0 3524K 1848K RUN 0:01 0.00% top 31 root 1 8 - 0K 8K usbevt 0:00 0.00% usb1 28 root 1 8 - 0K 8K usbevt 0:00 0.00% usb0 8939 root 1 44 20 8384K 3656K select 0:00 0.00% sshd 41 root 1 171 ki31 0K 8K pgzero 0:00 0.00% pagezero 418 root 1 8 0 39652K 4132K wait 0:00 0.00% php 8963 root 1 20 0 3508K 2224K pause 0:00 0.00% tcsh 22378 root 1 8 0 3596K 1372K wait 0:00 0.00% login 8944 root 1 8 0 3492K 1352K wait 0:00 0.00% sh 22380 root 1 5 0 3492K 1188K ttyin 0:00 0.00% sh 9210 proxy 1 44 0 3308K 1156K select 0:00 0.00% pinger 377 proxy 1 4 0 3244K 1192K kqread 0:00 0.00% pftpx 275 root 1 -8 0 3140K 708K piperd 0:00 0.00% sshlockout_pf 35257 root 1 44 20 5652K 3104K select 0:00 0.00% sshd 9708 root 1 8 20 1388K 504K nanslp 0:00 0.00% sleep
-
Забавно… тогда могу предположить, что правила влияют. Есть возможность запустить с выключенным файрволлом ("disable filtering" или что-то в этом роде)?
-
Да, можно попробовать. Минут через 10 будут результаты.
iperf -c REMOTE_LAN_IP -i 10 -u -b 100M -t 120
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-120.0 sec 498 MBytes 34.8 Mbits/sec
[ 3] Sent 356594 datagramsнекоторый прогресс есть но это не то что собственно требуется :)