Яндекс.Метрика

воскресенье, 18 сентября 2011 г.

Создание ip-туннеля

Мне тут понадобилось создать туннель между Linux'ом и FreeBSD.

Итак, как это делается в Линуксе:

<interface_name> может быть каким угодно, даже tun-lena-to-petya

Создается ip-tunnel интерфейс:

$ ip tunnel add <interface_name> mode ipip remote <remote_address> local <local_address> dev eth0

Присваиваются компам локальные адреса:

$ ifconfig <interface_name> 10.0.0.1 pointopoint 10.0.0.2

Можно установить значение mtu:

$ ifconfig <interface_name> mtu 1000 up

Как на ФриБCД:

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

$ ifconfig gif10 create

Далее дадим адрес локального и удаленного компьютеров:

$ ifconfig gif10 tunnel 172.16.112.166 172.16.104.216

И дадим локальные адреса этого и удаленного компов:

$ ifconfig gif10 inet 10.0.10.2 10.0.10.1

Все. У меня это работает. Кстати, во FreeBSD по ifconfig можно узнать все необходимое по туннеле:

gif10: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
    tunnel inet 172.16.112.166 --> 172.16.104.216
    inet6 fe80::beae:c5ff:fe27:f4e2%gif10 prefixlen 64 scopeid 0x10
    inet 10.0.10.2 --> 10.0.10.1 netmask 0xff000000
    nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
    options=1<ACCEPT_REV_ETHIP_VER>

А в линуксе, хрен знает, как:

tunsamanka Link encap:IPIP Tunnel  HWaddr 
          inet addr:10.0.10.1  P-t-P:10.0.10.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1000  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1689 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:168 (168.0 B)  TX bytes:109009 (109.0 KB)

Комментариев нет:

Отправить комментарий