Туннели ip ip представляют собой самый простой способ объединить хосты, разделенные Интернетом, в приватную сеть.
Обязательное условие для создания туннелей данного вида — белые IP адреса. Они должны быть на обоих концах туннеля. С NAT использовать ip-ip не получится.
Настройка выполняется средствами iproute2. Пакет должен быть установлен.
Для создания туннеля будет использоваться скрипт. Он приведен для Сервер 1. Для Сервер 2 скрипт аналогичен, но меняются местами локальный и удаленный адреса.
Сервер 1: 123.123.123.123
Сервер 2: 124.124.124.124
mcedit /opt/createtunnel.sh
#!/bin/bash
/sbin/ip tunnel add tun0 mode ipip remote 124.124.124.124 local 123.123.123.123 dev eth0
/sbin/ifconfig tun0 192.168.0.1 netmask 255.255.255.252 pointopoint 192.168.0.2
/sbin/ifconfig tun0 mtu 1500
/sbin/ifconfig tun0 up
- Первой строкой задаются белые адреса и интерфейс на них, смотрящий во внешнюю сеть. Туннель будет выглядеть как новый интерфейс tun0.
- Далее туннельному интерфейсу дается IP адрес 192.168.0.1 с маской и указывается адрес другого конца — 192.168.0.2.
- Задается MTU.
- Интерфейс поднимается.
Чтобы скрипт выполнялся автоматически после перезагрузки его можно добавить в /etc/network/interfaces как
post-up /opt/createtunnel.sh
Или в /etc/rc.local
В выводе ip a интерфейс будет выглядеть так:
4: [email protected]: <pointopoint,noarp,up,lower_up> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 link/ipip 124.124.124.124 peer 123.123.123.123 inet 192.168.0.2 peer 192.168.0.1/30 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::200:5efe:5be2:5375/64 scope link valid_lft forever preferred_lft forever
Про GRE туннели.