Добрый всем день. Имеется два офиса которые надо соединить в одну сеть. Ввиду того, что в Linux я пока не большой специалист, поэтому вопрос к Спецам. Покопался на просторах всемирной паутины, погуглил и отыскал вот такой вариант:
1. Сеть 192.168.1.0/24 (255.255.255.0) В которой есть машина подключенная
к интернет. Со стороны локальной сети машина имеет IP: 192.168.1.1 (на eth1)
а со стороны инета имеет IP: 195.64.21.123 (на eth0) Назовем эту машину ALPHA.
2. Сеть 192.168.2.0/24 (255.255.255.0) В которой есть машина подключенная
к интернет. Со стороны локальной сети машина имеет IP: 192.168.2.1 (на eth1)
а со стороны инета имеет IP: 62.5.195.124 (на eth0) Назовем эту машину BETTA.
Цель: Надо организовать тунель между машинами ALPHA и BETTA, чтобы компьютеры
одной сети имели доступ к компьютерам в другой сети.
Решение:
Пишется скрипт следующего содержания и запускается на машине ALPHA:
#!/bin/sh
# insmod ip_gre
tnl=tnl0
remote=62.5.195.124
local=195.64.21.123
ip=192.168.1.1
range=192.168.2.0/24
# ip tunnel del $tnl
ip tunnel add $tnl mode gre local $local remote $remote ttl 255
ip addr add $ip dev $tnl
ip link set $tnl up
ip route add $range dev $tnl
-----------------------------------------------------------------------
А для машины BETTA пишется другой аналогичный скрипт и запускается:
#!/bin/sh
# insmod ip_gre
tnl=tnl0
remote=195.64.21.123
local=62.5.195.124
ip=192.168.2.1
range=192.168.1.0/24
# ip tunnel del $tnl
ip tunnel add $tnl mode gre local $local remote $remote ttl 255
ip addr add $ip dev $tnl
ip link set $tnl up
ip route add $range dev $tnl
-------------------------------------------------------------------------
И ВСЕ. Тепрь две сетки связаны тунелем.
Теперь примечания:
1.) Ядро должно быть собрано с включенными опциями поддержки тунелей
(GRE в частности). А так же с включенной опцией поддержки Advanced Routing.
(У меня вообще все фичи того что касается IP сетей ВКЛЮЧЕНЫ БЫЛИ)
2.) Строка "insmod ip_gre" у меня закоментирована т.к. ядро собрано без модулей
(все в ядре). Если у вас используются модули для тунеля, то просто
раскоментируйте строку в скриптах.
3.) Строка "ip tunnel del $tnl" у меня закоментирована. Если ее раскоментировать
то все будет работать, но при ПЕРВОМ запуске скрипта он ругнется (что не страшно).
Она нужна для того, если вы хотите повторно запустить скрипт (например сделали
изменения в параметрах тунеля) Тогда эта строка прибьет существующий тунель и
потом будет создан новой. При первом запуске прибивать нечего, а потому скрипт
ругается :) Для того чтоб никого не смущать я ее закоментировал.
Это все. Если что пишите на alexey_fyodorov@mail.ru
PS: Испытания проводились на ядрах Linux 2.4.19 2.4.20
Мне это полностью подходит, а как с технической стороны??? Это правильно? На Серверах стоит ALTLinux.