Dushes Posted April 18, 2009 Posted April 18, 2009 Вообщем видел как работает nat трансляция средствами mpd5 (netgraph), абсолютно прозрачно для ipfw ... Меня это очень порадовало, очень удобно .... Подскажите пожалуйста как сделать подобное только для обычного внешнего интерфейса (созданного не mpd) ? Вставить ник Quote
Dushes Posted April 18, 2009 Author Posted April 18, 2009 3 прочитал не помогло :) # man ng_nat # Create NAT node ngctl mkpeer ipfw: nat 60 out ngctl name ipfw:60 nat ngctl connect ipfw: nat: 61 in ngctl msg nat: setaliasaddr x.y.35.8 # Divert traffic into NAT node ipfw add 300 netgraph 61 all from any to any in via fxp0 ipfw add 400 netgraph 60 all from any to any out via fxp0 далее написано The ng_nat node can be inserted right after the ng_iface(4) node in the graph. вот как раз именно вопрос в том, что бы не надо было заварачивать трафик через ipfw туда .... просто указывать шлюз куда за ethernet интерфейсом, а пакеты что бы уже сами проходя через ethernet интерфейс натились ng_nat Вставить ник Quote
mikevlz Posted April 18, 2009 Posted April 18, 2009 ну тогда еще man ng_iface раз пять... И нарисовать схему прохождения пакетов по нетграфу. Ну или при работающем mpd5 с нетграфовым натом сделать ngctl dot, который попробовать открыть graphViz-ом. И посмотреть как это делает Mpd вешая нат на интерфейс Вставить ник Quote
Ilya Evseev Posted April 23, 2009 Posted April 23, 2009 Старый код, перешёл с него на pf nat: mknat() { iface=$1 index=$2 ngnat_inrule=$3 ngnat_outrule=$4 nat_ipaddr=$5 ipfw add $ngnat_inrule netgraph $ngnat_inrule ip from any to me via $iface in ipfw add $ngnat_outrule netgraph $ngnat_outrule ip from $nat_lan to any via $iface out ngctl mkpeer ipfw: nat $ngnat_outrule out ngctl name ipfw:$ngnat_outrule nat$index ngctl connect ipfw: nat$index: $ngnat_inrule in ngctl msg nat$index: setaliasaddr $nat_ipaddr } # 5000 = de-nat incoming before traffic accounting # 6000 = nat outgoing after traffic accounting and shapers test -n "$nat_ipaddr1" && mknat $ext_nic1 1 5001 6001 "$nat_ipaddr1" test -n "$nat_ipaddr2" && mknat $ext_nic2 2 5002 6002 "$nat_ipaddr2" ... Вставить ник Quote
Dushes Posted May 6, 2009 Author Posted May 6, 2009 Почитав документацию понял что на ether ифейсах это не возможно .. Вставить ник Quote
nevzorofff Posted October 18, 2009 Posted October 18, 2009 Я вот два дня уже почитываю доки, а с ng_eiface не получится завернуть в ng_nat пакетики? Между ng_eiface и ng_ether, к примеру или на выходе с ng_eiface уже готовые ethernet кадры, а не ip пакеты? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.