Gateway routing on linux
4 отговора
179 прегледа
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-я?
Та на въпроса. Искам да си прекарам 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-я?
Re: Gateway routing on linux
От поста ти става ясно , че знаеш как да направиш MASQUERADE или NAT.
В ситуацията не е ясно какъв точно е проблемът.
Независимо от факта , че ще получаваш IP адреса си динамично Default Gateway-a ти най-вероятно ще бъде постоянен. Ако не е така доставчика ти би трябвало да настрои DHCP сървъра си с Default GW , който да се раздава на DHCP клиентите.
Не ти е необходим никакъв протокол за динамично рутиране и най-вероятно доставчика не пуска никакви RIP , OSPF или BGP
пакети или анонси.
Така , че да пускаш и да не пускаш zebra , routed или gated все тая.
В ситуацията не е ясно какъв точно е проблемът.
Независимо от факта , че ще получаваш IP адреса си динамично Default Gateway-a ти най-вероятно ще бъде постоянен. Ако не е така доставчика ти би трябвало да настрои DHCP сървъра си с Default GW , който да се раздава на DHCP клиентите.
Не ти е необходим никакъв протокол за динамично рутиране и най-вероятно доставчика не пуска никакви RIP , OSPF или BGP
Така , че да пускаш и да не пускаш zebra , routed или gated все тая.
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 адреси на хостове. И ако горните стъпки са единственото което трябва да настроя, то се извинявам за ненужния пост.
На 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 адреси на хостове. И ако горните стъпки са единственото което трябва да настроя, то се извинявам за ненужния пост.
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
Ето защо трябва да се направи 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
Re: Gateway routing on linux
Ок, много ти благодаря за отговора. Това исках да знам :-)