LINUX.ORG.RU
ФорумAdmin

Default gateway в другой сети

 ,


0

2

Пусть у нас есть схема

[PC] 192.168.0.1 - 192.168.0.2 [SERVER1] 192.168.1.1 - 192.168.1.2 [SERVER2] 192.168.2.1/24
К SERVER2 подключено нечто (192.168.2.2), до чего надо достучаться с PC.
Сделать
ip route add 192.168.1.2 via 192.168.0.2
не проблема, но как потом достучаться до 192.168.2.2?
ip route add 192.168.2.2 via 192.168.1.2
не прокатывает, потому что 192.168.1.0/24 - другая сеть.
Интересует _теоретическая_ возможность такого подхода и возможность сделать через iproute такую шнягу
ip route add $gateway_to_another_network via $gateway_in_the_same_network
ip route add $another_network_ip via $gateway_to_another_network
Вторая команда не выполнится, потому что $gateway_to_another_network находится в другой сети (No such process).
Можно ли это сделать, не меняя ничего на SERVER1 и SERVER2, или я тут сказки выдумываю?
Solution: Прописать маршрут к 192.168.2.0/24 через 192.168.1.2 на SERVER1 и использовать 192.168.0.2 в качестве маршрута туда на PC.



Последнее исправление: getup (всего исправлений: 1)

gateway должен откликаться на arp-запрос. А arp не умеет в маршрутизацию, ибо уровнем ниже.

redgremlin ★★★★★
()
Ответ на: комментарий от getup

ну и боян) я думал он уже вымер. помнится целые холивары даже на лоре поднимались по этому поводу)

на РС:

ip route add 192.168.2.0/24 via 192.168.0.2

на SERVER1:

ip route add 192.168.2.0/24 via 192.168.1.2

на SERVER2:

ip route add 192.168.0.0/24 via 192.168.1.1

если SERVER2 является шлюзом по-умолчанию для 192.168.2.0/24 то на этом все. если нет то на ПК в этой сети делаем:

ip route add 192.168.0.0.24 via 192.168.2.1

nerve ★★
()

Сколько же раз это уже обсасывалось. Теоретическая(!) возможность есть, в ip-протоколе предусмотрена возможность такой маршрутизации, но на практике никакое сетевое железо это не поддерживает.

generator ★★★
()
Ответ на: комментарий от generator

Что за глупости, маршрутиризатор должен разбирать что и кому отправлять из разных подсетей, для того чтоб клиент из одной подсети мог отправлять или получать пакеты от маршрутиризатора в другой подсети нужно указать клиенту, что маршрутиризатор вообще существует
пример interfaces

iface eth0 inet static
address 192.168.2.15
netmask 255.255.255.0
up route add -net 192.168.1.1 netmask 255.255.255.255 eth0
up route add default gw 192.168.1.1 eth0
dns-nameserver 192.168.1.1
auto eth0
айпитэйбл тут не разбираю ибо лень, курите маны и все настроится

anonymous
()
Ответ на: комментарий от anonymous

Я имел ввиду то, что в ip предусмотрена возможность указать маршрутизатору, по какому маршруту передавать пакет дальше.

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

generator ★★★
()
Ответ на: комментарий от generator

Если уж делать кривизну, то хост отправил пакет маршрутизатору, маршрутизатор, в соответствии со своей таблицей, отправил пакет промежуточному хосту. ВНИМАНИЕ, как нистранно, промежуточный хост должен иметь, в таком случае, в таблице маршрутизации постоянный маршрут, в котором указано, куда надо дальше плюнуть этот пакет.

anonymous
()
Ответ на: комментарий от nerve

Я это в первом посте последней строчкой написал.

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