Jump to content

Recommended Posts

Posted (edited)

Доброго времени суток!

Прошу совета :(

Дано:

Сервер под OS FreeBSD 8-Stable, mpd 5.5 в качестве PPPoE терминации.

PF, и в качестве фаерволла и в качестве NAT.

Сетевуха в мир em1, внутрь em0, диапазон адресов для PPPoE - 10.255.0.0/16(Помимо клиентов получающих сразу внешний вдрес на интерфейс PPPoE)

Натилось раньше элементарно так:

pf.conf

nat on em1 from 10.255.0.0/16 to any -> ххх.ххх.ххх.ххх 

Было принято решение переходить на на ipfw, а заодно и на его нат, libalias, все же.

 

Сделано:

KERNEL

options         IPFIREWALL
options         IPFIREWALL_FORWARD
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_NAT
options         IPDIVERT # На всякий случай
options         IPFIREWALL_DEFAULT_TO_ACCEPT # Уж очень далеко до него добираться
options         LIBALIAS

 

Затем в rc.conf

firewall_enable="YES"
firewall_nat_enable="YES"

 

Перезагружаемся, далее

pfctl -d
ipfw nat 1 config if em1 (опции)
ipfw add 100 nat 1 ip from 10.255.0.0/16 to any via em1 

 

Ожидаемого результата не последовало. =)

Счетчики в ipfw show показывают что под правила попадают пакеты.

Если смотреть tcpdump'ом - в ng интерфейс от клиента прилетел icmp echo request, благополучно отнатился и улетел в em1.

В ответ на em1 пришел echo-reply, но в ng к клиенту почему то не вылетел.

 

Опции типа unreg_only и пр. проверял, device pf из ядра убирал.

 

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

Edited by andrew_fobos
Posted (edited)

 

Опции типа unreg_only и пр. проверял, device pf из ядра убирал.

 

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

 

В rc.conf

оставте только

firewall_enable="YES"

 

 

cat /etc/rc.firewall

#!/bin/sh
ext_ip="1.1.1.1"

fwcmd="/sbin/ipfw"
${fwcmd} -f flush

${fwcmd} nat 123 config ip ${ext_ip} log
${fwcmd} add 10 nat 123 ip from 10.255.0.0/16 to any
${fwcmd} add 20 nat 123 ip from any to ${ext_ip}

Воля и все натится

Edited by roysbike
Posted

${fwcmd} add 20 nat 123 ip from any to ${ext_ip}

Все получилось, Спасибо!

мда... в голову после ната на pf, да и после SNAT в ipt, как то такая конструкция не пришла =)

Еще раз спасибо за помощь!

  • 8 months later...
Posted

Помогите настроить snat на ipfw nat kernel. На pf все прозрачно ,но в связи с болшим поток хочу попробываИть kernel nat, libalias все же. Имеем пул белых адресов , алиасом на внешнем интерфейсе, можете показать внятный пример как завернуть на локальный ip?

Posted

А что у вас плохо с pf? Тут вон 800 мег натит и не жужжит, + 3 фуллвью на тазике. Шейпинг куда более ресурсозатратен, оно на отдельном тазике.

Posted (edited)

А что у вас плохо с pf? Тут вон 800 мег натит и не жужжит, + 3 фуллвью на тазике. Шейпинг куда более ресурсозатратен, оно на отдельном тазике.

да у меня более 2.5 гбит, без bgp , только NAT. Но есть сеть /26 , раздаю через PFnat на локальный ip клиента. У коллеги тачка с меньшими характеристиками жует почти 4 гбит. Но у них ipfw nat. Вот и хочу попробывать и сравнить.

Edited by roysbike

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.