Freebsd чи Linux? як маршрутизатор BGP понад 100 Мбіт / с


10

Я будую сервер, щоб діяти як маршрутизатор кордону BGP для моєї вхідної мережі в 100 Мбіт / с.

Мені потрібні такі функції:

1) Пирінг / маршрутизація з двома стеками BGP (принаймні 100 Мбіт / с, можливо більше). 2) Потенційний повний Інтернет-канал BGP. 3) Деякі основні функціональні можливості ACL.

Апаратне забезпечення - L3426 / 8G таран. NIC буде бортовим двопортовим Broadcom 5716.

Раніше я широко працював з Linux, і, здається, він може працювати з 100 Мбіт / с, але я чув, що FreeBSD швидше працює над мережевими матеріалами. Який я повинен використовувати? А чи є у нас якісь показники показників ефективності?

Ура.


1
будь-яка причина, чому ви не використовуєте маршрутизатор cisco bgp? На жаль, більшість дослідників, які дозволяють клієнтам працювати з bgp, уточнюють цю вимогу для "сумісності"
Unix Janitor

9
Ем, вперше я чув про це обмеження, і я працюю в мережі, яка почалася з Quagga / Debian на Dell PowerEdge, аж до набору Juniper та Cisco. Також має справу з великою кількістю різних транзитних постачальників та обмінів. Якщо Інтернет-провайдер накладає таке обмеження, замініть їх на когось компетентного.
Найлл Донеган

1
Сторона зауваження, оскільки це маршрутизатор, я б дуже рекомендував помістити туди NIC карту як резервну копію. Якщо на борту виходить погано, ви замінюєте mobo замість того, щоб замінювати швидку картку PCIe.
Chris S

1
Ви витрачаєте гроші. Дешева коробка від Mikrotik (наприклад, RougerBoard 1100AH) може впоратися з цим за нижчу ціну і базується на Linux.
TomTom

Кілька людей запропонували використовувати спеціальний нік, а не бортові Broadcom. У блозі Serverfault є кілька цікавих публікацій з цього приводу.
ollybee

Відповіді:


11

Ми робили саме це для критичної інфраструктури протягом багатьох років. Ми беремо три повні BGP-канали через Quagga, bgpdі він використовує колосальні 658 Мб оперативної пам’яті для запуску всієї системи. З цією метою Debian є набагато більш надійним, ніж інші ОС на нашому досвіді (і йому також потрібно менше оновлень безпеки при мінімальному розмірі встановлення, викликаючи набагато менше перезавантажень, ніж дві інші ОС, які ми пробували). Ми використовуємо Ksplice, тому завантажуємо лише критичні оновлення пакета. Не турбуйтеся взагалі про сумісність з іншими постачальниками вашого провайдера ... RIPE RIR використовуйте Quagga!

Дивно, але обладнання не так важливо, це все про NIC. Швидкі процесори в основному означають, що префікси завантажуються швидше, якщо ви оновлюєте сеанси (припускаючи, що у вас є ГБ оперативної пам’яті, і вони завантажуються в пам’ять), тому Quad Core початкового рівня значно перевищується. Ми витрачали тривалий час, пробуючи різні NIC, і, на наш досвід, найкращими є картки Intel, які використовують igbдрайвер (приблизно за £ 100 / NIC ми використовуємо: 82576, ET Dual Port Server Adapter) зe1000найближчий другий. Існує декілька міркувань, як, наприклад, що ваші вхідні та вихідні NIC розмовляють з основною платою, але для підводних 250 Мбіт / с ви, мабуть, не помітите, якщо використовуєте ці NIC. Ми відбили складну атаку UDP DDoS за допомогою цієї архітектури (вона використовувала найдрібніші пакети UDP, з якими маршрутизатори намагаються обробляти). Майте на увазі, що обробляти найбільшу кількість пакетів - це те, що вас найбільше хвилює, а не обов’язково пропускну здатність, вимірюється в Мбіт / с. За дуже маленькі гроші ми вказали багатогалузевий маршрутизатор Gigabit, який може працювати зі стандартними пакетами Інтернет, тобто нормальною роботою, до 850 Мбіт / с!

Я почав із Cisco ( bgpdконфігурація майже однакова, тому якщо у вас є досвід роботи з набором Cisco, це дуже швидкий перехід), але через те, що Linux настільки придатний (наприклад, можливість додати кілька сценаріїв з низьким рівнем ресурсів до маршрутизаторів щоб допомогти з доповіддю та адміністратором) IMHO робить це неймовірно потужним (і недооціненим) для цього типу налаштування. Якщо ви все ще сумніваєтесь чи потребуєте подальшої допомоги, ви не можете помилитися, прочитавши деякі архіви списку розсилки Nanog .

З цим слід швидко почати роботу з Debian: Easy Quagga Tutorial


Іншою перевагою роботи Linux є те, що ви можете легко формувати свій трафік tcза допомогою початкової кривої навчання tc. Однак застереження означає, що запуск IPtables у вашому вікні переадресації значно знижує продуктивність ядра під час атак від того, що ми бачили.
Джонатан Росс

Я хотів би дізнатися більше про проблему материнської плати Nic <->. Крім того, скільки піпс ви успішно вмієте обробляти?
Joris

У нашому середньому розмірі пакету (в основному HTTP, SMTP, DNS) ми повинні управляти двосторонніми 850 Мбіт / с. У DDoS було 120 000 пікселів на 64 байт UDP-пакетів. Ефект був незначним на продуктивність, але ми не натискали на стільки трафіку, коли він потрапляв.
Джонатан Росс

Ми вибрали материнську плату з двома непоєднаними швидкими слотами PCIe, щоб буфери не були вузькими місцями. Я забуваю термінологію, тому що минув час, коли ми придбали обладнання. Один для виходу, один - для проникнення. Цілком стандартні в наші дні.
Джонатан Росс

5

Вони обоє здатні платформи. Запустіть щось міцне, як Debian або Centos, на гарному сервері. Переконайтеся, що ви вказуєте сервери з NIC серверів Intel, вони стабільніше, ніж Broadcomm.

Що стосується BSD проти Linux, то це легко. Виберіть те, з ким ви найбільш компетентні.


5
+1, FreeBSD, як правило, може включати Linux у орієнтири, але різниця (якщо така є) є настільки малою, що вам слід просто вибрати платформу, якою вам найбільше подобається.
Chris S

3

Я бачив, як старі Celerons обробляють 80-90 Мбіт / с нормального трафіку на налаштуваннях Debian / Quagga з 3 повноцінними каналами, навіть не порушуючи потужність. Однак у класифікатора є "нормальний" трафік, в основному HTTP / SMTP і DNS. Ті ж машини впали на обличчя під час DDOS-ситуацій, коли пакети за секунду переходили до смішного числа переважно пакетів UDP.

Зазвичай це не пропускна здатність, про яку ти зазвичай не повинен турбуватися, але PPS, з яким ти будеш працювати.

На жаль, я не можу допомогти вам на Linux VS BSD для маршрутизації продуктивності частини питання, але це не повинно мати жодних змін у поточному апаратному забезпеченні для декількох 100Mb з'єднань.


2
"продуктивність маршрутизації" не є. Насправді це "переадресація".
poige

Справедливий коп, гув! :)
Niall Donegan

0

Quagga (Zebra) працює як на Linux, так і на BSD. Продуктивність роботи в мережі Linux не гірша, ніж у BSD. Отже, вам залишається розглянути додаткові критерії для вибору платформи.


0

Точка даних:

Я запускаю пару серверів Dell R200 на Fedora, на одному з яких спостерігається пік 500 Мбіт / с з NAT, iptables, LVS, quagga, bgpd через посилання 1GigE. При 100 Мбіт / с будь-яке сучасне обладнання повинно робити добре. Для обробки повних таблиць ви повинні мати можливість проконсультуватися з відповідними вимогами оперативної пам'яті від Cisco або Juniper і піти звідти. 1 ГБ оперативної пам’яті повинно вистачити навіть без фільтрації. Мої маршрутизатори працюють із налаштованим 2 Гб, але я приймаю лише маршрути за замовчуванням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.