Windows 98 или настройка роутинга в многосегментной сети
Как только компания МикроСофт выпустила свой продукт под названием Windows во всех околокомпьтерных кругах стало модно его ругать, вот мол, ёлы-палы, какую гадость выпустили. Но при этом все его ставили, все использовали, и все ругали. Но в основном-то кого ругали? Себя ругали, потому что ставили все краденую бета-версию переведенную Васей Педалькиным из соседнего подъезда. Но я не об этом хотел рассказать.
Как то у меня на работе люди созрели для того, чтобы объединиться в локальную сеть. Вначале это было 5 компьютеров, потом 10, потом 20. А потом меня перевели в другой отдел, и я оказался отрезанным от сети. Но так как идея глобальной корпоративной сети понравилась даже начальству, нам удалось достать достаточное количество коаксиала, чтобы подключить сначала меня к нашей первой сети, а потом и остальные отделы к моей машине. И вот тут мы столкнулись с мааленькой проблемой: все машины не удалось соединить в один сегмент. Но так как эйфория у начальства еще не прошла, нам оплатили вторую сетевую карту. Поставить её оказалось не трудно, но как оказалось, наличие двух сетевых карт на одной машине не позволяет видеть компьютеры в разных сегментах. Как оказалось, для этого необходим роутинг пакетов.
Но как его сделать? Путей решения оказалось несколько -- ставить ЮНИКС или ЛИНУКС, или ставить НТ ( как вариант Виндовс2000). ЮНИКС и ЛИНУКС отпали сразу -- это хорошие ОС для сервера, но абсолютно не подходят для среднестатистического рабочего места. Несколько позже отпал и вариант с НТ -- не было драйверов на мою видеокарту, а работать в 256-цветном режиме не мёд, я вам скажу. Остался вариант с двушкой, но роутинг без проблем предоставляет лишь серверный вариант данной ОС, а он оказался неподъемный для моей машины ( 64мб ОЗУ celeron 300 ) и в конце концов двушка тоже отпала. И что осталось? ОС всех времен и народов :-) Windows 98. Но в нет нету роутинга!
А потом моё внимание привлекла программка WinIPCfg, которая находиться в папке Windows. Так вот в ней есть пунктик IP Routing Enabled, и квадратик для галочки. Но ставить его нельзя, он не доступен. А значит его задача показывать включен роутинг, или нет. Призвавши нашего самого главного сисадмина, который к тому же неплохой программер и хакер, мы начали смотреть, откуда она берет это значение. В итоге выяснилось, что в реестре, ключ [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servi ces\VxD\MSTCP] может иметь значение либо
"EnableRouting"="1"
либо
"EnableRouting"="0"
А в WinMe:
"IPEnableRouter"="1"
либо
"IPEnableRouter"="0"
И в зависимости от этого, либо заниматься роутингом, либо нет. Добавивши этот ключ мы смогли заставить _98_ винду заниматься роутингом. Для этого в настройках сети машин первой подсети мы указали в пункте Gateway свойства TCP/IP протокола адрес карточки на моей машине которая была в первой подсети, а для машин во второй подсети
-- мою карточку которая была во второй подсети:
1-я сетевая 2-я сетевая
карта карта
192,168,1,1 192,168,2,1
----------------------||---------------------
1-я подсеть | | 2-я подсеть
адреса |-------------| адреса
192,168,1,ххх |мой компьютер| 192,168,2,ххх
Gateway (Шлюз) | Windows 98 | Gateway(Шлюз)
192,168,1,1 |-------------| 192,168,2,1
Для двух подсетей этого оказалось достаточно, но со временем наша сеть увеличилась ещё, и к ней добавился третий сегмент. При такой настройке, как я описал выше роутинг осуществлялся только между смежными сегментами, и машины в первом сегменте (192,168,1,ххх) были недоступны для машин в третьем сегменте (192,168,3,ххх). Тут нашему ремонтнику попалась какая-то статейка о таблицах маршрутизации, и из неё мы узнали вот какую вещь: можно руками указывать виндовсу какие пакеты куда пересылать, для этого есть стандартная программа route.exe. В итоге мы написали бат-файл с добавкой в таблицы маршрутов в начале для двух роутеров, а потом и для третьего.
Выглядели они до безобразия просто
для "крайнего роутера":
(маска пакетов) (маска подсети) (адрес
соседнего роутера)
route add 192.168.0.0 mask 255.255.0.0
192.168.2.81 metric 3
для "роутера посредине":
route add 192.168.0.0 mask 255.255.255.0
192.168.3.100 metric 3
route add 192.168.1.0 mask 255.255.255.0
192.168.2.1 metric 3
И внесли их в атозагрузку.
1-я сетевая 2-я сетевая 1-я сетевая
2-я
сетевая
карта карта карта карта
192,168,1,1 192,168,2,1 192,168,2,81
192,168,3,81
----------------------|
|------------------------| |-------
1-я подсеть | | 2-я подсеть
| |
адреса |-------------| адреса
|-------------|
192,168,1,ххх | роутер 02 | 192,168,2,ххх
| роутер 02 |
Gateway (Шлюз) | Windows 98 | Gateway(Шлюз)
| Windows98 |
192,168,1,1 |-------------| 192,168,2,1
|-------------|
(продолжение)
1-я сетевая 2-я сетевая 1-я сетевая
карта карта карта
192,168,3,100 192,168,0,5 192,168,0,1
Модем
----------------------|
|------------------------| |-------
3-я подсеть | | 4-я подсеть
| |
адреса |-------------| адреса
|-------------|
192,168,3,ххх | роутер 03 | 192,168,0,ххх
| роутер 04 |
Gateway (Шлюз) | Windows2000 | Gateway(Шлюз)
| FreeBSD |
192,168,3,81 |-------------| 192,168,0,5
|-------------|
В итоге наша сеть стала выглядеть вот так 8-[ ] монструазно, но что самое смешное работает. Так вот, ради чего я это написал. Не бывает плохих операционных систем, бывают плохие сисадмины. А представленная мной топология лишь руководство к действию, вы можете обьеденять роутеры в древовидные конструкции, это ваше дело. Но я думаю будет интересным попробовать сделать серьёзную сеть лишь при помощи стандартных средств. А мой путь к интернету выглядит вот так:
==================================================
Трассировка маршрута к www.mail.ru [адрес маил.ру]
с максимальным числом переходов 30:
1 1 мс 1 мс <10 мс ROUTER01
[192.168.1.1]
2 1 мс 1 мс 1 мс ROUTER02
[192.168.2.81]
3 2 мс 1 мс 2 мс Router03
[192.168.3.100]
4 2 мс 1 мс 2 мс Router0
[192.168.0.1]
5 и я в и-нете
Трассировка завершена.
==================================================
Вот, думаю это кому-нибудь будет интересным.
Если вы автолюбитель и любите различные электронные устройства, можете купить крякалку, которая работает с пульта ДУ.
| < Предыдущая |
|---|