Шлюз может быть проверен с помощью ping-запросов, но сбой для добавления маршрута с ним

Я хочу использовать 10.1.16.189 в качестве шлюза для доступа 9.36.204.4 оба на redhat 6.4. вот конфигурация сети моей машины:

      eth0      Link encap:Ethernet  HWaddr 06:FB:C1:7B:19:FD
      inet addr:10.62.56.130  Bcast:10.62.56.255  Mask:255.255.255.128
      inet6 addr: fe80::4fb:c1ff:fe7b:19fd/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:435639 errors:0 dropped:0 overruns:0 frame:0
      TX packets:13729 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:46426471 (44.2 MiB)  TX bytes:1502807 (1.4 MiB)
      Interrupt:32

Конфигурация сети машины я хочу использовать в качестве шлюза:

      eth0      Link encap:Ethernet  HWaddr 52:54:00:EA:31:A2
      inet addr:9.42.27.23  Bcast:9.42.27.255  Mask:255.255.252.0
      inet6 addr: 2002:92a:111:430:5054:ff:feea:31a2/64 Scope:Global
      inet6 addr: fe80::5054:ff:feea:31a2/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:53655370 errors:0 dropped:0 overruns:0 frame:0
      TX packets:21812264 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:30987415175 (28.8 GiB)  TX bytes:27696977107 (25.7 GiB)

      tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
      inet addr:10.1.16.44  P-t-P:1.1.1.1  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1450  Metric:1
      RX packets:480532 errors:0 dropped:0 overruns:0 frame:0
      TX packets:887766 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:500
      RX bytes:70276913 (67.0 MiB)  TX bytes:1234059626 (1.1 GiB)

И вот мои операции

route add -host 10.1.16.189 dev eth0 gw 10.62.56.129

добавьте способ получить доступ к хосту 9.36.204.4 до 10.1.16.189

route  add -host 9.36.204.4  gw 10.1.16.189
SIOCADDRT: Network is unreachable

Но я могу проверить с помощью ping-запросов и traceroute 10.1.16.189.

ping 10.1.16.189
PING 10.1.16.189 (10.1.16.189) 56(84) bytes of data.
64 bytes from 10.1.16.189: icmp_seq=1 ttl=54 time=76.2 ms
64 bytes from 10.1.16.189: icmp_seq=2 ttl=54 time=75.4 ms
64 bytes from 10.1.16.189: icmp_seq=3 ttl=54 time=75.5 ms

Таким образом, я хочу знать, почему это сообщило, что сеть недостижима, но я могу проверить с помощью ping-запросов и получить доступ к нему, я даже могу ssh это. И как настроить его для доступа 9.36.204.4 (который может быть достигнут в 10.1.16.189). И как решить, что шлюз достижим.спасибо.

1
задан 24 January 2015 в 05:13
3 ответа

Вы можете добавлять маршруты только к серверу, если он знает, как достичь этого шлюза. При первой настройке 10.62.56.130/25 он может обращаться только к адресам с 10.62.56.128 по 10.62.56.128. Напротив, он может найти любой из MAC-адресов (уровень 2) для этих машин с помощью ARP.

Затем, как только этот маршрут будет добавлен:

route add -host 10.1.16.189 dev eth0 gw 10.62.56.129

Он знает, что он также может достичь 10.1.16.189, отправив трафик на 10.62.56.129. Он не может найти MAC-адрес 10.1.16.189, но отправит его на 10.62.56.129 в надежде достичь 10.1.16.189.

Поэтому, когда вы попытаетесь:

route add -host 9.36.204.4 gw 10.1.16.189

Он не может перенаправить трафик на 10.1.16.189 (нет MAC-адрес). Правильный способ обработки - использовать команду:

route add -host 9.36.204.4 gw 10.62.56.129

И убедиться, что 10.62.56.129 будет направлять к 10.1.16.189 - который направит к возможному следующему пункту назначения (и так далее), в конечном итоге достигнув 9.36.204.4.

1
ответ дан 3 December 2019 в 21:06

Вы хотите добавить маршрут к хосту (9.36.204.4) через шлюз (10.1.16.189), который не является локальным для вашего хоста (10.62.56.130), который не может быть сделано. Вы можете пропинговать предложенный шлюз (10.1.16.189), потому что у вашего локального шлюза есть маршрут к этому шлюзу. Вам необходимо добавить маршрут для другой сети через локальный шлюз.

По сути, вы не можете добавить маршрут с помощью удаленного шлюза. Вы можете добавить маршрут только через локальный шлюз.

1
ответ дан 3 December 2019 в 21:06

Ответ Тео хорош. Я просто хочу добавить, если вы попробовали все ответы в этой теме, но ничего не произошло, используйте синтаксис ниже. Меня устраивает.

ip route add <целевой ip> через <ваш шлюз>

Пример

sudo ip route add 10.128.4.145 via 10.10.10.1

10.10.10.1 — ваш шлюз.

10.128.1.145 — конечная точка в другом шлюзе

0
ответ дан 24 September 2020 в 04:30

Теги

Похожие вопросы