Туннель IPIP между двумя Linux

Пожалуй один из самых простых в настройке туннелей, который я знаю. Удобство ещё и в том, что его можно настроить как на unix-системе, так и на различных маршрутизаторах, в том числе Cisco, а также на Windows, последнее не проверял.
А самое приятное, что в любом Linux-дистрибутиве уже есть всё необходимое для создания ipip-туннеля.

Стоить отметить, что этот тип туннелей имеет тип точка-точка.
Есть и один недостаток этого вида туннеля в отличие от таких туннелей, как pptp, l2tp, openvpn, для ipip-туннеля необходимо условие: оба участника должны иметь внешние IP-адреса, или должны быть в одной сети, если быть точнее, между ними не должно быть никаких Nat’ов.

Чтобы проще понять алгоритм настройки обозначим исходные данные:
Сервер 1: IP-100.100.100.100
Сервер 2: IP-200.200.200.200
Нам нужно их объединить в одну сеть посредством vpn-туннеля со следующими данными:
Сервер 1: 10.0.0.1/255.255.255.252
Сервер 2: 10.0.0.2/255.255.255.252
Вся настройка состоит из трех команд на каждом из серверов:
Сервер 1:
1. Создадим ipip-туннельный интерфейс:
ip tunnel add tun0 mode ipip remote 200.200.200.200 local 100.100.100.100 dev eth0
2. Установим IP-адреса:
ifconfig tun0 10.0.0.1 netmask 255.255.255.252 pointopoint 10.0.0.2
3. Установим MTU и поднимем интерфейс:
ifconfig tun0 mtu 1492 up
Сервер 2:
1. Создадим ipip-туннельный интерфейс:
ip tunnel add tun0 mode ipip remote 100.100.100.100 local 200.200.200.200 dev eth0
2. Установим IP-адреса:
ifconfig tun0 10.0.0.2 netmask 255.255.255.252 pointopoint 10.0.0.1
3. Установим MTU и поднимем интерфейс:
ifconfig tun0 mtu 1492 up

Вот и всё!
Но для того, чтобы туннели восстанавливались после перезагрузки нужно написать скрипты с этими командами и добавить их например в /etc/rc.local

Запись опубликована в рубрике VPN с метками , , , , . Добавьте в закладки постоянную ссылку.

7 комментариев на «Туннель IPIP между двумя Linux»

  1. Сергей говорит:

    Любой дистрибутив подойдет? Правильно ли я понял, что основным условием является наличие белых ip на обоих шлюзах? Получается если все настроить так как написано в статье, мы получаем объединение двух удаленных офисов? А если есть третий или четвертый офис? Схема таже? Спасибо.

    • admin говорит:

      Да, достаточно прописать статические маршруты, и будет объединение офисов. Ещё, хотелось бы добавить, что если ваш провайдер блокирует различные vpn протоколы, по типу протокола, например gre, по портам, например TCP 1723 (pptp), UDP 1701 (l2tp), то заблокировать ipip равносильно блокировке протокола IP, или можно заблокировать по конкретным хостам.

  2. Дмитрий говорит:

    и имеем грабли с MTU.

    ifconfig tun0 mtu 1492 up

    должно быть

    • admin говорит:

      Оно и с 1500 может работать, но вы правы, чтобы работало наверняка лучше MTU уменьшать.

  3. alex говорит:

    + 1 спасибо работает.
    Но я правильно понимаю, что после этого надо маршруты ещё прописать между сетями которые находятся за хостами?

    • alex говорит:

      ip route add x.x.x.x/24 dev tun0 (x.x.x.x/24 local net)

      • admin говорит:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *