Причина IP-адреса кажутся географически связанными, состоит в том, что подсеть, которой они являются частью, обрабатывается маршрутизатором в определенной части мира. Вы могли теоретически использовать его где-то в другом месте, но необходимо будет выполнить соединение (или физическая линия или VPN) от маршрутизатора до конечной точки, но это было бы или дорого или медленно.
Нет никакой технической причины, почему страна TLD должна быть связана с адресом, расположенным в указанной стране. DNS не заботится о том, какой адрес связан с именем хоста, только что каждый существует.
/ 23 уже есть в вашей таблице ...
netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
172.21.137.0 172.21.137.251 255.255.255.0 UG 0 0 0 eth4
172.21.136.0 172.21.137.251 255.255.255.0 UG 0 0 0 eth4
170.242.57.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0
172.21.136.0 0.0.0.0 255.255.254.0 U 0 0 0 eth4 <----------
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth4
0.0.0.0 170.242.57.251 0.0.0.0 UG 0 0 0 bond0
Также имейте в виду, что ip route add 172.21.136.0/23 через 172.21.137.251 dev eth4
является немного бессмысленно, поскольку 172.21.137.251 это в 172.21.136.0/23
Он работает нормально, и я не понимаю, почему он не работает для / 23
Потому что он уже там - вот что RTNETLINK отвечает: Файл существует
сообщаю вам.
ваш вывод netstat -rt содержит следующий маршрут:
172.21.136.0 0.0.0.0 255.255.254.0 U 0 0 0 eth4
, который конфликтует с ip route add 172.21.136.0/23 через 172.21.137.251 dev eth4
.