Gre туннель linux centos

Содержание
  1. Gre туннель linux centos
  2. How to setup GRE tunnel in CentOS 7 linux
  3. 1- Prerequisites
  4. 2- Setup tunnel
  5. 3- Configure firewall
  6. 4- Test connectivity
  7. 5- Remove tunnel
  8. 2 thoughts on “ How to setup GRE tunnel in CentOS 7 linux ”
  9. Простой Ethernet-туннель на Linux в четыре-шесть команд
  10. Настройка VPN сервера (GRE/IPSec StrongSwan, OSPF Quagga)
  11. Настройка файрвола и роутинга
  12. Настройка StrongSwan
  13. Старый способ, использующий демон strongswan, уже достаточно хорошо описан:
  14. Новый способ, использующий демон charon, появившийся в версии 5.2.0:
  15. Одинаковые настройки аутентификации и шифрования для всех. Сделаем разными только PSK:
  16. Индивидуальные настройки аутентификации и шифрования:
  17. Поднятие туннелей с маршрутизаторами Cisco
  18. Настраиваем GRE-туннели в CentOS
  19. Создаем туннель на Cisco 2951
  20. Создаем туннель на Cisco CSR1000V
  21. Настройка динамической маршрутизации на Quagga
  22. Настройка OSPF на CentOS
  23. Настройка OSPF на Cisco 2951
  24. Настройка OSPF на Cisco CSR1000V
  25. Что осталось нерассмотренным
  26. Gre туннель linux centos
  27. Что такое GRE туннель?
  28. Как происходит инкапсуляции заголовка GRE в IP-пакет?
  29. Настройка GRE туннелей в Debian GNU/Linux
  30. Gre туннель linux centos
  31. Bring tun0 interfaces online and verify

Gre туннель linux centos

Linux » Networking » How to setup GRE tunnel in CentOS 7 linux

How to setup GRE tunnel in CentOS 7 linux

In today article, we want to show how to setup GRE tunnel in CentOS 7 linux.

as you may know, GRE stands for generic routing protocol, created by Cisco and is a tunneling protocol that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links or point-to-multipoint links over an Internet Protocol network.

Here is our environment:

OS: Centos 7 linux on VMWare
Firewall: CSF
SElinux: enforcing

Endpoint A:
local/internal IP: 10.10.10.1
public IP: 192.168.2.128

Endpoint B:
local/internal IP: 10.10.10.2
public IP: 192.168.2.129

1- Prerequisites

to set up gre tunnel and allow handle it by linux, related module needs to be loaded. so load it by running:

then check if it’s loaded correctly:

to automatically load this module on startup, create a file named tun.conf under /etc/modules-load.d and put the following line in it:

2- Setup tunnel

for setting up tunnel, we must create an interface on each endpoint. so run this commands on endpoint A:

and put these lines in it:

then create an interface on endpoint B:

and also put these lines in it:

now bring up two tunnel interfaces by running this command on both endpoint A and B:

3- Configure firewall

here we use csf as our firewall. so to allow gre traffic pass through these endpoints, we just need to whitelist both endpoints IPs.
so add public IP of endpoint B to endpoint A and vice versa. on endpoint A:

also we should allow gre traffic. run this commnad:

then put these lines in it:

then reload csf:

and on endpoint B:

again we should allow gre traffic. run this commnad:

then put these lines in it:

then reload csf:

if you use firewalld as your centos 7 firewall, run these command to allow gre traffic:
on endpoint A:

and on endpoint B:

4- Test connectivity

now it’s time to test connectivity. on endpoint A:

and on endpoint B:

if ping responses successfully, this means that our gre tunnel is working properly. if not, first disable firewall and test again and if problem persists, you should investigate your routing table to see where packets destined for our tunnel goes.

Читайте также:  Синхронизация айфон с windows

5- Remove tunnel

at any time, if you decided to remove tunnel, just bring down tunnel interface and remove related file on both endpoints:

2 thoughts on “ How to setup GRE tunnel in CentOS 7 linux ”

Dear Hector,
How can I share endpoint A internet to endpoint B on this tunnel?

Thank you in advance

dear abdali, what’s your goal totally and does your both servers have internet access?

Источник

Простой Ethernet-туннель на Linux в четыре-шесть команд

Четыре команды на туннель и две на firewall (не нужны если трафик между своими серверми уже разрешен)
Это всё что нужно, дальше длинное объяснение с подробностями.

Когда требуется объединить несколько компьютеров в псевдолокальную сеть через интернет часто это решается настройкой OpenVPN.

Решение хорошо работает, но не лишено недостатков:
1. Нужно ставить дополнительный софт и его настраивать. Причем с первого раза настраивается он не очень просто — надо посидеть и поразбираться.
2. Шифрование трафика происходит в пользовательском режиме и вносит дополнительные задержки, это не всегда важно но для IP-телефонии может быть заметно.
3. Шифрование не всегда нужно. Например в моем случае все соединения и так защищенные (ssh), мне нужна просто удобная плоская адресация между несколькими компьютерами так как будто они объединены в локальную сеть.

В Linux GRE-туннели настраиваются до неприличия просто (если не нужно шифрование), из требований Linux и по публичному IP на каждый.
В интернете на эту тему информации как-то исчезающе мало — в основном объясняются IP (а не ethernet) туннели и сразу вкупе с шифрованием трафика (которое нужно не всегда). man ip тоже очень обширный и информацию по

Пусть у нас есть два хоста:
HOST1 с внешним адресом 1.2.3.4
HOST2 с внешним адресом 2.3.4.5

Хочется сделать между ними ethernet-сеть, ну и для примера поверх нее можно настроить IP-адреса 192.168.0.1 192.168.0.2, но можно и любые другие или IPv6 или что угодно еще — получится обычная сеть как через коммутатор.

Все команды выполняются от ROOT, после перезагрузки — теряются. Чтобы не терялись нужно прописать команды в скрипты автозагрузки или в конфиги (у каждого дистрибутива свои).

1. Добавить виртуальную сетевую карту-шлюз на HOST1:

На HOST1 он будет выглядеть как обычная сетевая карта — можно назначать IP-адреса, запускать DHCP-сервер, включать в Bridge и т.п.

2. Включить добавленную карту

2. Если запущен IP-tables — разрешаем GRE-трафик

3. Симметричная настройка на втором хосте:

В этот момент ethernet-сеть уже работает. Для проверки этого можно настроить приватные IP-адреса на каждой стороне туннеля и пустить пинги.

Для пингов возможно тоже придется добавить правила в iptables (или вообще выключить его на время экспериментов).

Туннель спокойно настраивается между разными версиями linux, пока писал этот пост один конец был на ubuntu, второй на centos, разницы в настройке нет абсолютно никакой.

Повторяю — это туннель не дает никакой защиты от прослушивания/внедрения трафика.

Источник

Настройка VPN сервера (GRE/IPSec StrongSwan, OSPF Quagga)

Кто бы мог подумать, что развернуть часть серверов компании в Amazon было плохой идеей.

В итоге поставленная задача — сделать дополнительный VPN-туннель между Amazon и инфраструктурой в РФ.

Кроме простого how-to опишу несколько особенностей в настройке, с которыми можно столкнуться.

Читайте также:  Where installed java linux

Настройка файрвола и роутинга

Покупаем у пока еще не заблокированного хостера VPS за сумму, эквивалентную 10 000 монгольских тугриков в месяц, ставим CentOS 7, включаем пересылку пакетов

Добавляем в файрволе правила для приема пакетов IPsec

Настройка StrongSwan

Устанавливаем демон IPsec StrongSwan:

Делаем предварительные настройки в /etc/strongswan.d/charon.conf:

Настройка Strongswan может быть проведена двумя способами.

Старый способ, использующий демон strongswan, уже достаточно хорошо описан:

Файл с паролями и сертификатами:

Новый способ, использующий демон charon, появившийся в версии 5.2.0:

Вся конфигурация хранится в /etc/strongswan/swanctl/swanctl.conf

Рассмотрим два варианта настройки демона charon:

Одинаковые настройки аутентификации и шифрования для всех. Сделаем разными только PSK:

Индивидуальные настройки аутентификации и шифрования:

Поднятие туннелей с маршрутизаторами Cisco

Настраиваем GRE-туннели в CentOS

В настройке GRE-интерфейсов есть пара особенностей.

Первая — необходимо уменьшить MTU для корректного прохождения пакетов.

Второе — указать TTL, это понадобится в будущем, когда будем настраивать OSPF. Если этого не сделать, пакеты OSPF будут приходить на удаленный хост с TTL, равным единице (из-за GRE over IPsec), оставаясь без ответа. Соответственно устройства будут висеть в состоянии INIT/DROTHER, связности мы не дождемся. При этом корректные ответы ICMP могут сбить с толку.

Создаем туннель на Cisco 2951

Создаем туннель на Cisco CSR1000V

Проверяем, что туннели поднялись, шифрование работает.

Настройка динамической маршрутизации на Quagga

Если вы используете динамическую маршрутизацию на основе OSPF, то следующим шагом логично было бы поднять демон OSPF на CentOS, настроив новые туннели в качестве резервного маршрута.

Настройка OSPF на CentOS

В качестве демона установим Quagga:

Создаем конфигурационный файл демона /etc/quagga/zebra.conf

Вес пути можно регулировать параметрами cost либо bandwidth, устанавливая их на нужных интерфейсах.

Устанавливаем права и включаем службу

Создаем конфигурационный файл демона /etc/quagga/ospfd.conf

Устанавливаем права и включаем службу

Далее можем запустить терминал vtysh и работать с Quagga в циско-подобном интерфейсе, например:

Настройка OSPF на Cisco 2951

Настройка OSPF на Cisco CSR1000V

Проверяем видимость соседей и пришедшие маршруты на CentOS:

Что осталось нерассмотренным

Я описал самый простой вариант. Конечно же, вы настроите обмен ключами, используя IKE v2, авторизацию по сертификату, добавите в файрвол дополнительную фильтрацию по адресам, сделаете OSPF с авторизацией и, при большом количестве маршрутизаторов, с разделением на area, измените значения hello-interval и dead-interval на интерфейсах.

Буду рад советам в комментариях, а информации об опечатках — в личку. Спасибо за внимание.

Источник

Gre туннель linux centos

GRE (Generic Routing Encapsulation — общая инкапсуляция маршрутов) — протокол туннелирования сетевых пакетов, разработанный компанией CISCO Systems. Его основное назначение — инкапсуляция пакетов сетевого уровня сетевой модели OSI в IP пакеты. Номер протокола в IP — 47.

Что такое GRE туннель?

GRE туннель представляет собой соединение точка — точка, его можно считать одной из разновидностей VPN туннеля, без шифрования. Основное достоинство GRE это возможность передавать широковещательный трафик, что позволяет пропускать через такой туннель протоколы маршрутизации использующие его, IPSec — протокол защиты сетевого трафика на IP-уровне туннели в чистом виде этого не могут. Причин для организации GRE туннеля может быть множество от банальной необходимости пробросить свою сеть через чужое IP пространство до использования протоколов OSPF, RIPv2, EGRP совместно с IPSec. Так же GRE, в отличии от IPIP, может помочь пробросить немаршрутизируюмые протоколы, такие как NetBios, IPX, AppleTalk.

Читайте также:  Увеличить шрифт консоли windows

Различия между туннель GRE или IPIP:

Туннелирование увеличивает нагрузку на систему и сеть, потому что добавляются дополнительные IP-заголовки. Таким образом, если обычный размер пакета (MTU) в сети равен 1500 байтам, то при пересылке по туннелю, пакет будет меньше, 1476 байт для GRE и 1480 байт для IPIP. Задать MTU можно вручную или с помощью PMTUD (path MTU discovery). Основная проблема в ручной настройке MTU и/или MSS состоит в том, что по пути между вашими площадками может оказаться линк с MTU, скажем, 1300. Тут на помощь может прийти PMTUD. Протокол целиком и полностью полагается на ICMP протокол диагностики перегрузки сети unreachable messages, которые должны быть разрешены на всем пути между соседями. Cisco рекомендует устанавливать MTU в 1400 байт вне зависимости от того работает GRE поверх IPSec в туннельном или в транспортном режиме.

Туннелирование подразумевает три протокола:

Как происходит инкапсуляции заголовка GRE в IP-пакет?

GRE-заголовок накладывается «поверх» стандартного IP-пакета. При этом в самом GRE-заголовке содержится так называемый Tunnel IP Header. Именно в нем содержится информация о tunnel source и tunnel destination.

Данные адреса вкладываются в основной пакет, когда он отправляется в публичную сеть. В поле Control Information оригинального IP-пакета содержатся исходные IP-адреса источника и назначения. Таким образом, локальные серые IP-адреса скрыты в пакете, а в маршрутизации участвуют только те адреса которые мы указали в tunnel source и tunnel destination. При передаче пакета в локальную сеть GRE-заголовок отбрасывается и остается «чистый» IP-пакет.

Настройка GRE туннелей в Debian GNU/Linux

Настройка GRE туннелей в FAQ Debian и Хостинг VPS/VDS на Ubuntu одинаковы. Имеется 2 удаленных сервера Debian 7.8 Wheezy с реальными статическими IP адресами.

То же самое только через файл /etc/network/interfaces

В файл /etc/network/interfaces это будет выгладить так

Ниже рабочий пример для ping из локальной сети

Источник

Gre туннель linux centos

We need to load the gre kernel module, and also set it to load at boot time.

Now set it to start at boot

Create ifcfg-tun0 Configuration Files

We need to create the configuration files for the GRE tunnel. These files live alongside your CentOS network device files in /etc/sysconfig/network-scripts/

On one side(host IP is 141.136.108.122):

Create ifcfg-tun0 file. Please note, the internal and external interfaces must already be configured and plugged into the correct ports for each network.

The file should look like this (except your IPs will be different)

On the other side(host IP is 216.52.2.41):

Create ifcfg-tun0 file where the network interface scripts are.

The file should look like this (except your IPs will be different)

Bring tun0 interfaces online and verify

Now that we have the configuration files setup, we will need to bring up the tunnel interfaces and verify that they came online properly.

On both of 141.136.108.122 and 216.52.2.41:

We’ll just use the ifup command to bring up the interfaces. and we can verify with the ifconfig command.

Test the connection

At this point the tunnel should be online, and the machines should be able to reach one another via internal IP addresses. Lets ping each other and make sure everything looks ok – make sure your firewall isn’t dropping ICMP packets if it doesn’t work.

Источник

Оцените статью