Gateway routing on linux

4 отговора 179 прегледа
#1

Gateway routing on linux

Здравейте. Имам няколко въпроса, които ще се опитам да задам компетентно, както и бих желал да ми отговорят хора разбиращи от networking+routing at linux. Въпросите и описанието на проблемите, който искам да реша, ще поставя подробно, за да няма недоразумения. Също така вярвам, че този мой пост ще бъде полезен на много други хора с подобни проблеми.

Та на въпроса. Искам да си прекарам LAN, но не и преди да настроя gateway-a. Целта е да имам интернет на всичките компютри. И едно уточнение. Целта ми е не да крада на доставчика интернета и/или да го продавам и шервам на някакви други хора. Всичко това ми е домашната "мрежа"(тя си е действаща отдавна) и всяко едно PC заслужава да има интернет. Щото повечето доставчици взимат и по някой друг лев за втори, трети и т.н. компютри, при положение че аз купувам например 64kb и това какво ще правя с тях си е моя работа. Но това е друга тема.

Топологията ми е следната:

______ISP IP?|___|192.168.0.1/24 |____________|------PC1(192.168.0.2/24)
Cloud(ISP) --- |GW|-------------------- |Ethernet switch|
___________|___|_____________|____________|------PC2(192.168.0.3/24)

GW: gateway
--- : Ethernet line(cat5 UTP)

На PC1 и PC2 задавам стандартни IP адреси class C с маска 24 .
На GW eth0 - 192.168.0.1/24 .
GW eth1 - ?
На GW-я върви Linux. Ще има firewall, IP masquerade и ...?

Повечето от доставчиците с които разговарях твърдят, че ще ми назначат реално IP, нещо което не ми е много ясно какво означава. Тук мислите ми са базирани на предположения, като се надявам да ме поправите ако греша. На всяка нова конекция ми се задава IP динамично(DHCP), не че ще се откачам често, но принципно може да се наложи понякога. В този случай на GW имам DHCP client. OK, дотук добре, но тъй като е динамично IP-то значи не мога да работя със рутинг таблицата на ядрото. Трябва ми някъв рутинг протокол. Zebra не върши работа - не знам как ще реагира доставчика на това аз да си пускам update-чета на 30 секунди(или по-скоро знам реакцията-ножица).
Иначе със статично IP нещата значително се опростяват.

Та за да не бъде много дълъг моя пост(абе той май вече е) направо да питам дали имате идея за някакво решение за настройка на GW-я?

Отговор
в отговор на Sorin #2

Re: Gateway routing on linux

От поста ти става ясно , че знаеш как да направиш MASQUERADE или NAT.
В ситуацията не е ясно какъв точно е проблемът.

Независимо от факта , че ще получаваш IP адреса си динамично Default Gateway-a ти най-вероятно ще бъде постоянен. Ако не е така доставчика ти би трябвало да настрои DHCP сървъра си с Default GW , който да се раздава на DHCP клиентите.

Не ти е необходим никакъв протокол за динамично рутиране и най-вероятно доставчика не пуска никакви RIP , OSPF или BGP пакети или анонси.
Така , че да пускаш и да не пускаш zebra , routed или gated все тая.

Отговор
в отговор на Sunwind #3

Re: Gateway routing on linux

Да наистина не успях да опиша много точно проблема. Притесняват ме заявките от локалната мрежа към интернет. Или по-скоро как да настроя GW-я, така че да "рутира" между двете мрежи(Internet <GW> LAN)
На PC1 и PC2 за default gateway задавам 192.168.0.1(моя GW). На моя GW на външния интерфейс му давам default gateway този на доставчика.След това моя DHCPclient(на default GW) си взима IP адреса от ISP. След това задавам двата пътя в GW:
*route add 192.168.0.0 eth0
*route add ISP.net eth1
И това според тебе ще бъде ли достатъчно да работи всичко нормално въпреки, че ми се задава IP динамично?

Може би ми се пообъркват малко мислите заради този динамичен IP адрес. Макар, че рутирането е свързано с (под)мрежи, а не с IP адреси на хостове. И ако горните стъпки са единственото което трябва да настроя, то се извинявам за ненужния пост.

Отговор
в отговор на Sorin #4

Re: Gateway routing on linux

Мрежата 192.168.0.0/16 е private. Т.е. не се маршрутизира в интернет.
Ето защо трябва да се направи NAT или MASQUERADE

Ще бъде достатъчно като добавиш още един ред в някой стартъп скрипт:

iptables -t nat - I POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

И толкова

И не е необходимо да слагаш никакви пътища ръчно. Щом си сложил на вътрешния интерфейс 192.168.0.1 пътят 192.168.0.0/24 вече го има.

Единственият route който е необходимо да сложиш ако не се слага автоматично от DHCP стрвъра на ISP-то ти е:

route add default eth1

Отговор
в отговор на Sunwind #5

Re: Gateway routing on linux

Ок, много ти благодаря за отговора. Това исках да знам :-)

Отговор