Титла: Pf route to Публикувано от: prilep в Feb 02, 2007, 21:50 Имам 2 isp-та на едно PC, което e в lan и прави nat за лан-а. Целта ми е единия isp да работи изцяло за lan-a, т.е. само lan-а да минава от там, а другия isp да е изцяло за PC-то на което са пуснати апачи, поща и др. Сложих за default router - gw-а на isp1 , a пакетите от lan-а рутирам с pf route to към gw2 на isp2. Това е pf.conf:
Проблема ми е, че така както съм го направил сега - нещо явно не е наред. В lan-а интернета е ужасен - когато пингвам от там (от някое pc в lan-а) пинг ту има , ту няма - имам чувството че произволно понякога минават пакетите, понякога не. Явно някъде бъркам - някакви предположения/предложения ? Титла: Pf route to Публикувано от: Hapkoc в Feb 03, 2007, 10:28 Нямам идея защо имаш такива грижи във вътрешната мрежа, ама айде вземи си оправи малко правилата. Примерно смени 'pass all' на 'block all' като за начало.
И я обясни малко по-ясно кой доставчик ти е за локалната мрежа, кой ти е за услугите на сървъра и през кой ти е шлюза по подразбиране и към кой маршрутизираш с route-to, че малко се обърках. Аз лично у нас съм го направил така: default gateway е през доставчика, който се ползва от компютрите в локалната мрежа за достъп до интернет, а с reply-to правила съм указал откъде да излизат пакетите, които са отговори на заявки към услуги, работещи на маршрутизатора ми. Титла: Pf route to Публикувано от: prilep в Feb 03, 2007, 11:11
Идеята е следната - на gw имам 2 ISP-та: ISP1 и ISP2. Искам ISP2 да се използва единствено и само от LAN-а които е зад gw-a, а ISP1 да се използва от самия gw. Причините да го направя така са няколко - ето една: ISP2 ми дава сравнително висока скорост, но не е много стабилно: тоест 3 дена има нет, след това 1 ден няма ![]() ISP1 пък ми дава сравнително ниска скорост - но пък много стабилна - там няма спиране, което е идеално за gw-a, на който както казах са пуснати апачи , поща и др. Относно pass all и block all - не това ми е проблема в момента.
ISP1: gw - EXT_GW1 , интерфейс - EXT_IF1 ISP2: gw - EXT_GW2 , интерфейс - EXT_IF2 ISP1 - този е за маршрутизатора ISP2 - този е за локалната мрежа default gw в момента е EXT_GW1
Paste малко правила, че така не ми стана много ясно ![]() Edit: При опит да ping dir.bg примерно от компютър в локалната мрежа - първия ping минава втория не - и така .. явно нещо съм пропуснал ![]() Ето малко лог:
Където x.x.x.x ми е IP-то на EXT_IF2, а rl0 ми е INT_IF1. При първия пинг всичко е Ок - пакета минава през правило 18 - което съответства на това нещо:
при втория пинг, който е неуспешен - не се минава през това правило ![]() Титла: Pf route to Публикувано от: Hapkoc в Feb 04, 2007, 11:51
default gateway през isp1 -- pf.conf -- nat on $ext_if1 from $int_if to !$int_if:network -> ($ext_if1) block all pass in on $int_if from $int_if:network to !$int_if:network keep state pass out on $ext_if1 from $int_if to !$int_if:network keep state pass in on $ext_if2 reply-to ($ext_if2 $ext_gw2) proto tcp to ($ext_if2) port www keep state -- pf.conf -- Това е съвсем упростено, но общо взето това е основното. Не мога да стопля какво се случва при теб с този ping, обаче все ми се струва, че пакетите от вътрешната мрежа се NAT-ват към единия интерфейс, след което се маршрутизират през другия. След NAT-а пакета минава през правилата за филтриране, там минава през pass all, после през pass in on $INT_IF ..., след това през последното route-to правило и се опитва да излезе през грешния интерфейс. Защо обаче един ping минава един не минава не мога да зацепя... Титла: Pf route to Публикувано от: prilep в Feb 04, 2007, 13:11 Реших "проблема" - по невнимание съм сложил {} скоби вместо ()
Трябва да изглежда така:
|