Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 15, 2006, 12:17 имам следните неща
един комп с три карти eth0: 87.118.17.250 mask 255.255.255.0 eth1: 192.168.10.1 mask 255.255.255.0 eth2: 192.168.25.1 mask 255.255.255.0 eth2 е ADSL. като сложа разни такива: route add -net 212.39.72.0/24 gw 192.168.25.1 route add -net 212.39.65.0/24 gw 192.168.25.1 заявките от 192.168.10.1/24 към www.btc.bg минават през този линк eth2 . Проблема е следния: имам още един комп с : eth0: 87.118.17.252 mask 255.255.255.0 eth0:1 192.168.1.1 mask 255.255.255.0 може ли по подобен начин да насоча заявките към определини мрежи ... примерно така: route add -net 212.39.72.0/24 gw 87.118.17.250 за моженето може... ама ако може и да работи... така че ако някой от 192.168.1.1/24 на втората машина иска да гледа www.btc.bg да мине през 87.118.17.250 а от там през ADSL-a ![]() mersi Титла: Adsl lan lan adsl i tn Публикувано от: BRADATA в Jul 15, 2006, 15:22 Би ли описал малко по-подробно мрежовата конфигурация на втората машина? С две карти ли е, каква и е функцията в мрежата етц...
Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 15, 2006, 20:03 втората машина прави НАТ
![]() Титла: Adsl lan lan adsl i tn Публикувано от: BRADATA в Jul 16, 2006, 00:25 Дай route таблиците и на двете машини, защото както описваш ситуацията не трябва да имаш проблем. Също така конфигурациятра на firewall-а на първата машина.
бтв Двате машини виждат ли се? (пинг етц?) Титла: Adsl lan lan adsl i tn Публикувано от: Hapkoc в Jul 16, 2006, 12:50 Не би трябвало да имаш проблем, мисля, че е достатъчно да включиш препращането на пакети на първата машина:
sysctl -w net.ipv4.ip_forward=1 (net.ipv4.ip_forward=1 го слагаш и в /etc/sysctl.conf). Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 16, 2006, 20:00 на първата машина рута е:
на втората:
![]() Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 16, 2006, 21:14 така всъщност до сега установих че заявките трагват от втората машина стигат до първата от там минават през АДСЛ-а
ама не се връщат. т.е. с tcpdump виждам на този интерфейс само да излизат. а също така: от машината с адсл:
а от машинка зад НАТ-а
Титла: Adsl lan lan adsl i tn Публикувано от: Hapkoc в Jul 17, 2006, 23:32 Значи - понеже гледам, че на двете машини имаш публични адреси (87.118.17.250 и 87.118.17.252), та мисълта ми е такава - ако си сложил маршрут към дадена мрежа на 87.118.17.252 през 87.118.17.250 и си пуснал препращането на пакети на 87.118.17.250, би трябвало (както казваш) пакетите за съответната мрежа да минават през 87.118.17.250 и да отиват до там. На връщане, т.к. на 87.118.17.250 не се осъществява NAT, по какъв маршрут ще минат пакетите зависи от маршрутизаторите по-пътя.
Може би трябва да дадеш малко разяснения относно физическата връзка м/у 87.118.17.250 и 87.118.17.252, а също и към 87.118.17.252 през 87.118.17.250 и си пуснал препращането на пакети на 87.118.17.250, би трябвало (както казваш) пакетите за съответната мрежа да минават през 87.118.17.250 и да отиват до там. На връщане, т.к. на 87.118.17.250 не се осъществява NAT, по какъв маршрут ще минат пакетите зависи от маршрутизаторите по-пътя. Може би трябва да дадеш малко разяснения относно физическата връзка м/у 87.118.17.250 и 87.118.17.252, а също и към 192.168.1.0/24. Ако правилно съм разбрал, че правиш NAT през картата, на която е конфигуриран и 87.118.17.252 адрес, то не ми се струва много удачно. Титла: Adsl lan lan adsl i tn Публикувано от: Dean79 в Jul 18, 2006, 07:39 При наличието на 2 шлюза трябва да бъдеш сигурен, че пакетите ще се връщат през същия интерфейс.
Прочети това: http://lartc.org/howto/lartc.rpdb.multiple-links.html Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 18, 2006, 10:50 това го четох
![]() обаче явно съм мноо тъп и като направих резултата беше че нито разбирам кво правя нито направих нещо, та искам да кажа че съм се пробвал преди да пиша глупости по форумите. а двете машини са свързани през суич.. Титла: Adsl lan lan adsl i tn Публикувано от: Hapkoc в Jul 18, 2006, 11:18 Добре де, дай малко подробности. Примерно:
машина едно има такиви и такива интерфейси, те са свързани насам и натам. машина две има такива и такива интерфейси, те са свързани там и там. машините от 192.168.1.0/24 са свързани по ето този начин към машина две. линията от доставчик едно влиза еди къде си, тази от доставчик две - еди къде си. Може и картинка някаква да направиш за по-нагледно. Титла: Adsl lan lan adsl i tn Публикувано от: в Jul 18, 2006, 12:22 Пейстни си nat таблицата на втория компютър, мисля че се досещам откъде идва проблема...
Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 18, 2006, 14:02 хех ми да пасте-на:
Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 18, 2006, 15:02
наистина разбирам това че е нужно да укажа това от каде да се връщат пакетите. и също така разбирам че това се прави и управлява с допълнителни таблици . с ip route....... но следвайки точно това което е описано не се получи нищо. е само си спрях тотално интернета. Титла: Adsl lan lan adsl i tn Публикувано от: в Jul 18, 2006, 15:02
Ето това е проблемa.. За destination-ите, за които ще минава през другата машина SNAT не бива да се прави, защото ще стане следното, когато примерна машина (да речем 192.168.1.5) реши да се свърже с btc.bg: 192.168.1.5 иска да се свърже с www.btc.bg: src 192.168.1.5 dst www.btc.bg via 192.168.1.1, syn (SNAT): src 87.118.176.252 dst www.btc.bg via (static route) 192.168.25.1, syn (forward): src 87.118.176.252 dst www.btc.bg via 87.118.176.250 ........ syn пакетът достига до www.btc.bg, връща се syn-ack, за да се установи връзка: src www.btc.bg dst 87.118.176.252, syn-ack пакетът се връща обаче по друг маршрут и отговорът отива на съвсем друг интерфейс на машината 192.168.1.1 - на интерфейсът с IP адрес 87.118.176.252. Това става понеже рутерите на доставчика ти нямат идея, че за да стигнат до 87.118.176.252, трябва да минават през 87.118.176.250 (и добре че нямат). Та просто обратния маршрут не минава през 87.118.176.250 и точка. Сещам се за два начина да се разреши това: В линукс има едно нещо наречено route path verification - т.е ако отговорът от хост ти се върне по друг интерфейс, а не по този от който се очаква, пакетът просто се дропи. Това е вид защита от spoofing. Така че можеш да пробваш на втората машина да направиш : echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter за да изключиш този механизъм (и теоретично да си носиш риска от атаки с подправени пакети). А има и по-добър вариант: просто недей да нат-ваш на втората машина пакети с destination: www.btc.bg. Така маршрута на отиване и връщане ще бъде един и същ ![]() Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 18, 2006, 16:12 ами тя идеята е да минат през 250 защото там има АДСЛ
иначе за кво да го правя. а как така да не ги натвам за бтц.бг аз бтц.бг го дажам за пример ... става въпрос за всичките мрежи на бтц а като гледам в рипе те са си накупили към 25 как да ги изключа от правилото всичките ![]() Титла: Adsl lan lan adsl i tn Публикувано от: в Jul 18, 2006, 16:48 Ами ей така. CIDR маски съвсем спокойно може да се използват с iptables. В най-лошия случай ще напишеш 25 правила, но ако се справяш по-добре с математиката ще ги съкратиш поне няколко пъти. Да не говорим, че 25 правила по никакъв начин няма да ти затормозят performance.
П.П. ебахмааму, ся забелязах че първата машина също била директно навързана към 192.168.1.0/24 мрежата. Много объркано става за жалост. Значи няма да стане без нат-ване на втората машина. Единственият вариант е с rp_filter = 0, несиметричен рутинг и кофтите последствия от това.. Титла: Adsl lan lan adsl i tn Публикувано от: в Jul 18, 2006, 17:43 Хм, или на първата машина да правиш nat на реалния адрес на втората машина, колкото и причудливо да изглежда, пак е вариант..
Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 18, 2006, 23:49 добре то тва е ясно че ще станат много батаци така че викам да питам тогава друго по същия въпрос.
щом не става така да направа друго. т.е. това с мултилинк ама какво става не знам а и ми е много чудно ако направя точно така както пише тука: http://lartc.org/howto/lartc.rpdb.multiple-links.html ... значи: ip route add 87.11.11.0/24 dev eth0 src 87.11.11.254 table T1 ip route add default via 12.12.12.1 table T1 ip route add 192.168.25.0/24 dev eth2 src 192.168.25.2 table T2 ip route add default via 192.168.25.2 table T2 до тука хубаво ама много ми е интересно как вообще някакъв трафик ще тръгне да минава през 192.168.25.1. 87.11.11.0 е няква мрежа, 12.12.12.1 е gw. 192.168.25.0/24 примерно е мрежата която пуска АДЛС на ЛАН частта си. за това се питам дори и да ги напиша другите работи от наръчника къв е смисала Титла: Adsl lan lan adsl i tn Публикувано от: в Jul 19, 2006, 08:37 Ами много накратко казано, ще ти свърши работа ако жертваш още една машина за default gw на всички останали без първите 2. На нея можеш да си дефинираш такива таблици (ще трябва и правила - ip rule add blabla). Можеш да балансираш между двете линии (по желание с приоритет на едната върху другата - weight), а можеш да си правиш и таблици с мрежи за които да се минава през даден маршрут. Конкретно в твоя случай обаче ако ги сложиш на една от двете машини, пак ще се сблъскаш със същите проблеми - след като и двата гейтуей-а са ти в един мрежов сегмент, отиването ще бъде с един хоп повече от връщането.
Дори да жертваш още една машина обаче, трябва да внимаваш с настройката на адресите и събнетите, за да не опреш пак до този тъп проблем. Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 19, 2006, 21:28 ами да де тая машина дето писах е пред тия двете
![]() Титла: Adsl lan lan adsl i tn Публикувано от: в Jul 20, 2006, 09:36 Е, ами идеално. Измисляш им някакъв събнет (да речем 172.16.1.0/24). Слагаш на трите машини по едно ип от този събнет на интерфейсите, които са навързани там.
Клиентските машини не бива да са навързани във същия събнет, в който са навързани 2-та гейтуей-а накрая, в противен случай ще имаш същите проблеми. Важното е пакетите да излизат през тази трета машинка и да се връщат през нея, без на предпоследния хоп на връщане да се сетят, че има малко по-кратък път до крайната цел ![]() Титла: Adsl lan lan adsl i tn Публикувано от: edmon в Jul 20, 2006, 12:02 вече ми е много тъпо от тая работа и почвам да питам мноо ама какъв гейтуей да им сложа на тия машинки след основния гейтуей?
вече съм толкова замотан че хич не мислия кво правя ![]() Титла: Adsl lan lan adsl i tn Публикувано от: в Jul 20, 2006, 12:36 Да речем, че картинката изглежда така:
клиент1 \ gw1 клиент2 \ ---------- ------------ / клиент3 - | switch | --- | gateway|------- switch ..... / ----------- ------------ \ клиентХ/ gw2 На gateway (третата машина) си слагаш rulesets и routing tables според това, което си прочел в lartc . gw1, gw2 са ти двете машини - едната с АДСЛ-а, другата с етернета към провайдъра клиент1...Х имат default gw - адреса на gateway gateway има 2 интерфейса - един към "вътрешната мрежа", един към събнета с gw1, gw2. клиент1...клиентХ са в различен мрежов сегмент от gw1/gw2, за да не възниква гадния проблем. Това е най-читавия начин. |