LINUX.ORG.RU
ФорумAdmin

два интерфейса + один шлюз = проблема


0

0

eth0 x.x.x.x (внешний) шлюз не указан
eth1 y.y.y.y (внутряной) шлюз y.y.y.ш
route default y.y.y.ш eth1
При "ping www.чегото.гдето" - тишина
При "ping www.чегото.гдето -I x.x.x.x" - все нормально
Пытаюсь "route add default gw y.y.y.ш dev eth0"
Отвечает "SIOCADDRT: Сеть недоступна"
Как же ему сделать "route default y.y.y.ш eth0" ??????

anonymous

route -n дай

что то ты с роутингом намудрил - все должно нормально сразу работать

ae
()

Что я намудрил?
Прочитай внимательно что я писал.
Необходимо чтобы пакеты уходили через внутренний шлюз (y.y.y.ш) с внешнего интерфейса (eth0)
"Все должно нормально сразу работать" не будет, т.к. маршрут по умолчанию - на внутренней сети (y.y.y.ш), соответсвенно интерфейс тоже внутренний (eth1).

anonymous
()

1: Покажы таблицу маршрутизации
2: Нормально обьясни что куда должно ходить

Skor78
()

по закону описания таблиц роутинга :

Если машина - которая указывается основным шлюзом недоступна - то указать ее физически невозможно

основной роутинг должен идти через ТАКУЮ машину которая находится в ТОЙЖЕ подсети что и интерфейс твоего сервака - иными словами - твой апи и апи шлюза для тебя должны быть указаны в одной подсетке .

это не касается хитрых манипуляций с iproute2 - пока тут никто толком и не сказал как юзать команду " IP ROUTE ".

и еще раз - покажи тут таблицу :
route -n

anonymous
()

> Необходимо чтобы пакеты уходили через внутренний шлюз (y.y.y.ш) с внешнего интерфейса (eth0)

Тогда вопрос: зачем тебе вообще нужен этот внешний интерфейс ? :-)
Насколько я понял, у тебя полностью все с твоей тачилы должно идти через этот внутренний шлюз. Тогда какую функцию выполняет eth0, что он делает ? :-))
Поставь на eth1 свой внутренний шлюз, сделай на него же default route, потом ifdown eth0. Должно работать :-))

P.S. Либо нормально объясни что именно ты хочешь + route -n, либо одно из двух :-)

spirit ★★★★★
()

>основной роутинг должен идти через ТАКУЮ машину которая находится в >ТОЙЖЕ подсети что и интерфейс твоего сервака - иными словами - твой >апи и апи шлюза для тебя должны быть указаны в одной подсетке.

Не слушай его. Он тебя плохому научит. Ж-)))

Не обязательно.
route add -net 0.0.0.0 netmask 0.0.0.0 dev eth0
route add -net 0.0.0.0 netmask 0.0.0.0 dev eth0 gw y.y.y.ш

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

Octopus
()

route -n
Dest Gw Genmask Iface
172.18.0.16 0.0.0.0 255.255.255.252 eth1
x.x.x.c 0.0.0.0 255.255.255.248 eth0
127.0.0.0 0.0.0.0 255.0.0.0 lo
0.0.0.0 172.18.0.17 0.0.0.0 eth1

(x.x.x.c - внешняя подсетка на интерфейсе eth0)

Может запутанно объясняю, но мне надо чтобы вместо eth1 в последней строчке было eth0.

Еще раз перепишу первое сообщение:
При "ping www.чегото.гдето" - тишина
При "ping www.чегото.гдето -I x.x.x.a" - все нормально
(x.x.x.a - внешний адрес на интерфейсе eth0)

Пытаюсь "route add default gw 172.18.0.17 dev eth0"
Отвечает "SIOCADDRT: Сеть недоступна"

По моему подробней некуда...

P.S. Большая просьба - задавать вопросы я и сам умею, не надо меня спрашивать зачем мне это надо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.