Posts tagged: vtun

Окт 20 2008

Строим тунель

Понадобилось как то поднять туннель между двумя сетями, выбрал я vtun, он есть в портах.
Ставим из /usr/ports/net/vtun , после чего приступаем к конфигурированию.
На первом сервере устанавливаем vtun в режиме сервера, пример vtund.conf:

options {
  # Listen on this port.
  port 5000;
 
  # Syslog facility
  syslog        daemon;
 
  # Path to various programs
  ppp           /usr/sbin/pppd;
  ifconfig      /sbin/ifconfig;
  route         /sbin/route;
}
 
# Default session options
default {
  compress no;          # Compression is off by default
  speed 0;              # By default maximum speed, NO shaping
}
 
#Пример настройки
hilik {
        #Пароль на сессию
        passwd  hilik;  # Password
        #Используем интерфейс tun
        type  tun;              # IP tunnel
        #Устанавливаем максимальное сжатие lzo
        compress  lzo:9;        # LZO compression level 9
        #Включаем шифрацию данных
        encrypt  yes;           # Encryption
        keepalive yes;  # Keep connection alive
 
         up {
                # Соединение установлено:
                # Ктнфигурируем интерфейс
                # 10.3.0.1 - локальный адрем, 10.3.0.2 - удаленная сторона
                ifconfig "%% 10.3.0.1 10.3.0.2 netmask 255.255.255.255 mtu 1450";
                #Устанавливаем маршрут к сети 192.168.1.0/24 через тунель
                route "add -net 192.168.1.0/24 10.3.0.2";
        };
 
        down {
 
               #Тут можно вставить действия которые будут
               #выполняться при разрушении туннеля
        };
}

После того как создали конфигурационный файл, вносим в /etc/rc.conf строку:
vtund_enable=»YES»
и делаем:
/usr/local/etc/rc.d/vtund start

Конфигурирование сервера окончено, приступаем к конфигурирования клиента.
Клиент устанавливается из того же порта /usr/ports/net/vtun, только создаем такой конфигурационный файл:

#Настройки по умолчанию
default {
  compress no;
  speed 0;
}
 
options {
  port 5000;
  timeout 60;
   ppp           /usr/sbin/pppd;
  ifconfig      /sbin/ifconfig;
  route         /sbin/route;
}
 
hilik {
  passwd  hilik;        # Password
#Указываем использовать интерфейс tun1
  device tun1;          # Device tun1
#Повторять попытки соединения при разрыве связи
  persist yes;          # Persist mode
  up {
        #Действия при соединении
        #Поднимаем интерфейс
        ifconfig "%% 10.3.0.2 10.3.0.1 netmask 255.255.255.255 mtu 1450";
        #Устанавливаем маршрут к удаленной сети
        route "add -net 192.168.2.0/24 10.3.0.1";
  };
 
}

После того как конфигурирование клиента окончено, необходимо добавить в /etc/rc.conf:
vtunclient_enable=»YES»
vtunclient_flags=»hilik 89.252.34.107″

Можно запускать.