не могу пинговать в частной сети после смены IP

не могу пинговать в частной сети после смены IP

У меня в частной сети два устройства. У одного компьютера IP 10.42.0.1, у другого IP 10.42.0.173.

Я могу пинговать с одного компьютера на другой и наоборот.

Если я хочу изменить IP с 10.42.0.173, например, на 10.42.0.43 с помощью ifconfig:

ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255 

У меня все еще есть пинг.

Но когда я хочу изменить его с 10.42.0.173, например, на 10.42.1.43,

ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255 

Я могу пинговать с 10.43.1.43 до 10.42.0.1, но не могу пинговать с другой стороны (с 10.42.0.1 до 10.42.1.43)

Может проблема с таблицей маршрутизации. Но я не знаю, как ее настроить.

решение1

Ваше первое устройство имеет IP-адрес 10.42.0.1скорее всего с маской подсети 24 бита ( 255.255.255.0). Для того, чтобы оно увидело 10.42.1.255без шлюза, вы должны установить маску подсети 24 бита или меньше ( 255.255.254.0или меньше) наобамашины

решение2

Ошибка маски сети.

ifconfig eth0 10.42.0.43 netmask 255.255.255.0 broadcast 10.42.0.255 
I can still have ping.

Это сеть 10.42.0
с 254 хостами, начинающимися с 10.42.0.1 и заканчивающимися на 10.42.0.254.
Трансляция 10.42.0.255



But when I want change it from 10.42.0.173 for example to 10.42.1.43 by
ifconfig eth0 10.42.1.43 netmask 255.255.0.0 broadcast 10.42.1.255 

Это совершенно другая сеть. Трансляция идет по адресу 10.42.1.255,
а 10.42.0.255 — это просто обычный IP-адрес хоста.


Пожалуйста, подключите оба устройства к одной локальной сети. С одинаковой маской сети.

решение3

Компьютер 10.42.1.43/255.255.0.0думает, что другой находится в его сети 10.42.x.x/255.255.0.0. Он предположит, что другой находится в , 10.42.0.1/255.255.0.0и поэтому с радостью запустит пакет ping.

Однако, наоборот, поскольку 10.42.0.1/255.255.255.0IP 10.42.1.43не находится в его сети и у него нет правила маршрутизации для передачи пакетов в 10.42.1.x. Поэтому ping не будет выполнен, поскольку для него нет сетевого маршрута. Другими словами, 10.42.0.1 не знает, как отправить сетевой пакет в 10.42.1.x.

Пакет, запущенный в физической сети, будет получен каждым подключенным устройством. Каждое устройство будет проверять каждый пакет, чтобы узнать, адресован ли он ему. Поэтому смысл в том, чтобы запустить пакет, что произойдет в первом случае, но не во втором.

Связанный контент