Назад | Перейти на главную страницу

Виртуальный IP-адрес не проверяется: неправильные настройки?

Я работаю в Linux.

Я добавил маршрут к виртуальному IP, скажем: 100.10.10.2 выполнив команду:

route -n add 100.10.10.2 gw 127.0.0.1

Он был перенаправлен на мою локальную кольцевую проверку. Я проверил таблицу IP-адресов ядра, и она правильно настроила путь. Теперь я запускаю скрипт, который привязывается к тому же IP, а затем пытаюсь пропинговать IP с моей машины, он правильно получает ответ ping.

Но другой компьютер в той же сети не может проверить связь с этим виртуальным IP-адресом. Я проверил в Интернете, и там говорится, что у меня может быть несколько IP-адресов в моей локальной кольцевой проверке, и их можно просматривать с одноранговых узлов в той же сети.

Я попытался добавить путь к интерфейсу eth0, заменив 127.0.0.1 по моим eth0 Айпи адрес. Информация была добавлена ​​в таблицу маршрутов правильно, но затем произошло то же самое: я смог выполнить эхо-запрос с моей собственной машины, но партнер не смог.

Я искал то же самое, но ни одно из решений мне не помогло.

Сценарий (он отправляет обратно ответы на пакеты ICMP) верен (я в этом уверен), поскольку я получаю ответы ping со своей машины для IP, для которого я настроил маршрут.

Где я ошибаюсь? Или я упускаю какую-то конфигурацию?

Любая помощь высоко ценится!

РЕДАКТИРОВАТЬ:

Это таблица маршрутов

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
100.10.10.2     localhost.local 255.255.255.255 UGH   0      0        0 lo
192.168.1.0     *               255.255.255.0   U     1      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0

и конфигурация интерфейса:

eth0     Link encap:Ethernet  HWaddr 00:22:19:ec:ee:50  
          inet addr:192.168.1.2  Bcast:10.200.200.255  Mask:255.255.255.0
          inet6 addr: fe80::222:19ff:feec:ee50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

Я не понимаю, почему вы в любом случае возитесь с командами маршрута в локальной системе. Если у вас есть адрес, настроенный на одном из ваших локальных интерфейсов, вам не нужно указывать явный маршрут; ваша система уже знает, как с ней связаться.

Так, например, если у вас уже есть eth0 настроенный, как указано выше, вы сможете сделать это:

ifconfig eth0:0 100.10.10.2 netmask 255.255.255.0

И теперь ваша локальная система будет готова.

Чтобы другие системы в вашей сети могли связываться с вашей системой по этому IP-адресу, должно выполняться одно из трех условий. Либо:

  • им нужен интерфейс в одной IP-сети, или
  • им нужен явный маршрут к этой IP-сети, или
  • их шлюз по умолчанию должен иметь маршрут к этой IP-сети

Итак, если у вас есть другая система с «реальным» адресом 192.168.1.3, вы должны либо сделать это:

ifconfig eth0:0 100.10.10.3 netmask 255.255.255.0

Или это:

route add -net 100.10.10.0/24 dev eth0