|
|
ВНИМАНИЕ: Използвайте форумите на сайта за дa зададете вашите въпроси.
Въпрос |
От: dobi |
Дата: 06/18/2005 |
Как може да се видят мрежи с разлини subnet mask например
255.255.255.0 и 255.255.255.252?
|
Отговор #1 |
От: plamen |
Дата: 06/19/2005 |
route add -net 192.168.1.0 netmask 255.255.255.0 gw
<gateway>
route add -net 192.168.1.4 netmask 255.255.255.252 gw
<gateway> (за 1вата подмрежа)
|
Отговор #3 |
От: nqkoi |
Дата: 06/19/2005 |
Или можеби WINS?
|
Отговор #4 |
От: Abyser |
Дата: 06/20/2005 |
Въпросът не е зададен съвсем ясно, затова ще размишлявам и
гадая каква е "опитната постановка".
"Мрежи с различни subnet mask" - допускам, че subnet
mask-ите са различни, но IP-тата са принципно от една клас C
мрежа. Т.е. едната мрежа (А) е с IP-та (примерно!) от
192.168.0.5 до 192.168.0.100, със subnet mask =
255.255.255.0, а другата мрежа (Б) е от 4 на брой IP-та
(това го определя subnet mask-та 255.255.255.252)- (пак
примерно!) от 192.168.0.252 до 192.168.0.255 включително.
Като се вземе впредвид, че в мрежа (Б) първото IP е адрес на
мрежата (не е желателно да се използва, не че практиката не
показва, че не е невъзможно да се използва :) ), последното
IP се води broadcast adres за тази мрежа и използването му е
почти невъзможно (OK, по-нежелателно отколкото на IP-то на
адреса на мрежата). Ако трябва да сме точни, във втората
мрежа (Б) може да имаме 2 PC-та, които ще са с IP-та
192.168.0.253 и 192.168.0.254 и със subnet mask =
255.255.255.252. Не знам защо ти е нужна толкова малка
мрежа, но това си е твой проблем - няма проблеми :)
"Да се видят двете мрежи"? За Windows-ка мрежа ли става дума
или не? Или изобщо за ICMP/TCP/UDP свързаност? Допустимо ли
е "виждането" (в смисъл трафика на пакетите) да става не
директно, а през друго PC (непременно Linux router - прави
го перфектно! :))?
Ще пробвам да отговоря в общия случай - независимо какво
разбираш под "виждане" и с какви OS са PC-тата. Демек
свързаност на ниво ICMP/TCP/UDP.
Освен всичко това ще приема, че PC-тата от двете мрежи са в
LAN (ethernet свързани в общ switch или hub), защото иначе
въпросът и отговорът са съвсем други.
Вземам 2 PC-та: 192.168.0.10 от (А) и 192.168.0.253 от (Б) и
им слагам имена PC10 и PC253. Когато PC10 иска да
"комуникира" с PC253, първо изчислява дали PC253 е от
неговия ethernet сегмент. Т.е. PC10 си "поглежда"
собствените IP и netmask, "поглежда" и IP-то на
destination-а (в случая PC253) и решава дали ще го търси:
1. локално по ethernet (ако destination-а е в същата мрежа)
2. чрез gateway-а си, който му е зададен.
В нашия случай PC10 стига до извода, че PC253 е в неговия
ethernet (switch/hub) и ще го "търси" по switch-овете
(hub-овете), към които е включен. Изобщо PC10 с нетмаската
на мрежа (А) очаква да намери всичките 255 адреса от
192.168.0.1 до 192.168.0.255 по switch-овете (hub-овете),
към които е включен. Т.е. няма да използва gateway-a, който
му е зададен (ако има такъв).
Как го търси?
Пуска ARP request - пита по LAN-а: "кой е MAC адреса на LAN
картата (включена в ethernet-а), чието IP е 192.168.0.253?".
PC253 му отговаря, че това е той. Тогава PC10, използвайки
своя MAC, изпраща някакви пакети към MAC-а на PC253. Изобщо
комуникацията става на ниво hardware-ни адреси (или MAC
адреси).
ОК, пакета стига до PC253, обработва се, и PC253 решава да
отговори. Но не по MAC адрес, а към IP-то, от което идва
пакета. PC253 вижда, че IP-то на PC10 не е в мрежата му (Б),
т.е. отговорът ще се върне не директно по ethernet-а
(switch/hub), а през gateway-а, който е зададен на PC253
(ако има такъв, ако няма зададен gateway - няма да
отговори).
Отговорът на plamen е близо до истината с малко уточнения.
Съвременните Linux дистрибуции (след kernel 2.2.x или 2.0.x
- забравих вече :) ) нямат нужда от добавяне на статичен
route за мрежи, които са присвоени на някоя LAN карта на
Linux-a с командата ifconfig.
Т.е. при PC10 с командата
(1) "ifconfig eth0 192.168.0.10 netmask 255.255.255.0"
автоматично сме задали (закон божи!) и
(2) "route add -net 192.168.0.0 netmask 255.255.255.0 eth0"
и няма нужда да пишем (2)
Това е при PC10.
При PC253 задаваме:
(1) "ifconfig eth0 192.168.0.253 netmask 255.255.255.252"
Т.е. тук след тази команда автоматично се е добавило:
"route add -net 192.168.0.252 netmask 255.255.255.252 eth0"
Ако искаме да виждаме и мрежа (А) трябва да добавим:
(2) "route add -net 192.168.0.0 netmask 255.255.255.0 gw
<gateway> eth0"
Този <gateway> трябва да е такова PC (почти задължително не
Win, че там не е много ясно рутирането :) ), което да
"вижда" мрежа (А) и мрежа (Б). През този <gateway> PC253 ще
връща пакетите към PC10 от горната постановка. Ако това e PC
e с IP=192.168.0.15 тогава преди (2):
(2) "route add -net 192.168.0.0 netmask 255.255.255.0 gw
192.168.0.15"
трябва да изпълним командата
(1') "route add -host 192.168.0.15 eth0"
т.е. указваме на PC253, че 192.168.0.15 ще го търсим през
eth0 (а не през някой default gw, който евентуално ще сме
задали по-нататък), т.е. ще му вземем MAC-адреса през eth0 и
ще го ползваме за gateway към мрежата
192.168.0.0/255.255.255.0
Отговорите на Н. Антонов и nqkoi са напълно безсмислени.
Bridge решава други задачи - свързване на еднакви (като
IP/netmask) мрежи през устройства, които не могат да
прехвърлят MAC адреси - примерно 2 модема свързват офис1 и
офис2, които имат IP-та от една мрежа. Рутерите не
"прехвърлят" MAC адреси, за разлика от Bridges. За целта в
офис1 Bridge1 се свързва в мрежата на офис1 с etherent-a
(switc/hub), другия му край е свързан към модем1. Този
модем1 през БТК :) се свързва към модем2 във офис2, модем2
през Bridge2 се свързва към etherent-a (switc/hub) на офис2
и така двата офиса се виждат все едно всички PC-та на двата
офиса са в един switch/hub, т.е. всички PC-та от двата офиса
си виждат MAC адресите все едно са в един switch/hub.
Така че забрави при твоя случай за Bridge решение.
Bridge-a e друга бира :)
За WINS-а - ами първо е частно решение за "виждане" на две
мрежи - микро-софтско решение, освен това не върши работа -
WINS сервъра връща кое е IP-то на това PC, което е с име
"\\winname". Е добре, ти ще получиш IP-то на PC-то от този
WINS, но после пак ще се сблъскаш с рутинг проблемите, щото
като browse-ваш от PC253 към PC10, тогавава това IP на PC10
от (А) мрежата не ти е в локалната мрежа (Б), т.е. ще трябва
да минеш през gateway-а си.
Много писане, а решението е доста просто и кратко.
Значи ако няма проблеми пакетите от мрежа (Б) към мрежа (А)
да минават през някакъв рутер (192.168.0.15 от А) - работата
е ясна. Но доколкото схващам, идеята е от мрежа (Б) да се
стига до мрежа (А) без този трафик да минава и да се товари
някакво PC, което да се явява <gateway> за мрежа (Б).
Тогава решението е просто: и в Linux, и в Windows има
команда, чрез която на PC-тата в (Б) са добавя статичен ARP
routing към PC-тата, които са в (А).
Т.е. при PC253 като му се добави статичен ARP
"arp -s 192.168.0.10 00-aa-00-62-c6-09" //00-aa-00-62-c6-09
е MAC-а на LAN картата на PC10
то той (PC253) ще "търси" PC10 в ethernet-а по
MAC=00-aa-00-62-c6-09 и тези пакети няма да минават през
някакъв gw, а директно - от MAC-а на PC253 към MAC-а на
PC10.
Друг вариант е да ползваш sysctl функцията
(net/ipv4/conf/all/proxy_arp) на някой Linux в LAN-а
(http://linux-ip.net/html/adv-proxy-arp....).
Между другото трябва да се гордеем, че в тeзи network
разработки (proxy_arp, arp_filter, clustering, rp_filter,
bridges) често се среща името на българина Julian
Anastasov.
|
Отговор #5 |
От: dobi |
Дата: 06/20/2005 |
Благодаря на всички за препоръките и помощта, която ми
оказвате! :)
И ОСОБЕННО НА Abyser - благодаря за изчепателния отговор :)
!
Както казваш (извинявам се, че минах на ти ... ) въпроса е
поставен некоректно !
Истината е такава - мрежа която позволява 2 IP- ta за сега е
даденост т.е. не може да се промени subnet mask така че да
разрешава по-вече от 2.За мрежата(ите) като цяло се
използва едно РС с 2 карти едната е UTP, a другата BNC (нама
хъб, няма рутер :( ). Та към тази BNC има вързан още един
РС, a към UTP- to има изход към интернет. Идеята е да се
ползва интернета и на другия РС. РС-то с 2те карти е Win ...
но каго чета препоръките ще трябва да минава на Linux :).
Преди да задам въпроса пробвах разни хитринки и win.
програмки ... ама все едното от двете спираше да работи :(
Ако съм ви насочил по- пълно към верният отговор :)
БЛАГОДАРЯ ПРЕДВАРИТЕЛНО !
|
Отговор #6 |
От: dobi |
Дата: 06/20/2005 |
Abyser, Идеята за route и apr ми хареса ще я пробвам
благодаря още веднъж!
Чудя как ги забравих тези команди от промпта :(( !
ама то ВИН ... :-?
|
Отговор #7 |
От: Abyser |
Дата: 06/22/2005 |
Доколкото разбирам имаш:
1. PC1 - 2 мрежови карти, едната (NIC1)е с IP1 и gateway към
провайдера и интернет, netmask 255.255.255.252. Другата
(NIC2) е с IP2, което можеш да променяш, netmask =
255.255.255.0.
2. PC2 - 1 мрежова карта (NIC3), свързана към NIC2, с IP3 от
същата мрежа като IP2 на NIC2 и същата netmask =
255.255.255.0.
Предполагам, че IP2 и IP3 са IP-та, които сам си си сложил и
разликата им с IP1 е не само в netmask-ите, но и в самите
IP-та на мрежите.
На всичкото отгоре PC1 e Windows. :)
Това, което ти е нужно, е да рутираш PC2 през PC1 към
интернет. При преминаването на IP пакетите през рутери се
"губят" ARP-овете - за това човек не може да види MAC адреса
примерно на www.yahoo.com. Това , което писах надълго
по-горе, е съвсем друга задача - как да се "виждат" без
проблеми 2 мрежи, като едната е "подмножество" на другата и
които имат хардуерна (ethernet, switch/hub или BNC)
свързаност и няма да ти свърши никаква работа.
Пак ще пробвам да гадая малко, защото освен нетмаските не
казваш нищо за IP-тата, а те са по-важни от нетмаските.
Провайдера ти е дал някакво "истинско" (може и да не е
истинско) IP1, което (минавайки през провайдера) се рутира
към интернет и по този начин PC1 има интернет.
1. Има вероятност провайдера да ти е дал клас "C" мрежа (255
адреса, които провайдеръта ще рутира), като е "отцепил"
малка мрежа с netmask 255.255.255.252 (4 на брой IP-та) за
рутера PC1 и рутера, кйто е при него. Този вариант не ми се
струва достоверен - провайдерите са доста "стиснати" по
отношение на предоставне на цели клас "C" мрежи, а и ти да
имаш само едно PC2 закачено във вътрешната си мрежа.... Не
ми се вярва. Не че е невъзможно и не че тогава рутирането е
по-сложно или невъзможно, но мисля, че случаят е друг и няма
смисъл да обяснявам как става.
2. По-вероятния вариант е провайдера ти изобщо да не знае за
твоето намерение да включиш PC2 към интернет, т.е. да не ти
е давал никакви IP-та за вътрешната (в твоя случай BNC, не
че има значение де) мрежа.
Ако за PC1 ползваш linux (или подобна ОС) - в този форум,
както и из интернет като цяло, има страшно много написано,
пусни някакъв search за NAT, IP Masquerading и ще намериш
много инфо, става буквално с няколко реда, които трябва да
допишеш в 1-2 файла. Има и разни тънкости - ако провайдера
ти не желае да си споделяш интернета с PC2 може да реши да
ти "прецаква" стойностите на TTL в пакетите - как ти да го
"надхитриш", че обикновено с настройките за NAT човек си
задава и някакви firewall правила, описва и някои
по-интересни протоколи (напр. ftp)... За всичко това има
отговор и в този форум.
Ако за PC1 ползваш ОС на Microsoft - не знам дали там се
оправиха с рутирането и с NAT-а, може би в Win2003 (и в
Win2000 дори) да може, не знам. Със сигурност от Win98
нагоре имат някакво решение, дори съм срещал хора, на които
им вършеше работа (малък офис). Потърси в yahoo/google за
Windows Internet Connection Sharing, по принцип не е трудно,
щракаш тук-там по настройките и тръгва.
Друго решение при Win е с използване на proxy software на
PC1 - WinGate, WinProxy и други подобни. Новите версии на
WinGate позволяват и подкарването му като чист NAT.
Най-чистият вариант е да направиш рутер с линукс - едно PC
за 30-50 лв може да свърши работа, слагаш 2-те LAN карти там
и PC1 и PC2 са свързани (с BNC) към вътрешната карта на
рутера. Потърси из интернет за FreeSCO или подобни
дистрибуции - някои решения дори не искат HDD, тръгват от
флопи.
|
Отговор #8 |
От: Иван |
Дата: 06/23/2005 |
Samba като Домеин Контролер
|
<< Как да инсталирам Linux? (5
) | Lib (1
) >>
|
|
|
|
|