Skip to content

Туннель

Вводные данные для примера

Server1:
ОС: Linux
Сетевой интерфейс: eth0
IP: 100.100.100.100
Server2:
ОС: FreeBSD
Сетевой интерфейс: fxp0
IP: 200.200.200.200

Нам необходимо получить IPv4 over IPv4 тунель со следующими параметрами между указанными серверами:


Server1: 10.0.0.1 / 255.255.255.252
Server2: 10.0.0.2 / 255.255.255.252
Настройка Linux

Для настройки описанной конфигурации на Linux-сервере нам нужно выполнить следующие шаги:

Создадим ipip-тунельный интерфейс:


ip tunnel add tun0 mode ipip remote 200.200.200.200 local 100.100.100.100 dev eth0

Установим IP-адреса:


ifconfig tun0 10.0.0.1 netmask 255.255.255.252 pointopoint 10.0.0.2

Установим MTU и поднимем интерфейс:


 ifconfig tun0 mtu 1500 up

Теперь на Linux-сервере мы имеем следующий интерфейс:


ifconfig tun0 tun77 Link encap:IPIP Tunnel HWaddr

inet addr:10.0.0.1  P-t-P:10.0.0.2  Mask:255.255.255.252
UP POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:504 (504.0 b)  TX bytes:624 (624.0 b)
Настройка FreeBSD

Следующим шагом будет настройка конца тунеля на стороне FeeeBSD-сервера:

Создаем gif-интерфейс для тунеля:


ifconfig gif0 create

Устанавливаем транспортные IP-адреса:


ifconfig gif0 tunnel 200.200.200.200 100.100.100.100
ifconfig gif0 inet6 alias MY_IPV6_IP REMOTE_IPV6_IP

Устанавливаем IP-адреса тунеля:


ifconfig gif0 10.0.0.2 netmask 255.255.255.252 10.0.0.1

Устанавливаем MTU и поднимаем интерфейс:


ifconfig gif0 mtu 1500 up

В результате на стороне FreeBSD видим следующее:


ifconfig gif0 gif0: flags=8051 mtu 1500

tunnel inet 200.200.200.200 --> 100.100.100.100
inet 10.0.0.2 --> 10.0.0.1 netmask 0xfffffffc