Jump to content
Калькуляторы
NAT под FreeBSD.  

198 members have voted

  1. 1. Кто и какой использует NAT



NAT под FreeBSD. Кто и какой использует NAT на своих BRAS-Freebsd

А у вас стэйты именно NAT'овые? Я когда для всех остальных правил сделал "no state", их (states) количество существенно уменьшилось, что соответственно, дало возможность больше пропускать.

 

 

 

Share this post


Link to post
Share on other sites

Мде, народ под бордер с гигом трафа 5650*2 ставит :) С таким подходом natd можно заставить прокидывать гигабит :)

 

Трудится 2*5460, pf nat + ng_netflow + сенсоры + lagg + мелочевка под 8.2 суммарно до 300м доходило, при этом нагрузка 60% на все, дрова на ем яндекс. Сейчас пробую 9ку.. Пока ничего не могу сказать. Есть странности. Думаю, смотрю, изучаю.

 

пробовал все, от natd до pfnat, имхо, имхо, pf самый быстрый. Правда ipfw nat пробовал на его заре и может с тех пор много чего изменилось, но сам фаервол pf мне чет от раза к разу как я в него лезу нравится больше и больше.. И хрен с ним, с 1 ядром, все задачи которые на него возложены он выполняет на ура. Шейпер на другой сервачине и там пока трудится ipfw + dummy + тот же pfnat, всё устраивает, а лучшее враг хорошему, работает - не лезу :)

 

+PF NAT.

 

боже, какую старую тему я откопал...

Edited by 2ihi

Share this post


Link to post
Share on other sites

Тема старая, но видимо вечная.

 

Что то я на 9.1 и ngnat регулярно натыкаюсь на глюки какие то.

Придется что то менять.

Share this post


Link to post
Share on other sites

Сам долго мучился.

На 9-й ветке лучше всего показал себя pf.

 

Но в результате все равно НАТ вынес на линух - на порядок лучше.

Share this post


Link to post
Share on other sites

А как православно будет это на линухе сделать?

 

У меня довольно сложные правила. разного размера сети мапятся в разные ипы, научите, как?

Share this post


Link to post
Share on other sites

Сам НАТ через iptables завернуть можно весьма гибко и по всякому.

 

Сложности прочие можно и на брасе в виде фри оставить. В таком случае минимальная переделка нужна будет.

 

Если решите разделять - пишите что не получается - помогу чем смогу.

Share this post


Link to post
Share on other sites

как в iptables nat в пул ip-адресов реализовать?

Share this post


Link to post
Share on other sites

Но в результате все равно НАТ вынес на линух - на порядок лучше.

Факт :( Пришлось унести NAT с NASов на киске и прочих mpd на отдельный комп под убунтей, и поднять bgp меж ними...

Share this post


Link to post
Share on other sites

как в iptables nat в пул ip-адресов реализовать?

делаю так,

$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.0.0/23  -j SNAT --to-source 31.210.x.1
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.2.0/23  -j SNAT --to-source 31.210.x.2
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.4.0/23  -j SNAT --to-source 31.210.x.3
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.6.0/23 -j SNAT --to-source 31.210.x.4
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.8.0/23 -j SNAT --to-source 31.210.x.5
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.10.0/23 -j SNAT --to-source 31.210.x.6
и тд

Share this post


Link to post
Share on other sites

делаю так,

$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.0.0/23  -j SNAT --to-source 31.210.x.1
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.2.0/23  -j SNAT --to-source 31.210.x.2
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.4.0/23  -j SNAT --to-source 31.210.x.3
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.6.0/23 -j SNAT --to-source 31.210.x.4
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.8.0/23 -j SNAT --to-source 31.210.x.5
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.10.0/23 -j SNAT --to-source 31.210.x.6
и тд

А можно и просто

-j SNAT --to-source 31.210.x.1-31.210.x.6 --persistent

Share this post


Link to post
Share on other sites

делаю так,

$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.0.0/23  -j SNAT --to-source 31.210.x.1
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.2.0/23  -j SNAT --to-source 31.210.x.2
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.4.0/23  -j SNAT --to-source 31.210.x.3
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.6.0/23 -j SNAT --to-source 31.210.x.4
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.8.0/23 -j SNAT --to-source 31.210.x.5
$IPTABLES -t nat -A POSTROUTING -o $OUT_IFACE2 -s 172.30.10.0/23 -j SNAT --to-source 31.210.x.6
и тд

А можно и просто

-j SNAT --to-source 31.210.x.1-31.210.x.6 --persistent

Скажите , а если использовать --persistent , то внеш ip у клиента будет меняться или он будет статический?

Share this post


Link to post
Share on other sites

roysbike

IP будет меняться для разных destination по идее. Проблем это не вызывает, в пределах одного dst хоста IP будет постоянен.

Share this post


Link to post
Share on other sites

roysbike

IP будет меняться для разных destination по идее. Проблем это не вызывает, в пределах одного dst хоста IP будет постоянен.

не будет

Share this post


Link to post
Share on other sites

Кто-то сталкивался с проблемой ната ?

 

pf nat freebsd 10 NetXtreme II BCM5709 Gigabit Ethernet

 

при 100 мег трафика уже есть деградация, потеря пакетов, тупят страницы.

 

Что можете порекомендовать ?

Share this post


Link to post
Share on other sites

pf nat freebsd 10 NetXtreme II BCM5709 Gigabit Ethernet

 

при 100 мег трафика уже есть деградация, потеря пакетов, тупят страницы.

 

Обновить БИОС и фирмваре сетевой.

Потом выключить TSO и всякие проверки сумм на сетевой.

Share this post


Link to post
Share on other sites

Господа, а как сейчас обстоят дела с NAT на PF в FreeBSD 10/11 , он проде как теперь там SMP-friendly?

Share this post


Link to post
Share on other sites

В 11 точно работает, в 10.1 скорее всего тоже работает.

Share this post


Link to post
Share on other sites

В 11 точно работает, в 10.1 скорее всего тоже работает.

 

а с производительностью как? скажем 5-7Gbit/s in+out на 1 6-и ядерном E5-1650v3 вытянет?

Share this post


Link to post
Share on other sites

В 11 точно работает, в 10.1 скорее всего тоже работает.

 

а с производительностью как? скажем 5-7Gbit/s in+out на 1 6-и ядерном E5-1650v3 вытянет?

 

Мало данных.

Помимо толщины канала, нужны pps, кол-во трансляций, кол-во реальных IP.

Ну и нужен тюнинг сетевых карт.

 

Если 10Г сетевые, то там 8 очередей и будут плохо балансироваться с 6 ядрами проца.

Share this post


Link to post
Share on other sites

8 очередей и будут плохо балансироваться с 6 ядрами проца.

6 очередей из 8 что, на бсд нельзя заюзать? В лине вменьшую сторону очереди крутятся на ура, драйвер вроде тот же.

Share this post


Link to post
Share on other sites

В 11 точно работает, в 10.1 скорее всего тоже работает.

 

а с производительностью как? скажем 5-7Gbit/s in+out на 1 6-и ядерном E5-1650v3 вытянет?

 

Мало данных.

Помимо толщины канала, нужны pps, кол-во трансляций, кол-во реальных IP.

Ну и нужен тюнинг сетевых карт.

 

Если 10Г сетевые, то там 8 очередей и будут плохо балансироваться с 6 ядрами проца.

 

1М - 1,3М трансляций, PPS 500К-800К на порт.

 

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

Share this post


Link to post
Share on other sites

Вроде бы тоже по теме, на серверах для NAT в BIOS сейчас желательно ли включать HT и Inter® TurboMode Tech ?

Share this post


Link to post
Share on other sites

Турбо не знаю, скорее всего даже полезно, а хипертрединг вреден на маршрутизаторах.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this