LINUX.ORG.RU

[неосилятор][сети]встал вопрос

 ,


0

1

допустим, я вбиваю в адресную строку браузера IP сервера в интернете (например гугла).
что происходит дальше? поправьте меня:
для формирования пакета (фрейма) ОС ищет в арп-таблице соотв. мак-адрес, не находит, оправляет арп-запрос. никто не откликнулся. присоединяет к пакету мак-адрес шлюза по-умолчанию и отправляет. шлюз перенаправляет его во внешний мир.
вопросы:
1. что если в локальной сети имеется сервер с таким же IP, что и, скажем, сервер гугла. пойдут ли пакеты на этот сервер вместо сервера гугла?
2. если днс-сервера не прописаны на ЭВМ, как транслируются имена в IP адрес?


если днс-сервера не прописаны на ЭВМ, как транслируются имена в IP адрес?

Сначала /etc/hosts, а дальше никак.

GotF ★★★★★
()
Ответ на: комментарий от CryptSpirit

куда роут будет для этого ip туда и пойдет

так ведь роут на маршрутизаторе выставляется. интересует, что будет, если в локальной сети будет присутствовать сервер с тем же IP, что и у гугла. пойдут пакеты на маршрутизатор (а там уже «куда роут будет для этого ip туда и пойдет») или же на ЭВМ в локальной сети??

Gu4
() автор топика

Все проще. Сначала комп проверяет, находится ли вбитый тобою адрес в той подсети, в которой сейчас твой компьютер (любой интерфейс). Если да - отпраляет ARP запрос, и если никто не откливается, то ты получаешь Destination Unreachable. Если подсеть другая - смотрится таблица маршрутизации. Если у тебя домашний тазик, то скорее всего у тебя просто прописан default gateway, так что выясняется его MAC и пакет шлется туда.
По остальному:
1. Если маска подсети не совпадает (а скорее всего не совпадает) - нет.
2. /etc/hosts

P. S. Я не беру в расчет хитрые таблицы маршрутизации, метрики и т. п.

Kroz ★★★★★
()
Ответ на: комментарий от Gu4

имелась ввиду не команда IOS, а программа ip из iputils

do0dlez ★★
()
Ответ на: комментарий от Kroz

Если у тебя домашний тазик

интерес скорее теоритический, чем практический

Сначала комп проверяет, находится ли вбитый тобою адрес в той подсети, в которой сейчас твой компьютер (любой интерфейс). Если да - отпраляет ARP запрос, и если никто не откливается, то ты получаешь Destination Unreachable.

хм... ну, а если все-таки IP и маска подсети подходят. и на арп-запрос будет получен ответ (при условии, что сервер с таким же IP имеется в локалке). получается, что тогда (и только тогда) пакеты пойдут на этот самый сервер в локалке?

Gu4
() автор топика

что если в локальной сети имеется сервер с таким же IP, что и, скажем, сервер гугла. пойдут ли пакеты на этот сервер вместо сервера гугла?

Зависит от маршрутов.

если днс-сервера не прописаны на ЭВМ, как транслируются имена в IP адрес?

/etc/hosts, больше никак. Или, возможно, используется трансляция на уровне прокси-сервера, но вот тут я не уверен.

wasd
()
Ответ на: комментарий от Gu4

получается, что тогда (и только тогда) пакеты пойдут на этот самый сервер в локалке?

Хм, а если в таблице сказано 0.0.0.0/0 over 192.168.0.1 (где 192.168.0.1 - gateway)?

wasd
()

собрал на скорую руку модель в cisco packet tracer
http://rghost.ru/36318880/image.png
протокол маршрутизации rip v2.
хост РС1 не видит удаленный сервер.
при

ping 192.168.1.2

пакеты дальше маршрутизатора не уходят.

Gu4
() автор топика
Ответ на: комментарий от Gu4

сам ты костыль.

имелась ввиду не команда IOS, а программа ip из iputils

А часом не из iproute?

CryptSpirit
()

собсно, к чему я пришел, господа, после манипуляций в пакет трейсере.
1. если в локалке имеется сервер с IP как у удаленного сервера и при условии, что маска подсети будет правильной, то пакеты уйдут на сервер в локалке.
если сервера в локалке нет, но IP адрес и маска подсети указывают, что он должен быть в этой локалке, то пакеты не уйдут дальше маршрутизатора. потому что IP непосредственно подключенные к интерфейсам имеют максимальный приоритет и маршрутизатор ложил на всякие там rip, iegrp и статические маршруты. он будет посылать пакет обратно в локалку. подозреваю, что есть методы обхода проблемы с приоритетами маршрутов, но не углублялся. если есть, прошу поделиться, потому что некоторые вопросы остались.
2. кроме ДНС и hosts человечество изобрело еще и /etc/nsswitch.conf, который, как я понял что-то типа hosts, но функциональнее. т.е. если выход в интернет есть, а IP днс-сервера не прописан и пуст hosts, то хрен тебе, а не гугл (google.com)!

Gu4
() автор топика
Ответ на: комментарий от Gu4

/etc/nsswitch.conf просто указывает, что, в какой последовательности и с какой реакцией на результат, будет просмотрено и использовано для разрешения имён. А так, хоть в ldap айпишники заталкивай.

imul ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.