alive_corpse
06-08-2008, 15:29
Прошу прощения, проблема избитая, но сам разобраться так и не смог. :(
Предположим, есть две подсети и машина с двумя интерфейсами в обеих подсетях, для простоты и чтобы не путаться - 192.168.1.0/24 на интерфейсе eth1 (192.168.1.1) и 192.168.2.0/24 на интерфейсе eth2 (192.168.2.1). Эта же машина выдаёт через dhcp default gateway'ями в обе подсети адреса на своих интерфейсах, то есть, 192.168.1.1 и 192.168.2.1 соответственно.
Форвардинг включен:
monitor:~# cat /proc/sys/net/ipv4/ip_forward
1
Из обоих подсетей пингуются оба адреса на обоих интерфейсах машины. То есть, из подсети 192.168.1.0/24 я могу пинговать и 192.168.1.1 и 192.168.2.1 и наоборот.
Вопрос: как сделать роутинг между подсетями через эту машину без маскардинга? Для этого ведь не надо делать ip тунеллей? Или надо? Если да, то как?
route add -net 192.168.1.0/24 gw 192.168.2.1 и route add -net 192.168.2.0/24 gw 192.168.1.1 - не помогает.
Так же пытался делать (по аналогии с http://www.linux.org.ru/view-message.jsp?msgid=21652):
route add -net 192.168.1.0/24 dev eth2
route add -net 192.168.2.0/24 dev eth1
С тем же результатом. :(
В обоих вариантах при попытке пинговать узлы одной сети из другой, получается следующее:
From 192.168.1.1: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1 icmp_seq=1 Destination Host Unreachable
From 192.168.1.1: icmp_seq=2 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1: icmp_seq=3 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1: icmp_seq=4 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1 icmp_seq=4 Destination Host Unreachable
С самого роутера 192.168.1.2 прекрасно пингуется.
Предположим, есть две подсети и машина с двумя интерфейсами в обеих подсетях, для простоты и чтобы не путаться - 192.168.1.0/24 на интерфейсе eth1 (192.168.1.1) и 192.168.2.0/24 на интерфейсе eth2 (192.168.2.1). Эта же машина выдаёт через dhcp default gateway'ями в обе подсети адреса на своих интерфейсах, то есть, 192.168.1.1 и 192.168.2.1 соответственно.
Форвардинг включен:
monitor:~# cat /proc/sys/net/ipv4/ip_forward
1
Из обоих подсетей пингуются оба адреса на обоих интерфейсах машины. То есть, из подсети 192.168.1.0/24 я могу пинговать и 192.168.1.1 и 192.168.2.1 и наоборот.
Вопрос: как сделать роутинг между подсетями через эту машину без маскардинга? Для этого ведь не надо делать ip тунеллей? Или надо? Если да, то как?
route add -net 192.168.1.0/24 gw 192.168.2.1 и route add -net 192.168.2.0/24 gw 192.168.1.1 - не помогает.
Так же пытался делать (по аналогии с http://www.linux.org.ru/view-message.jsp?msgid=21652):
route add -net 192.168.1.0/24 dev eth2
route add -net 192.168.2.0/24 dev eth1
С тем же результатом. :(
В обоих вариантах при попытке пинговать узлы одной сети из другой, получается следующее:
From 192.168.1.1: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1 icmp_seq=1 Destination Host Unreachable
From 192.168.1.1: icmp_seq=2 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1: icmp_seq=3 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1: icmp_seq=4 Redirect Host(New nexthop: 192.168.1.2)
From 192.168.1.1 icmp_seq=4 Destination Host Unreachable
С самого роутера 192.168.1.2 прекрасно пингуется.