Форум 3DNews

Форум 3DNews (http://forum.3dnews.ru/index.php)
-   Сети и средства коммуникации (http://forum.3dnews.ru/forumdisplay.php?f=17)
-   -   Классическая маршрутизация в WIN32 (http://forum.3dnews.ru/showthread.php?t=48416)

Keeper™ 07.10.2005 16:52

Проблема создания подсети в одном октете...
 
Вообщем ситуёвина такова:

По дому организавана локальная сеть (HOMENET), всё работает, но появился 2-ой компьютер и его(новую сетевую карту) просто так к интернетовскому шлюзу не пускают.
Нашёл другое решение:
Воткнул вторую сетевую карту в компьютер, который туда пускают (в 1-ый), расшарил шлюз на 1-ой сетевой карте и обнаружил, что сеть между ними не пашет... Но чутка "пошелудил" и понял, что если поменять IP-адрес с 192.168.3.xx на 192.168.1.xx, моя подсеть начала работать, но инета, очевидно, я не увидел, точнее сказать пинга 1-ой сетевой карты с 3-ей...

Кронфигурация при которой должно работать, но почему-то не работает...=)

Настройки TCP\IP:
1-ый комп. 1-ая СК (Win XP Pro):
IP: 192.168.3.94
Маска: 255.255.255.0
Шлюз: 192.168.3.1

1-ый комп. 2-ая СК:
IP: 192.168.3.95
Маска: 255.255.255.0
Шлюз: 192.168.3.94

2-ой комп. (Win 98)
IP: 192.168.3.96
Маска: 255.255.255.0
Шлюз: 192.168.3.94

Всем заранее спасибо...

J. Corvin 08.10.2005 19:58

Keeper™
Во первых двух шлюзов быть не может...
И винда тебе четко предупреждает о проблемах связанных с наличием двух шлюзов...
Всё решаеться с помощью route ADD

Твой конфиг работать не будет, (правда есть вариант когда будет, но он глюкавый. ;) )

Итак:
Начнем по порядку:
1) Машина с двумя интерфесами, и что нужно пропсывать на ней.
а) Интерфейс смотрящий в глобальную сеть, на нем указываем IP, маску, и шлюз.
(Их или даст провайдер, или в случае с aDSL роутером в виде шлюза будет IP DSL Роутера.)

Предположим параметры ИНТЕФЕСА №1:
IP: 192.168.3.94
Маска: 255.255.255.0
Шлюз: 192.168.3.1
DNS1: (провайдера)
(т.е. тут 192.168.3.1 - это Основной шлюз т.е. Интерфейс провайдера)b)

2) Интерфейс смотрящий куда либо еще
(На еще ОДНУ машину, или в хаб с десятком машин это уже не суть важно).

Какими принципами надо руководствоваться при указании параметров ИНТЕФЕЙСА №2.
а) Прежде всего, ни в коем случае не Указываем тут Шлюз.
б) IP этого интефейса НИ В КОЕМ СЛУЧАЕ не должен быть из той же подсети что и IP на первом интефесе.
Если вы не умеете расчитывать маски, будте проще, задайте другую подсеть класса С.
т.е. Параметры должны быть не:
IP: 192.168.3.95
Маска: 255.255.255.0
Шлюз: 192.168.3.94
------------------
а где то вот такие:
IP: 192.168.0.1
Маска: 255.255.255.0
Шлюз: (Нету тут нихрена !!!)

Теперь, самое главное, связать эти две подсети.
Если у вас поднята остастка RRAS то можно указать статический маршрут в ней, если нет то открываем сом. строку. и пишем:

ROUTE ADD 192.168.0.1 MASK 255.255.255.0 192.168.3.95.

Теперь, остались сущие мелочи, это то ЧТО нужно писать на машине(ах) подключенных ко второй сетевой.
IP: 192.168.0.ххх
Маска: 255.255.255.0
Шлюз:192.168.0.1

DNS1: (провайдера)
DNS2: 192.168.0.1

Вот в принципе ВСЯ схема Маршрутизации.

ЗЫ
Ремарка для Профи,
не пренебрегайте RRAS, его Статические маршруты, и Маршруты заданные через ROUTE ADD
таки отличаются !!!

J. Corvin 08.10.2005 20:21

Классическая маршрутизация в WIN32
 
Начнем этой темой FAQ по маршрутизации.

Гхост-цзы 09.10.2005 08:35

В дополнение к рассмотренному примеру:
1 - чтобы не прописывать маршруты всякий раз после рестарта тачки с двумя сетевыми картами, добавляем ключ р, т.е.
ROUTE - p ADD 192.168.3.0 MASK 255.255.255.0 192.168.3.95 IF 1

2 - чтобы от второй машины не только уходили запросы в сети назначения, но и приходили оттуда ответы, на тачке с двумя сетевыми картами добавляем ещё
ROUTE - p ADD 192.168.0.0 MASK 255.255.255.0 192.168.0.1 IF 2
(вообще-то, при таких правилах маршрутизации становится возможен только взаимный доступ между сетями 192.168.3.0 и 192.168.0.0; думается, средствами одной маршрутизации для рассматриваемого примера отделаться не удастся (постепенно переходим к НАТ-у :D) )




В связи с выделением исходной темы в отдельную, складывается впечатление, что я пропустил что-то интересное. :D

J. Corvin 09.10.2005 14:28

Да, про -p я как то забыл :red:

Расшифруем что сие значит,
-P Сохранит добавленный маршрут как Постоянный, т.е. без этого ключа маршрут будет жить только до близжайшей перезагрузки.

IF 1 (2,3,4,5) - INTERFACE
т.е. А на какой же из интерфейсов мы привязываем маршрут.
тут есть куча нюансов, во первых (И главных) даже если вы укажете интефес, и попытаетсь привязать его к подсети неверно указав шлюз, правило просто не будет работать, а вот глюков добавит.
т.е. что я имею в виду.

предположим есть три подсети последовательно между собой соедененных. т.е. ситуация когда на двух машинах стоит по две сетевых карты. (1 comp. и 2 comp.)

192.168.
(провайдер)---------(1 comp)---------(2 comp)---------(3 comp)
___________3.1___.3.2______.0.1___.0.2______.5.1___.5.2

Условно все три машины в разных подестях. И перед нами стоит задача что бы все три между собой общались.
Ну как всегда, щас мы пропишем маршрутцы и все будет Зай...мечательно.

Получаеться
(1 comp) - 2а интефейса:
192.168.3.2 (Шлюз: 192.168.3.1) (это IF 1)
192.168.0.1 (Шлюз: отсутствует) (это IF 2)

(2 comp) - 2а интефейса:
192.168.0.2 (Шлюз: 192.168.0.1) (это IF 1)
192.168.5.1 (Шлюз: отсутствует) (это IF 2)

(3 comp) - 1н интефейс:
192.168.5.2 (Шлюз: 192.168.5.1) (это IF 1)

Из того что написано в более ранних постах можно сделать вывод что для того что бы познакомить (3 comp) и (1 comp)

На Первом достаточно написать маршрут.
ROUTE - p ADD 192.168.5.0 MASK 255.255.255.0 192.168.5.1 IF 2
т.е.
Любые обращения к сети .5.0 по сути должны уйти на второй интерфес (ну мы же сказали ему IF2) и попасть на comp3.
Ну вот, нихренаж оно опять не работает. Почему ??? А потому что на (Comp 1) НЕТ Интерфеса с областью 5.0
Область 0.0 - ЕСТЬ, и Область 3.0 - ЕСТЬ, а вот Область 5.0 - НЕТУ !!!
Прописывай ты тут ему IF не прописывай работать оно не будет. !!!

Хорошо, а как же сделать что бы то что я тут нагородил работало.
Все просто... при указании шлюза в команде ROUTE ADD нужно четко понимать что шлюз должен быть из какой либо области УЖЕ присутствующей на Машине. т.е. в нашем случае это только 0.0 и 3.0
И т.к. нужная нам подсеть находиться где то за подсетью 0.0

То и маршрут наш должен выглядеть как:
ROUTE - p ADD 192.168.5.0 MASK 255.255.255.0 192.168.0.2
Заметьте не 0.1 т.е. Собственный интерфейс машины, а 0.2 т.е. ДАЛЬНИЙ интерфейс.

Простите, скажите вы, но оно все равно не работает...
Правильно, а вы (Comp2) познакомили с подсетями Comp1 и Comp3, что нет ???

Ну так вы же уже всё знаете... :) Ведь маршрут на машине Comp2 просто напрашивается сам:
ROUTE - p ADD 192.168.5.0 MASK 255.255.255.0 192.168.5.2

И вроде бы напрашивается еще оди маршрут:
ROUTE - p ADD 192.168.3.0 MASK 255.255.255.0 192.168.0.1
Но вот он вам нифига не нужен...
Почему, да потому что вы же сами указали что Основной шлюз машины Comp2 это 192.168.0.1

А что есть основной шлюз как не Интерфейс 0.0.0.0 т.е. интерфейс на который будут отправлены любые запросы
которым не нашлось правил.

На сегодня всё...

З.Ы.
Чуть не забыл... как вы думаете почему я нигде при указании маршрутов не пишу - IF ??? ;)

Гхост-цзы 10.10.2005 14:49

Цитата:

Сообщение от J. Corvin
Чуть не забыл... как вы думаете почему я нигде при указании маршрутов не пишу - IF ??? ;)

Видимо, поэтому:
Цитата:

Заметьте не 0.1 т.е. Собственный интерфейс машины, а 0.2 т.е. ДАЛЬНИЙ интерфейс.
:cool:

J. Corvin 10.10.2005 17:14

Гхост-цзы
Нет не из за этого, Начиная с WIN W2k sp3, маршрут будет работать только с тем интерфесов в подсеть которого входит шлюз указанный в Маршруте.

Вооот... :)
А маршрут на 0.1 смысла не имеет, он создается Виндами автоматически при создании интерфейса как такового.

Orphey 25.10.2005 13:43

тупо мозг !!!

Orphey добавил :

усё вроде сделал как было написоно(несовсем понятно с ключами)
а получилось что 1 -> 2 видит а 2 -> 1 нет , вернее видит но не пингует , что это может быть ?

J. Corvin 26.10.2005 09:12

Orphey
На 2й машине шлюз (IP 1й машины) указан ???

psychedelic_ 20.12.2005 15:01

J. Corvin
а где прописывается конкретно этa строчка?

"ROUTE - p ADD 192.168.5.0 MASK 255.255.255.0 192.168.5.1 IF 2".

AWESOME 20.12.2005 15:23

psychedelic_
Конкретно в командной строке

psychedelic_ 20.12.2005 21:23

AWESOME
спасибо. ясно...

Юра_1967 11.02.2006 02:03

J. Corvin

Может Вы сможете помочь?
Есть необходимость сделать в Win-XP Home (2SP) cтатические NAT, но чем его в ХР настраивают не могу найти.

Пробовал вот этим, но сами видете что из этого получилось.


Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\1>Netsh Routing IP NAT

Применимы следующие команды:

Команды в этом контексте:
? - Отображение списка команд.
add - Добавление элемента конфигурации в таблицу.
delete - Удаление элемента конфигурации из таблицы.
dump - Отображение сценария конфигурации.
help - Отображение списка команд.
install - Установка протокола маршрутизации, соответствующего контексту.
set - Установка информации конфигурации.
show - Отображение информации.
uninstall - Удаление протокола маршрутизации, соответствующего контексту.

Чтобы получить справку по команде, введите эту команду,
затем пробел и "?"


C:\Documents and Settings\1>Netsh Routing IP NAT show global
NAT должен быть установлен первым.


C:\Documents and Settings\1


Что значит NAT должен быть установлен первым.? Адреса то транслируются, значит NAT уже установлен? Но ни одна из выше приведённых команд не работает!


Вобщем, если что нить знаете поэтому вопросу, помогите хоть чем!!![B]

Grip 03.04.2006 15:41

C:\Documents and Settings\1>Netsh Routing IP NAT install
C:\Documents and Settings\1>Netsh Routing IP NAT add addressmapping
Недопустимый синтаксис использованной команды. Воспользуйтесь справкой для этой
команды.

Использование: add addressmapping [name=]<Имя интерфейса>
[public=]<IP-адрес> [private=]<IP-адрес>
[inboundsessions=]enable|disable

Параметры:

Тег Значение
name - Имя интерфейса (строка), на котором будет
использоваться преобразование сетевых адресов (NAT).
public - IP-адрес, используемый извне в публичной сети.
private - IP-адрес, находящийся внутри диапазона пула адресов,
доступного для использования в частной сети.
inboundsessions - Одно из следующих режимов работы с входящими сеансами:
enable: входящие сеансы разрешены.
disable: входящие сеансы запрещены.

Примечание: Добавляет сопоставления IP-адреса к адресному пулу
преобразования сетевых адресов (NAT).

Пример:

add addressmapping "Подключение по локальной сети" 11.11.11.1 10.10.10.1
disable

Эта команда добавляет сопоставление публичного адреса (11.11.11.1)
к IP-адресу внутри частного диапазона (10.10.10.1)
и запрещает входящие сеансы для этого сопоставления таблицы NAT.

strannix 10.04.2006 17:28

Привет всем!
Может подскажите: имеется сеть с маршрутизатором и подключенным к нему коммутатором. Ессно к коммутатору подключены пользователи. Нужно между маршрутизатором и коммутатором воткнуть фаервол с подсчетом траффика интернета. Проблема в том, что нужно сохранить статические ip адреса лок. сети и когда я ставлю комп с 2-мя сетевыми картами то маршрутизация не идет, т.к. адреса на внешнем и внутреннем интерфейсе из одной подсети. Что можно сделать? Есть вариант поставить Traffic Ispector и использовать его опцию "Прослушка сети". Или или можно еще что-нибудь придумать? Если других вариантов нет, то может посоветуете еще программы с такой функцией.

NaimaD 10.04.2006 18:52

Цитата:

Сообщение от strannix
Что можно сделать?

Выделить участок "файрволл-роутер" в отдельную подсеть и изменить адреса шлюзов у клиентов (напомню, что первый адрес подсети клиента используется "по умолчанию", даже если он явно не указан в настройках TCP/IP. Например, дефолтовым шлюзом для сети 192.168.0.0/24 будет адрес 192.168.0.1).

Цитата:

Сообщение от strannix
Есть вариант поставить Traffic Ispector и использовать его опцию "Прослушка сети".

Тоже вариант. Но, тогда надо настроить зеркалирование портов на порт траффик инспектора. Правда, в этом случае функции файрволла не будет. Как вариант развития этой же мысли, можно купить хаб и поставить его вразрез участка "коммутатор-роутер" и подключить к нему Трафик Инспектора.

strannix 19.04.2006 09:13

Цитата:

Выделить участок "файрволл-роутер" в отдельную подсеть и изменить адреса шлюзов у клиентов (напомню, что первый адрес подсети клиента используется "по умолчанию", даже если он явно не указан в настройках TCP/IP. Например, дефолтовым шлюзом для сети 192.168.0.0/24 будет адрес 192.168.0.1).
Роутер не разрешают переводить в другую подсеть и менять внутренние статические адреса тоже нельзя менять. Остается только вариант прослушка сети.
Может есть еще программы подобные Traffic Ispector? Подскажите пожалуйста.

NaimaD 19.04.2006 11:08

Цитата:

Сообщение от strannix
Роутер не разрешают переводить в другую подсеть и менять внутренние статические адреса тоже нельзя менять.

Да, тебя никто не заставляет менять внутренние статические Ипшники... А насчёт роутера - ты админ или кто? :) Какая, собсьна, разница, в какую сеть смотрит внутренний интерфейс роутера - 192.168.0.0 или 192.168.1.0?

Droiyan3 02.05.2006 12:06

Вложений: 1
Народ!

вот такой вопрос

есть три друга

назавём их А Б C...

А пытается дозванится через модем к другу Б
У друга Б есть две линие(2 модема)
Б дозванивается к другу С

теперь

обесняю как я делаю это

Network Connections>Create New Connection>Set Up Advanced Connection>Accept Incoming Connection>Выделяем Модем >Do not allow virtual private Connection>Создаём Юзера и даём ему пароль>ставим птичку на Allow Callers to access my Local Area Network + Allow calling computer to specify its own Ip adress> и потом настраеваем range ip адресов. это где то вот так должно выгледить...смотрите аттачмент он внизу

далше...

Друг А звонит к другу Б(друг Б ностроил всё как на фотке...)
теперь А получил один ип от 192.168.0.2 до 192.168.0.5
а Друг Б так как елвляется сервером получил Ип 192.168.0.1

теперь вот какая проблема....

друг Б звонит ко мне(друг С) я тоже самое делаю...токо меняю ..Range ставлю от 5 до 10 тоест...

192.168.0.6 до 192.168.0.10

теперь вот так выходит...

А палучает Ип любой от 192.168.0.2 до 5
Б имеет ИП 192.168.0.1
С имеет 192.168.0.6 а друг Б который к нему дозванивается имеет 192.168.0.7 до 10

теперь какя проблема....

А видет Б, Б видет С...Но С не видет А....

тоесть я могу играть токо с другом Б...но нес А
а друг А может играть токо с Б

теперь....

я немного чайник в таких вещах.....тоесть...всё что я написал я узнал методом тыка...притом упорного...
у меня каласальный шёт но мобильного телефона пришол...пока я понель как такой тип связи делается через модем..

я долго думал в чём проблема...ну...потом мне обеснили что надо рутировать что что с кемто чтоб мы друг друга видели....я то незнаю что..пытался узнать...но тее люди незнают как это делать...я надеюсь здесь найти помочь....


пажалоста обесните мне как можно так сделать чтоб все три компа видела друг друга.....


извеняюсь за грам. ошибке...токо учусь по кускому 8 месяцев...

спасибо за ранее

Gammer 15.11.2006 14:32

Droiyan3 поставь керио винроут, в настройках IP адресов всех кроме сервака поставь получать автоматом, в керио поставь поддержу DHCP, ну в двух словах должно быть так, хотя такой байдой никогда не озодачивался


Текущее время: 00:37. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot