Dushes Опубликовано 18 апреля, 2009 · Жалоба Вообщем видел как работает nat трансляция средствами mpd5 (netgraph), абсолютно прозрачно для ipfw ... Меня это очень порадовало, очень удобно .... Подскажите пожалуйста как сделать подобное только для обычного внешнего интерфейса (созданного не mpd) ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
jab Опубликовано 18 апреля, 2009 · Жалоба man ng_nat десять раз Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dushes Опубликовано 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 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 18 апреля, 2009 · Жалоба ну тогда еще man ng_iface раз пять... И нарисовать схему прохождения пакетов по нетграфу. Ну или при работающем mpd5 с нетграфовым натом сделать ngctl dot, который попробовать открыть graphViz-ом. И посмотреть как это делает Mpd вешая нат на интерфейс Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 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" ... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 23 апреля, 2009 · Жалоба человек хотел БЕЗ IPFW Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Dushes Опубликовано 6 мая, 2009 · Жалоба Почитав документацию понял что на ether ифейсах это не возможно .. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nevzorofff Опубликовано 18 октября, 2009 · Жалоба Я вот два дня уже почитываю доки, а с ng_eiface не получится завернуть в ng_nat пакетики? Между ng_eiface и ng_ether, к примеру или на выходе с ng_eiface уже готовые ethernet кадры, а не ip пакеты? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...