Jump to content

    

Существуют ли IP-адреса, для которых никогда не используется шлюз?

Recommended Posts

jcxz

Хочется дать устройству фиксированный IP-адрес; такой, чтобы для соединения с ним не использовался шлюз (gateway).

Предположим есть комп с IP=192.168.1.2 в сети 192.168.1.0 (шлюз = 192.168.1.1). Наш девайс имеет IP=10.0.1.100.

Если воткнуть этот девайс в тот же роутер, куда воткнут комп (или напрямую в комп), то при соединении какой-то программы с компа с девайсом, ETHERNET-кадры (предназначенные устройству) комп будет отправлять к 192.168.1.1. И если роутер не знает про наш девайс, кадры до него не дойдут.

Вопрос: Можно ли как-то сказать компу, что для IP=10.0.1.100 не нужно использовать шлюз, а отправлять кадры к нему напрямую, как будто IP=10.0.1.100 находится в нашей подсети (192.168.1.0)?

Или может существуют какие-то специальные IP-адреса, которые всегда считаются находящимися внутри текущей подсети и для которых никогда не используется шлюз?

 

PS: Интересует только для винды (WIN7/WIN8/WIN10). Пускай даже в линухе это "как 2 пальца".

Share this post


Link to post
Share on other sites

makc

В современных ОС, в том числе и в windows, вы можете назначить на один физический интерфейс несколько IP-адресов. Т.е. на интерфейс с адресом 192.168.1.2 добавляете адрес 10.0.1.2 и работаете с 10.0.1.100 напрямую через этот интерфейс без шлюзов: https://www.daktronics.com/en-us/support/kb/DD1990270

Share this post


Link to post
Share on other sites

jcxz
6 минут назад, makc сказал:

В современных ОС, в том числе и в windows, вы можете назначить на один физический интерфейс несколько IP-адресов. Т.е. на интерфейс с адресом 192.168.1.2 добавляете адрес 10.0.1.2 и работаете с 10.0.1.100 напрямую через этот интерфейс без шлюзов: https://www.daktronics.com/en-us/support/kb/DD1990270

Эта кнопка ("Add" в "Advanced settings") неактивна если включен DHCP. А хотелось бы работать не выключая DHCP.

Share this post


Link to post
Share on other sites

sorok-odin
16 минут назад, jcxz сказал:

Можно ли как-то сказать компу, что для IP=10.0.1.100 не нужно использовать шлюз, а отправлять кадры к нему напрямую, как будто IP=10.0.1.100 находится в нашей подсети (192.168.1.0)?

Не уверен, но попробуйте вручную добавить нужную запись в ARP-таблицу операционной системы, в консоли "arp -s IP MAC", указав IP и MAC вашего девайса. Тогда сетевой стек будет знать МАС удаленного устройства и, возможно, пошлет пакеты ему напрямую, а не через шлюз.

Share this post


Link to post
Share on other sites

jcxz
3 минуты назад, sorok-odin сказал:

Не уверен, но попробуйте вручную добавить нужную запись в ARP-таблицу операционной системы, в консоли "arp -s IP MAC", указав IP и MAC вашего девайса. Тогда сетевой стек будет знать МАС удаленного устройства и, возможно, пошлет пакеты ему напрямую, а не через шлюз.

Пробовал - не помогает. Всё равно шлёт через шлюз, хоть такая запись и есть в ARP-таблице.  :sad:

Share this post


Link to post
Share on other sites

sorok-odin
6 минут назад, jcxz сказал:

Пробовал - не помогает. Всё равно шлёт через шлюз, хоть такая запись и есть в ARP-таблице.  :sad:

Тогда поиграться с "route add ...", прописав для адреса 10.0.1.100 с маской 255.255.255.255 шлюз 10.0.1.100. При этом запись в ARP таблицу все равно придется самому руками добавить.

Share this post


Link to post
Share on other sites

makc
39 минут назад, jcxz сказал:

Эта кнопка ("Add" в "Advanced settings") неактивна если включен DHCP. А хотелось бы работать не выключая DHCP.

Вы не написали, что используете DHCP. Но и для него есть вариант: https://trae.sk/view/34/

В ту же тему: https://superuser.com/questions/679134/add-a-static-ip-alias-to-a-dhcp-interface-on-windows-8-and-above

27 минут назад, sorok-odin сказал:

Тогда поиграться с "route add ...", прописав для адреса 10.0.1.100 с маской 255.255.255.255 шлюз 10.0.1.100. При этом запись в ARP таблицу все равно придется самому руками добавить.

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

Share this post


Link to post
Share on other sites

rkit
8 hours ago, jcxz said:

Если воткнуть этот девайс в тот же роутер

8 hours ago, jcxz said:

И если роутер не знает про наш девайс, кадры до него не дойдут.

И как такое может быть?

 

Короче, вопрос решается настройкой роутера. Настраиваешь dhcp сервер на выдачу требуемого ip требуемому устройству, настраиваешь таблицу маршрутизации между двумя сетями. Но вообще это всё дурацкая и бесполезная затея.

 

Edited by rkit

Share this post


Link to post
Share on other sites

dimka76
12 hours ago, jcxz said:

Хочется дать устройству фиксированный IP-адрес; такой, чтобы для соединения с ним не использовался шлюз (gateway).

Предположим есть комп с IP=192.168.1.2 в сети 192.168.1.0 (шлюз = 192.168.1.1). Наш девайс имеет IP=10.0.1.100.

Дайте устройству IP адрес 192.168.1.100

Share this post


Link to post
Share on other sites

gte
12 часов назад, jcxz сказал:

Если воткнуть этот девайс в тот же роутер, куда воткнут комп (или напрямую в комп), то при соединении какой-то программы с компа с девайсом, ETHERNET-кадры (предназначенные устройству) комп будет отправлять к 192.168.1.1. И если роутер не знает про наш девайс, кадры до него не дойдут.

Так настройте мршрутизацию, если, конечно, роутер позволяет. На один порт роутера назначается сеть устройства, на остальные сеть компа и настраивается маршрутизация сетей.

А копм с одним  Ethernet портом или с двумя?

Share this post


Link to post
Share on other sites

jcxz
15 часов назад, makc сказал:

Вы не написали, что используете DHCP. Но и для него есть вариант: https://trae.sk/view/34/

В ту же тему: https://superuser.com/questions/679134/add-a-static-ip-alias-to-a-dhcp-interface-on-windows-8-and-above

Да, это наверное в принципе более-менее подходящее решение, но я так понял - оно работает только на >=WIN10. А у меня WIN8. Да и хотелось бы решение работающее на всём >=WIN7.

Попробовал у себя:

dhcpstaticipcoexistence=enabled - не принимает, говорит: "dhcpstaticipcoexistence" не является правильным аргументом для этой команды.

если же дать просто (без dhcpstaticipcoexistence):

netsh interface ipv4 add address "Ethernet" 192.168.1.200 255.255.255.0 - просто выключает DHCP и устанавливает на нём данный IP статическим.

 

7 часов назад, rkit сказал:

Короче, вопрос решается настройкой роутера. Настраиваешь dhcp сервер на выдачу требуемого ip требуемому устройству, настраиваешь таблицу маршрутизации между двумя сетями.

В устройстве нет DHCP и не должно быть. См. условия задачи. IP-адрес устройства - фиксированный и таким и должен быть.

3 часа назад, dimka76 сказал:

Дайте устройству IP адрес 192.168.1.100

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

3 часа назад, gte сказал:

Так настройте мршрутизацию, если, конечно, роутер позволяет. На один порт роутера назначается сеть устройства, на остальные сеть компа и настраивается маршрутизация сетей.

Нужно решение без перенастройки роутера. Или вообще без роутера.

Цитата

А копм с одним  Ethernet портом или с двумя?

Может с одним может больше. Предположим компы - это компы пользователей этих девайсов; какие - я не знаю; сколько там интерфейсов - не знаю; какие у них IP (и есть ли DHCP) - не знаю; как подключены к сети - не знаю. Нужно такое решение, чтобы с минимальными телодвижениями и переконфигурированиями сети у этих клиентов, они могли подключиться к девайсу. При этом чтобы остальные сетевые сервисы на этом компе на упали (чтобы интернет продолжал работать).

Share this post


Link to post
Share on other sites

makc
16 минут назад, jcxz сказал:

Да, это наверное в принципе более-менее подходящее решение, но я так понял - оно работает только на >=WIN10. А у меня WIN8. Да и хотелось бы решение работающее на всём >=WIN7.

Вы не дочитали текст по первой ссылке:

Цитата

Alternatives and older versions of Windows

According to petri.com (https://www.petri.com/configure_tcp_ip_to_use_dhcp_and_a_static_ip_address_at_the_same_time) this is possible to do (relatively) easily on Windows XP.

Previously I've been using peko's Win IP Config v2.7.2 (http://www.pkostov.com/wipcfg.html) to do this in Windows 10. This works like a charm, but it does lose the configuration upon sleep, reboot and renewing DHCP. It also seems to lack a CLI or other ways to automate it, so you'll have to readd the IP through the GUI everytime it's lost. I've not been able to get the latest version, "WinIPConfig 4.0", working.

If you're a programmer, the AddIPAddress function (https://msdn.microsoft.com/en-us/library/windows/desktop/aa365801(v=vs.85).aspx) should also work to temporarily add a secondary IP.

 

Share this post


Link to post
Share on other sites

jcxz
17 минут назад, makc сказал:

Вы не дочитали текст по первой ссылке:

Я читал это. Там разговор как я понял про WinXP - это не подходит.

Да и информация там не читается - картинки с https://www.petri.com/configure_tcp_ip_to_use_dhcp_and_a_static_ip_address_at_the_same_time не отображаются, а без них ничего не понятно.

Share this post


Link to post
Share on other sites

makc
2 минуты назад, jcxz сказал:

Я читал это. Там разговор как я понял про WinXP - это не подходит.

Возможно мы с вами понимаем по-разному написанное там. Я имел в виду, что для версий до 10ки есть разные пути и основной - http://www.pkostov.com/wipcfg.html

3 минуты назад, jcxz сказал:

Да и информация там не читается - картинки с https://www.petri.com/configure_tcp_ip_to_use_dhcp_and_a_static_ip_address_at_the_same_time не отображаются, а без них ничего не понятно.

Картинки для понимания сути не важны. Речь там идёт о добавлении вручную дополнительных адресов в реестр и там текстом написано куда нужно добавить. Я полагаю, что Win IP Config делает то же самое, только через графический интерфейс.

Share this post


Link to post
Share on other sites

dimka76
37 minutes ago, jcxz said:

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

Если вы назначите устройству адрес 192.168.1.100, то он тоже будет фиксированным. Т.е. не назначенным DHCP, а жестко  прописанным.

На винде (если это не серверная винда)  DHCP сервера нет. Поэтому, если вы втыкаете устройство напрямую в комп, то вам придется вручную задать компу адрес.

А т.к. вы адрес устройства знаете, то и при задании адреса компа вы выберете адрес отличный от адреса устройства.

На роутере есть DHCP сервер, и в нем можно адрес устройства исключить из раздаваемых адресов. Т.е. роутер этот адрес 

никому уже раздавать не будет.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.