Решение на самом деле немного более прямолинейно.
Игнорировать iptables
команды на машина А
пока речь идет о сокрытии вашей подсети 192.168.2.0/24
за NAT.
Вместо этого сосредоточьтесь на том, что на самом деле происходит, когда вы выполняете команду ping.
Когда вы отправляете пинг на удаленный IP-адрес, вам действительно нужно сообщить обоим машина А
и машина Б
как получить соответствующие сети 192.168.0.0/24
и 192.168.2.0/24
.
Вы правильно поняли первую часть о рассказе машина Б
что для того, чтобы пинговать что-либо на 192.168.2.0/24
это должно пройти 25.61.150.71
.
Это то, что вы сделали в команде:
machineB> sudo ip route добавить 192.168.2.0/24 через 25.61.150.71
Это возможно, поскольку машина А
и машина Б
находится в той же подсети, что и Hamachi.
Но любая команда ping также должна отправить ответ, так как же машина А
знать, где сеть 192.168.0.0/24
расположен?
Ты можешь сказать машина А
что подсеть 192.168.0.0/24
находится позади 25.72.151.72
.
Это приводит к следующей команде:
machineA> sudo ip route добавить 192.168.0.0/24 через 25.72.151.72
Однако мы еще не совсем вышли из леса, поскольку, хотя машина А
и машина Б
знает, куда направить трафик на любой хост, принадлежащий любой сети, у нас все еще есть проблема, как любой другой хост принадлежащий 192.168.0.0/24
знать, как связаться 192.168.2.0/24
?
Если машина А
и машина Б
не является шлюзом по умолчанию для их сетей, тогда нам нужно добавить статический маршрут к шлюзу по умолчанию в любой сети.
За машина А
маршрутизатор по умолчанию, нам нужно сказать, что 192.168.0.0/24
доступен через 192.168.2.160
.
Подобные мы должны сказать машина Б
маршрутизатор по умолчанию, который 192.168.2.0/24
доступен через 192.168.0.103
.
После того, как все это будет сделано, вы сможете выполнить эхо-запрос с любого хоста, принадлежащего любой сети, на любой хост, принадлежащий другой сети.