Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > iptunnel из подсети


Автор: Orthenner 20.1.2006, 17:52
Добрый день.
Необходимо через iptunnel объединить сеть и компьютер выходящий в интернет через модем. В качестве шлюза используется маршрутизатор с Linux-ом внутри. Компьютер выходящий в интернет через модем получает адрес внутренней подсети. Операционная система - Gentoo Linux. Внешний IP адрес шлюза из подсети провайдера известен. Задача - обеспечить вход компьютера в удаленную сеть.

Я поступал следующим образом.
1. На компьютере с модемом:

ip tunnel add gre1 mode gre remote <внешний адрес маршрутизатора> local <адрес шлюза провайдера>
ip addr add 192.168.1.113/24 dev gre1
ip link set gre1 up
ip route add 192.168.1.0/24 dev gre1

2. На маршрутизаторе:
ip tunnel add gre1 mode gre remote <адрес шлюза провайдера> local <внешний адрес маршрутизатора>
ip addr add 192.168.1.1/24 dev gre1
ip link set gre1 up
ip route add 192.168.1.113/32 ev gre1


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

Автор: tokra 14.3.2006, 11:28
Я делал так:
Это мои настройки с реальных маршрутизаторов.
Код

#!/bin/sh
#tunel mejdu marshrutizatorom M1 i M2
#pokluchaem modul ip_gre. Esli etot modul bul pokluchen
#v faile rc.modules, to insmod ip_gre ne nyjen
#    insmod ip_gre
#zadaem peremennyu tnl so znacheniem tnl0
    tnl=tnl0
#zadaem peremennyu remoute. V kachestve znacheniya ykazuvaem ip adres marshr. M2
    remote=y.y.y.y
#zadaem peremennyu local. V kachestve znacheniya ykazuvaem ip adres marshr. M1
    local=x.x.x.x
#zadaem peremennyu ip. V kachestve znacheniya ykazuvaem ip adres tynelya so storonu marshr. M1
    ip=192.168.100.1
#zadaem peremennyu peer. V kachestve znacheniya ykazuvaem ip adres tynelya so storonu marshr. M2
    peer=192.168.100.2
#zadaem peremennyu range. V kachestve znacheniya ykazuvaem ip adres seti, podkluchennoi k M2
    range=192.168.52.0/24
#sledyuwei komandoi ydalyaem tunel. Neobhodimo, dlya vozmojnosti vnosit izmeneniya v nastroiku tunelya ne perezagrujaya komp. 
    ip tunnel del $tnl
#sledyuwei komandoi sozdaem tunel.
    ip tunnel add $tnl mode gre local $local remote $remote ttl 255
#sledyuwei komandoi zadaem ip adres dlya tunelya(peremennaya $ip) i ykazuvaem ip adres tunelya s udalen. storonu (peremennaya $peer)
    ip addr add $ip peer $peer dev $tnl
#sledyuwei komandoi podnimaem tunel.
    ip link set $tnl up
#sledyuwei komandoi zadaem marshrut k seti $range cherez sozdanui tunel
    ip route add $range via $peer dev $tnl



Код

#!/bin/sh
#tunel mejdu marshrutizatorom M2 i M1
#pokluchaem modul ip_gre. Esli etot modul bul pokluchen
#v faile rc.modules, to insmod ip_gre ne nyjen
#    insmod ip_gre
#zadaem peremennyu tnl so znacheniem tnl0
    tnl=tnl0
#zadaem peremennyu remoute. V kachestve znacheniya ykazuvaem ip adres marshr. M1
    remote=x.x.x.x
#zadaem peremennyu local. V kachestve znacheniya ykazuvaem ip adres marshr. M2
    local=y.y.y.y
#zadaem peremennyu ip. V kachestve znacheniya ykazuvaem ip adres tynelya so storonu marshr. M2
    ip=192.168.100.2
#zadaem peremennyu peer. V kachestve znacheniya ykazuvaem ip adres tynelya so storonu marshr. M1
    peer=192.168.100.1
#zadaem peremennyu range. V kachestve znacheniya ykazuvaem ip adres seti, podkluchennoi k M1
    range=192.168.54.0/24
#sledyuwei komandoi ydalyaem tunel. Neobhodimo, dlya vozmojnosti vnosit izmeneniya v nastroiku tunelya ne perezagrujaya komp. 
    ip tunnel del $tnl
#sledyuwei komandoi sozdaem tunel.
    ip tunnel add $tnl mode gre local $local remote $remote ttl 255
#sledyuwei komandoi zadaem ip adres dlya tunelya(peremennaya $ip) i ykazuvaem ip adres tunelya s udalen. storonu (peremennaya $peer)
    ip addr add $ip peer $peer dev $tnl
#sledyuwei komandoi podnimaem tunel.
    ip link set $tnl up
#sledyuwei komandoi zadaem marshrut k seti $range cherez sozdanui tunel
    ip route add $range via $peer dev $tnl


И все работает!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)