Настройка BGP на Juniper MX — балансировка трафика

Приведу пример настройки eBGP на Juniper MX204 с несколькими аплинками и балансировкой трафик между ними.

Читать далее «Настройка BGP на Juniper MX — балансировка трафика»

Juniper MX. Как отправить трафик клиентов на NAT сервер

Допустим на Juniper MX нет маршрута по умолчанию либо он не подходит, либо трафик клиентов нужно отправить на разные NAT сервера, в этой статье я опишу как это сделать.

Читать далее «Juniper MX. Как отправить трафик клиентов на NAT сервер»

Установка и настройка xt_NAT

Приведу пример установки и настройки xt_NAT в Ubuntu Server 14.04 с версией ядра 4.4.0-142. На новых версиях ядра xt_NAT может не работать. По словам разработчика должно работать на Linux Kernel 3.18 и 4.1. Чтобы работало на новых версиях ядра, можно найти патчи.

Читать далее «Установка и настройка xt_NAT»

Блокировка SPAM за NAT сервером

В этой статье я приведу пример обнаружения и блокировки рассылки спам сообщений за NAT сервером.

Читать далее «Блокировка SPAM за NAT сервером»

Изменение gc_thresh в Linux

В этой статье я приведу пример изменения gc_thresh в Linux, этот параметр обычно нужно увеличивать на высоконагруженных серверах доступа.

Читать далее «Изменение gc_thresh в Linux»

Модули NAT для VPN, FTP, SIP

Допустим на Linux сервере настроен SNAT или маскарадинг, допустим как я описывал в статье Настройка маскарадинга (NAT) в Ubuntu. Но если за NAT много клиентов подключается к внешним серверам PPTP, FTP, SIP, то у них будут проблемы с подключением.

Читать далее «Модули NAT для VPN, FTP, SIP»

Настройка Hairpin NAT на RouterOS (Mikrotik)

В этой статье я приведу пример настройки Hairpin NAT на RouterOS (Mikrotik).

Бываю случаи когда в локальной сети находится например сервер или видеорегистратор, порты к которому проброшены в фаерволе, но подключиться можно только из других сетей, а из локальной сети получается только по локальному IP адресу, но не по внешнему, что на WAN интерфейсе маршрутизатора.

Читать далее «Настройка Hairpin NAT на RouterOS (Mikrotik)»

Разница между MASQUERADE и SNAT

В этой статье я кратко опишу разницу между MASQUERADE и SNAT.

MASQUERADE. Менее быстрая маршрутизация чем SNAT при массовых запросах, так как для каждого нового соединения определяется IP адрес на внешнем сетевом интерфейсе (WAN). Отлично подходит для маршрутизаторов домашнего использования и когда меняется IP адрес на WAN интерфейсе.
Читать далее «Разница между MASQUERADE и SNAT»

Причина увеличения RX overruns на сетевом адаптере

Заметил однажды на одном из серверов доступа, что немного растет значение RX overruns.

Выполнил несколько раз команды (где p2p1 и p2p2 — имя сетевых интерфейсов):

ifconfig p2p1
ifconfig p2p2

Увеличивалось только значение RX overruns, на 10 пакетов каждую секунду, при трафике около 2Gb/s (100 000 пакетов в секунду).
На сервере был установлен сетевой адаптер «HP NC552SFP 10Gb 2-Port Ethernet Server Adapter» с сетевым контроллером от Emulex.

Посмотрев размер максимального и текущего буфера:

ethtool -g p2p1
ethtool -g p2p2

Обнаружил, что буферы установлены на максимум, TX буфер — 4096, а максимально возможный RX буфер был только 512.
Смотрите также мою статью — Изменение TX и RX буферов сетевых интерфейсов в Linux

Посмотрев правильно ли распределены прерывания сетевой платы по ядрам процессора:

grep p2p1 /proc/interrupts

Обнаружил что у сетевого адаптера 4 IRQ прерывания максимум, и irqbalance соответственно их распределил на 4 ядра, а ядер то 24.

Проблему решил заменой сетевого адаптера на более дорогой — «665249-B21 Контроллер HP Ethernet 10Gb 2-port 560SFP+ Adapter» с сетевым контроллером Intel 82599.
После этого ошибка не наблюдалась, RX и TX буферы были 4096, а IRQ распределено на все 24 ядра.
Спустя пару дней, счетчики ошибок оставались по нулям:

p2p1      RX packets:62535001155 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36343078751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:77395016742081 (77.3 TB)  TX bytes:10991051263063 (10.9 TB)

p2p2      RX packets:35672087256 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58598868464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10996254475480 (10.9 TB)  TX bytes:73378418623349 (73.3 TB)

Вероятно предыдущий сетевой адаптер был какой-то урезанной версии, так как цена была в два раза ниже, да и вообще для серьезных целей лучше использовать сетевые адаптеры с контроллером от Intel.

Смотрите также мою статью Настройка сети в Linux