nicol@s Опубликовано 8 июня, 2010 (изменено) · Жалоба Добрый день! В настоящее время используем pf NAT. Интересуют несколько вопросов: 1. Какая технология NAT требует меньше ресурсов системы a) pf NAT b) ipfw kernel NAT c) NG_NAT ? 2. BINAT или NAT - что лучше? Я имею ввиду, что быстрее и требует меньше системных ресурсов? Предполагаю, что BINAT быстрее, т.к. нет необходимости хранить стейты. 3. PF не разбивается на треды. Читал, что IPFW (в FreeBSD 8.0, например) - разбивается. Однако, в своих тестах я этого не увидел. Может нужно пересобирать ядро с какими-то дополнительными опциями? Для теста я пересобирал ядро с такими опциями: options SMP # IPFW options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_DEFAULT_TO_ACCEPT options DUMMYNET options IPFIREWALL_NAT options LIBALIAS options HZ="2000" 4. Не смог найти никакой информации про BINAT в ng_nat. Умеет ли бинатить ng_nat? Может кто-нибудь использовал такую технологию? Или может быть у кого-нибудь есть интересные статьи на эту тему? Для теста использовался следующий комп (border nat): - dmesg | less: FreeBSD 8.0-STABLE-201004 #0: Mon Apr 5 15:59:06 UTC 2010 CPU: Intel(R) Pentium(R) 4 CPU 3.20GHz (3200.01-MHz K8-class CPU) real memory = 536870912 (512 MB) age0: mem 0xfeac0000-0xfeafffff irq 17 at device 0.0 on pci2 rl0: port 0xe800-0xe8ff mem 0xfebffc00-0xfebffcff irq 19 at device 0.0 on pci4 Тестовая схема: laptop(192.168.0.188)-->age0(192.168.0.1)-->rl0(10.1.2.142)-->internet age0 - внутренний интерфейс; rl0 - внешний интерфейс; IP-пул для ната: 10.1.6.0/24. Тестировал загрузку и потери следующими утилитами 1. ping -c 500 -f 192.168.1.112 2. iperf -c 192.168.1.112 -n 1M -i 1 -t 180 3. netstat Ниже выкладываю результаты тестов. 1. pf NAT: Здесь в конфиге /etc/pf.conf.ports одно правило для ната: nat pass on $ext_if from to any -> 10.1.6.0/24 source-hash test static-port a). ping -c 500 -f 192.168.1.112: PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 398 received, 20% packet loss, time 1658ms rtt min/avg/max/mdev = 0.239/0.339/5.425/0.262 ms, ipg/ewma 3.323/0.328 ms b) На сервере 192.168.1.112 запускаю: iperf -s 80 На ноуте: iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180 Вывод netstat: netstat -w1d -I age0: input (age0) output packets errs idrops bytes packets errs bytes colls 5247 0 0 7332276 1600 0 83700 0 5286 0 0 7331330 1578 0 82296 0 5278 0 0 7339278 1589 0 83754 0 5312 0 0 7380344 1570 0 82728 0 5328 0 0 7337764 1567 0 83160 0 netstat -w1d -I rl0: input (rl0) output packets errs idrops bytes packets errs bytes colls 1556 0 0 93508 5133 0 7275788 0 1547 0 0 92832 5169 0 7337174 0 1551 0 0 93072 5161 0 7321088 0 1539 0 0 92352 5199 0 7381268 0 1520 0 0 91212 5195 0 7367642 0 top –S: last pid: 6320; load averages: 0.07, 0.02, 0.00 up 1+18:19:20 10:08:26 70 processes: 3 running, 55 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 1.2% system, 4.7% interrupt, 94.2% idle Mem: 21M Active, 136M Inact, 89M Wired, 44K Cache, 59M Buf, 237M Free Swap: 2048M Total, 2048M Free 2. pf BINAT: В конфиге /etc/pf.conf.ports порядка 1000 "левых" правил вида: ... binat on $ext_if from 10.10.10.2 to any -> 10.1.6.13 binat on $ext_if from 10.10.10.3 to any -> 10.1.6.14 ... И одно актуальное правило для ноута: binat on $ext_if from 192.168.0.188 to any -> 10.1.6.188 a) ping -c 500 -f 192.168.1.112: PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 398 received, 20% packet loss, time 1688ms rtt min/avg/max/mdev = 0.238/0.357/1.006/0.078 ms, ipg/ewma 3.383/0.330 ms b) На сервере 192.168.1.112: iperf -s 80 На ноуте: iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180 Вывод netstat: netstat -w1d -I age0: input (age0) output packets errs idrops bytes packets errs bytes colls 5294 0 0 7318272 1585 0 84996 0 0 0 0 7357824 0 0 83862 0 5314 0 0 7367854 1591 0 83268 0 5302 0 0 7290642 1591 0 83646 0 5270 0 0 7332276 1577 0 85914 0 netstat -w1d -I rl0: input (rl0) output packets errs idrops bytes packets errs bytes colls 1586 0 0 95172 5172 0 7341148 0 1567 0 0 94038 5177 0 7344514 0 1537 0 0 92232 5198 0 7373698 0 1565 0 0 93912 5166 0 7328090 0 1561 0 0 93672 5139 0 7301596 0 top –S: last pid: 8622; load averages: 0.16, 0.07, 0.01 up 2+13:22:43 05:11:49 61 processes: 3 running, 46 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 4.4% system, 5.1% interrupt, 90.5% idle Mem: 14M Active, 127M Inact, 89M Wired, 59M Buf, 251M Free Swap: 2048M Total, 2048M Free 3.IPFW KERNEL NAT: a). ping -c 500 -f 192.168.1.5: PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 425 received, 15% packet loss, time 1598ms rtt min/avg/max/mdev = 0.253/1.081/1.576/0.414 ms, ipg/ewma 3.203/0.895 ms b) На сервере 192.168.1.112: iperf -s 80 На ноуте: iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180 Вывод netstat: netstat -w1d -I age0: input (age0) output packets errs idrops bytes packets errs bytes colls 3966 0 0 5501336 1086 0 56646 0 4380 0 0 6140036 1100 0 58266 0 4315 0 0 5654698 1089 0 55424 0 3703 0 0 5291538 990 0 54182 0 3548 0 0 4910778 992 0 52292 0 3894 0 0 5399218 1140 0 60770 0 netstat -w1d -I rl0: input (rl0) output packets errs idrops bytes packets errs bytes colls 1085 0 0 65112 4004 0 5680576 0 1053 0 0 63296 4432 0 6289586 0 972 0 0 58508 3668 0 5195190 0 944 0 0 56672 3550 0 5033916 0 1109 0 0 66981 3813 0 5408090 0 1099 0 0 65972 3952 0 5604760 0 top –S: last pid: 2397; load averages: 0.06, 0.05, 0.04 up 0+00:09:13 14:25:50 66 processes: 3 running, 51 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 0.5% system, 3.5% interrupt, 96.1% idle Mem: 14M Active, 9248K Inact, 55M Wired, 92K Cache, 11M Buf, 403M Free Swap: 2048M Total, 2048M Free 4.IPFW KERNEL BINAT a) ping -c 500 -f 192.168.1.112: PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 398 received, 20% packet loss, time 1968ms rtt min/avg/max/mdev = 0.284/1.147/1.568/0.406 ms, ipg/ewma 3.944/1.055 ms b) На сервере 192.168.1.112: iperf -s 80 На ноуте: iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180 Вывод netstat: netstat -w1d -I age0: input (age0) output packets errs idrops bytes packets errs bytes colls 4138 0 0 4716350 1138 0 47682 0 3458 0 0 5812454 862 0 58374 0 4144 0 0 5768360 1143 0 59670 0 4164 0 0 5540888 1132 0 62640 0 3954 0 0 4803024 1195 0 50598 0 netstat -w1d -I rl0: input (rl0) output packets errs idrops bytes packets errs bytes colls 1007 0 0 60492 3609 0 5118682 0 950 0 0 57012 3614 0 5126988 0 1146 0 0 68772 4034 0 5723108 0 1121 0 0 67272 4088 0 5801266 0 1048 0 0 62892 3488 0 4946638 0 top –S: last pid: 4852; load averages: 0.07, 0.03, 0.00 up 0+16:06:15 05:53:04 63 processes: 4 running, 47 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 7.3% system, 6.7% interrupt, 86.0% idle Mem: 15M Active, 142M Inact, 110M Wired, 100K Cache, 59M Buf, 214M Free Swap: 2048M Total, 2048M Free 5.NG_NAT: a) ping -c 500 -f 192.168.1.112: PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 422 received, 15% packet loss, time 1624ms rtt min/avg/max/mdev = 0.254/1.038/8.862/0.551 ms, ipg/ewma 3.255/0.961 ms b) На сервере 192.168.1.112: iperf -s 80 На ноуте: iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180 Вывод netstat: netstat -w1d -I age0: input (age0) output packets errs idrops bytes packets errs bytes colls 4812 0 0 6634038 1268 0 66474 0 4765 0 0 6702092 1234 0 66150 0 4848 0 0 6616932 1263 0 66636 0 4764 0 0 6582868 1237 0 70686 0 4746 0 0 6494680 1403 0 76032 0 netstat -w1d -I rl0: input (rl0) output packets errs idrops bytes packets errs bytes colls 1219 0 0 73170 4680 0 6634886 0 1225 0 0 73512 4720 0 6696960 0 1219 0 0 73170 4655 0 6603440 0 1380 0 0 82812 4630 0 6570166 0 1414 0 0 84864 4585 0 6504178 0 Изменено 8 июня, 2010 пользователем nicol@s Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zlolotus Опубликовано 26 мая, 2011 · Жалоба Добрый день! В настоящее время используем pf NAT. Интересуют несколько вопросов: <b>1</b>. Какая технология NAT требует меньше ресурсов системы a) pf NAT b) ipfw kernel NAT c) NG_NAT ? <b>2.</b> BINAT или NAT - что лучше? Я имею ввиду, что быстрее и требует меньше системных ресурсов? Предполагаю, что BINAT быстрее, т.к. нет необходимости хранить стейты. <b>3.</b> PF не разбивается на треды. Читал, что IPFW (в FreeBSD 8.0, например) - разбивается. Однако, в своих тестах я этого не увидел. Может нужно пересобирать ядро с какими-то дополнительными опциями? Для теста я пересобирал ядро с такими опциями: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->options SMP # IPFW options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_DEFAULT_TO_ACCEPT options DUMMYNET options IPFIREWALL_NAT options LIBALIAS options HZ="2000"<!--c2--></div><!--ec2--> <b>4.</b> Не смог найти никакой информации про BINAT в ng_nat. Умеет ли бинатить ng_nat? Может кто-нибудь использовал такую технологию? Или может быть у кого-нибудь есть интересные статьи на эту тему? Для теста использовался следующий комп (border nat): <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->- dmesg | less: FreeBSD 8.0-STABLE-201004 #0: Mon Apr 5 15:59:06 UTC 2010 CPU: Intel® Pentium® 4 CPU 3.20GHz (3200.01-MHz K8-class CPU) real memory = 536870912 (512 MB) age0: mem 0xfeac0000-0xfeafffff irq 17 at device 0.0 on pci2 rl0: port 0xe800-0xe8ff mem 0xfebffc00-0xfebffcff irq 19 at device 0.0 on pci4<!--c2--></div><!--ec2--> Тестовая схема: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->laptop(192.168.0.188)-->age0(192.168.0.1)-->rl0(10.1.2.142)-->internet<!--c2--></div><!--ec2--> age0 - внутренний интерфейс; rl0 - внешний интерфейс; IP-пул для ната: 10.1.6.0/24. Тестировал загрузку и потери следующими утилитами 1. ping -c 500 -f 192.168.1.112 2. iperf -c 192.168.1.112 -n 1M -i 1 -t 180 3. netstat Ниже выкладываю результаты тестов. 1. pf NAT: Здесь в конфиге /etc/pf.conf.ports одно правило для ната: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->nat pass on $ext_if from to any -> 10.1.6.0/24 source-hash test static-port<!--c2--></div><!--ec2--> a). ping -c 500 -f 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 398 received, 20% packet loss, time 1658ms rtt min/avg/max/mdev = 0.239/0.339/5.425/0.262 ms, ipg/ewma 3.323/0.328 ms<!--c2--></div><!--ec2--> b) На сервере 192.168.1.112 запускаю: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -s 80<!--c2--></div><!--ec2--> На ноуте: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180<!--c2--></div><!--ec2--> Вывод netstat: netstat -w1d -I age0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (age0) output packets errs idrops bytes packets errs bytes colls 5247 0 0 7332276 1600 0 83700 0 5286 0 0 7331330 1578 0 82296 0 5278 0 0 7339278 1589 0 83754 0 5312 0 0 7380344 1570 0 82728 0 5328 0 0 7337764 1567 0 83160 0<!--c2--></div><!--ec2--> netstat -w1d -I rl0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (rl0) output packets errs idrops bytes packets errs bytes colls 1556 0 0 93508 5133 0 7275788 0 1547 0 0 92832 5169 0 7337174 0 1551 0 0 93072 5161 0 7321088 0 1539 0 0 92352 5199 0 7381268 0 1520 0 0 91212 5195 0 7367642 0<!--c2--></div><!--ec2--> top –S: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->last pid: 6320; load averages: 0.07, 0.02, 0.00 up 1+18:19:20 10:08:26 70 processes: 3 running, 55 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 1.2% system, 4.7% interrupt, 94.2% idle Mem: 21M Active, 136M Inact, 89M Wired, 44K Cache, 59M Buf, 237M Free Swap: 2048M Total, 2048M Free<!--c2--></div><!--ec2--> 2. pf BINAT: В конфиге /etc/pf.conf.ports порядка 1000 "левых" правил вида: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->... binat on $ext_if from 10.10.10.2 to any -> 10.1.6.13 binat on $ext_if from 10.10.10.3 to any -> 10.1.6.14 ...<!--c2--></div><!--ec2--> И одно актуальное правило для ноута: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->binat on $ext_if from 192.168.0.188 to any -> 10.1.6.188<!--c2--></div><!--ec2--> a) ping -c 500 -f 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 398 received, 20% packet loss, time 1688ms rtt min/avg/max/mdev = 0.238/0.357/1.006/0.078 ms, ipg/ewma 3.383/0.330 ms<!--c2--></div><!--ec2--> b) На сервере 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -s 80<!--c2--></div><!--ec2--> На ноуте: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180<!--c2--></div><!--ec2--> Вывод netstat: netstat -w1d -I age0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (age0) output packets errs idrops bytes packets errs bytes colls 5294 0 0 7318272 1585 0 84996 0 0 0 0 7357824 0 0 83862 0 5314 0 0 7367854 1591 0 83268 0 5302 0 0 7290642 1591 0 83646 0 5270 0 0 7332276 1577 0 85914 0<!--c2--></div><!--ec2--> netstat -w1d -I rl0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (rl0) output packets errs idrops bytes packets errs bytes colls 1586 0 0 95172 5172 0 7341148 0 1567 0 0 94038 5177 0 7344514 0 1537 0 0 92232 5198 0 7373698 0 1565 0 0 93912 5166 0 7328090 0 1561 0 0 93672 5139 0 7301596 0<!--c2--></div><!--ec2--> top –S: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->last pid: 8622; load averages: 0.16, 0.07, 0.01 up 2+13:22:43 05:11:49 61 processes: 3 running, 46 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 4.4% system, 5.1% interrupt, 90.5% idle Mem: 14M Active, 127M Inact, 89M Wired, 59M Buf, 251M Free Swap: 2048M Total, 2048M Free<!--c2--></div><!--ec2--> 3.IPFW KERNEL NAT: a). ping -c 500 -f 192.168.1.5: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 425 received, 15% packet loss, time 1598ms rtt min/avg/max/mdev = 0.253/1.081/1.576/0.414 ms, ipg/ewma 3.203/0.895 ms<!--c2--></div><!--ec2--> b) На сервере 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -s 80<!--c2--></div><!--ec2--> На ноуте: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180<!--c2--></div><!--ec2--> Вывод netstat: netstat -w1d -I age0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (age0) output packets errs idrops bytes packets errs bytes colls 3966 0 0 5501336 1086 0 56646 0 4380 0 0 6140036 1100 0 58266 0 4315 0 0 5654698 1089 0 55424 0 3703 0 0 5291538 990 0 54182 0 3548 0 0 4910778 992 0 52292 0 3894 0 0 5399218 1140 0 60770 0<!--c2--></div><!--ec2--> netstat -w1d -I rl0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (rl0) output packets errs idrops bytes packets errs bytes colls 1085 0 0 65112 4004 0 5680576 0 1053 0 0 63296 4432 0 6289586 0 972 0 0 58508 3668 0 5195190 0 944 0 0 56672 3550 0 5033916 0 1109 0 0 66981 3813 0 5408090 0 1099 0 0 65972 3952 0 5604760 0<!--c2--></div><!--ec2--> top –S: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->last pid: 2397; load averages: 0.06, 0.05, 0.04 up 0+00:09:13 14:25:50 66 processes: 3 running, 51 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 0.5% system, 3.5% interrupt, 96.1% idle Mem: 14M Active, 9248K Inact, 55M Wired, 92K Cache, 11M Buf, 403M Free Swap: 2048M Total, 2048M Free<!--c2--></div><!--ec2--> 4.IPFW KERNEL BINAT a) ping -c 500 -f 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 398 received, 20% packet loss, time 1968ms rtt min/avg/max/mdev = 0.284/1.147/1.568/0.406 ms, ipg/ewma 3.944/1.055 ms<!--c2--></div><!--ec2--> b) На сервере 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -s 80<!--c2--></div><!--ec2--> На ноуте: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180<!--c2--></div><!--ec2--> Вывод netstat: netstat -w1d -I age0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (age0) output packets errs idrops bytes packets errs bytes colls 4138 0 0 4716350 1138 0 47682 0 3458 0 0 5812454 862 0 58374 0 4144 0 0 5768360 1143 0 59670 0 4164 0 0 5540888 1132 0 62640 0 3954 0 0 4803024 1195 0 50598 0<!--c2--></div><!--ec2--> netstat -w1d -I rl0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (rl0) output packets errs idrops bytes packets errs bytes colls 1007 0 0 60492 3609 0 5118682 0 950 0 0 57012 3614 0 5126988 0 1146 0 0 68772 4034 0 5723108 0 1121 0 0 67272 4088 0 5801266 0 1048 0 0 62892 3488 0 4946638 0<!--c2--></div><!--ec2--> top –S: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->last pid: 4852; load averages: 0.07, 0.03, 0.00 up 0+16:06:15 05:53:04 63 processes: 4 running, 47 sleeping, 12 waiting CPU: 0.0% user, 0.0% nice, 7.3% system, 6.7% interrupt, 86.0% idle Mem: 15M Active, 142M Inact, 110M Wired, 100K Cache, 59M Buf, 214M Free Swap: 2048M Total, 2048M Free<!--c2--></div><!--ec2--> 5.NG_NAT: a) ping -c 500 -f 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->PING 192.168.1.112 (192.168.1.112) 56(84) bytes of data. --- 192.168.1.112 ping statistics --- 500 packets transmitted, 422 received, 15% packet loss, time 1624ms rtt min/avg/max/mdev = 0.254/1.038/8.862/0.551 ms, ipg/ewma 3.255/0.961 ms<!--c2--></div><!--ec2--> b) На сервере 192.168.1.112: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -s 80<!--c2--></div><!--ec2--> На ноуте: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->iperf -c 192.168.1.112 -p 80 -n 1M -i 1 -t 180<!--c2--></div><!--ec2--> Вывод netstat: netstat -w1d -I age0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (age0) output packets errs idrops bytes packets errs bytes colls 4812 0 0 6634038 1268 0 66474 0 4765 0 0 6702092 1234 0 66150 0 4848 0 0 6616932 1263 0 66636 0 4764 0 0 6582868 1237 0 70686 0 4746 0 0 6494680 1403 0 76032 0<!--c2--></div><!--ec2--> netstat -w1d -I rl0: <!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--> input (rl0) output packets errs idrops bytes packets errs bytes colls 1219 0 0 73170 4680 0 6634886 0 1225 0 0 73512 4720 0 6696960 0 1219 0 0 73170 4655 0 6603440 0 1380 0 0 82812 4630 0 6570166 0 1414 0 0 84864 4585 0 6504178 0<!--c2--></div><!--ec2--> Мой рейтинг идет следующим образом. ipfw nat (kernel) ng nat natd Меньше всего грузит систему именно ipfw nat Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
2ihi Опубликовано 6 июня, 2011 · Жалоба Мой рейтинг идет следующим образом. ipfw nat (kernel) ng nat natd Меньше всего грузит систему именно ipfw nat ИМХО 1.PF NAT + agressive 2.ipfw NAT 3.NG NAT 4.NATD первый не сказать что в разы, но быстрее. Натит до 800мб\сек на 32 адреса в каждый ИП по /24 сетка завернута оперирует всем 8.2 фряX64 с 2xXeon E5460, он же маршрутизит на 7 интерфейсов в т.ч. инет через lagg о ~800mbps в час пик. binat - это трансляция сети в сеть, т.е. (если мне память не изменяет) тупо меняет скажем 192.168.0.0/24 в 62.15.16.0/24 и обратно. применялось давно в качестве заплатки на кривость рук и как следствие кривость маршрутизации :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
caz Опубликовано 6 июня, 2011 · Жалоба выбор пал на pf, пока доволен nat_10G# pfctl -si No ALTQ support in kernel ALTQ related functions disabled Status: Enabled for 2 days 22:43:50 Debug: Urgent State Table Total Rate current entries 511399 searches 66242645155 260152.6/s inserts 1073620385 4216.4/s removals 1073108986 4214.4/s Counters match 4123564220 16194.3/s bad-offset 0 0.0/s fragment 20071 0.1/s short 3424288 13.4/s normalize 0 0.0/s memory 0 0.0/s bad-timestamp 0 0.0/s congestion 0 0.0/s ip-option 1 0.0/s proto-cksum 854072 3.4/s state-mismatch 2175192 8.5/s state-insert 0 0.0/s state-limit 0 0.0/s src-limit 0 0.0/s synproxy 0 0.0/s nat_10G# netstat -w1 input (Total) output packets errs idrops bytes packets errs bytes colls 507927 0 0 417395353 496043 0 417415206 0 504416 0 0 417048566 492349 0 416103187 0 512486 0 0 423252236 500738 0 422240643 0 509881 0 0 420324841 497159 0 418901467 0 509690 0 0 419741694 498244 0 418474526 0 504826 0 0 416572384 492656 0 415470689 0 503184 0 0 417901110 491040 0 416839754 0 513832 0 0 426541917 501968 0 425087011 0 511124 0 0 423056683 498789 0 421899454 0 494034 0 0 406351183 481640 0 406272692 0 493205 0 0 404245612 481932 0 402998981 0 495217 0 0 404396253 483272 0 403166908 0 508016 0 0 411733578 495702 0 410017315 0 nat_10G# ifstat -b ix0 ix1 em0 Kbps in Kbps out Kbps in Kbps out Kbps in Kbps out 1.04e+06 2.25e+06 2.26e+06 1.05e+06 0.00 0.00 1.01e+06 2.09e+06 2.09e+06 1.01e+06 0.00 0.00 992835.3 2.08e+06 2.09e+06 994844.6 0.00 0.00 985792.9 2.22e+06 2.23e+06 983862.9 0.00 0.00 1.03e+06 2.19e+06 2.20e+06 1.03e+06 0.00 0.00 1.07e+06 2.20e+06 2.21e+06 1.07e+06 0.00 0.33 1.02e+06 2.26e+06 2.27e+06 1.02e+06 0.00 0.00 загрузка cpu - 50% при этом почти никакого тюнинга в loader.conf и sysctl. в драйверах сетевухи поправил число прерываний и все.. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...