VTun - простое и гибкое в настройке средство для настройки туннелей поверх TCP/IP сетей. Поддерживает шифрование, сжатие и шейпинг трафика.
В данном примере я построю шифрованный туннель между основным офисом и филиалом.
Маршрутизатор в офисе:
FreeBSD 9.1 amd64
IP-адрес в публичной сети: 44.44.44.254
IP-адрес в локальной сети: 192.168.111.254
Маршрутизатор в филиале:
FreeBSD 9.1 amd64
IP-адрес в публичной сети: 44.44.55.254
IP-адрес в локальной сети: 192.168.222.254
На маршрутизаторе в филиале:
В данном примере я построю шифрованный туннель между основным офисом и филиалом.
Маршрутизатор в офисе:
FreeBSD 9.1 amd64
IP-адрес в публичной сети: 44.44.44.254
IP-адрес в локальной сети: 192.168.111.254
Маршрутизатор в филиале:
FreeBSD 9.1 amd64
IP-адрес в публичной сети: 44.44.55.254
IP-адрес в локальной сети: 192.168.222.254
Установка vtun
Перед установкой обновляем дерево портов, например, при помощи portsnap.
Опций для конфигурации vtun не предлагает, поэтому ставим сразу:
cd /usr/ports/net/vtun
[root@srv501gw-bgp-test /usr/ports/net/vtun]# make install clean
Конфигурация vtun
Конфигурационный файл vtund.conf на маршрутизаторе в офисе:
options {
port 5005; # На каком порту будет слушать vtund
# Syslog facility
syslog daemon;
# Path to various programs
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/ipfw;
ip /sbin/ip;
}
# Опции по умолчанию
default {
compress no; # Сжатие по умолчанию отключено
speed 0; # По умолчанию - не резать скорость (шейпинг трафика выключен)
}
Branch1 {
type tun; # Тип соединения (IP туннель)
device tun0; # Имя сетевого интерфейса
persist keep; # Восстанавливать соединение при обрыве связи
stat yes; # Статистика. Записывает данные в файл каждые 5 минут
compress lzo:9; # Тип и уровень сжатия (9 - максимум)
encrypt yes; # Шифровать соединение по методу blowfish128ecb (по умолчанию)
passwd Pa$$word; # Пароль для установки соединения
proto tcp; # Протокол tcp или udp
keepalive yes; # Поддерживать соединение "живым"
up {
ifconfig "%% 192.168.111.254 192.168.222.254 netmask 255.255.255.0
route "add -net 192.168.222.0/24 192.168.222.254";
};
down {
ifconfig "%% down";
route "delete 192.168.222.0/24";
};
}
Разрешаем запуск VTun в rc.conf
vtund_enable="YES"
vtund_flags="-s"
Конфигурационный файл vtund.conf на маршрутизаторе в филиале:
options {
port 5005;
# Syslog facility
syslog daemon;
# Path to various programs
ppp /usr/sbin/pppd;
ifconfig /sbin/ifconfig;
route /sbin/route;
firewall /sbin/ipchains;
ip /sbin/ip;
}
# Default session options
default {
compress no;
speed 0;
}
Branch1 {
type tun;
device tun0;
persist keep;
stat yes;
compress lzo:9;
encrypt yes;
passwd Pa$$word;
proto tcp;
keepalive yes;
up {
ifconfig "%% 192.168.222.254 192.168.111.254 netmask 255.25
route "add -net 192.168.111.0/24 192.168.111.254";
};
down {
ifconfig "%% down";
route "delete 192.168.111.0/24";
};
}
Разрешаем запуск клиента VTun в rc.conf
vtunclient_enable="YES"
vtunclient_flags="-P 5005 -p Branch1 44.44.44.254"
vtund_enable="NO"
Запуск
На маршрутизаторе в офисе:[root@srv501gw-bgp-test ~]# /usr/local/etc/rc.d/vtund start
На маршрутизаторе в филиале:
[root@srv502gw-bgp-test ~]# /usr/local/etc/rc.d/vtunclient start
Проверка работоспособности VTun
На маршрутизаторе в офисе:
[root@srv501gw-bgp-test ~]# netstat -an | grep 5005
tcp4 0 0 44.44.44.254.5005 44.44.55.254.59746 ESTABLISHED
tcp4 0 0 *.5005 *.* LISTEN
[root@srv501gw-bgp-test ~]# ifconfig
...
tun0: flags=8051metric 0 mtu 1500
options=80000
inet 192.168.111.254 --> 192.168.222.254 netmask 0xffffff00
nd6 options=21
Opened by PID 1210
[root@srv501gw-bgp-test ~]# ping 192.168.222.254
PING 192.168.222.254 (192.168.222.254): 56 data bytes
64 bytes from 192.168.222.254: icmp_seq=1 ttl=64 time=0.965 ms
64 bytes from 192.168.222.254: icmp_seq=2 ttl=64 time=1.002 ms
64 bytes from 192.168.222.254: icmp_seq=3 ttl=64 time=1.014 ms
64 bytes from 192.168.222.254: icmp_seq=4 ttl=64 time=0.830 ms
64 bytes from 192.168.222.254: icmp_seq=5 ttl=64 time=0.876 ms
На маршрутизаторе в филиале:
[root@srv502gw-bgp-test ~]# netstat -an | grep 5005
tcp4 0 0 44.44.55.254.59746 44.44.44.254.5005 ESTABLISHED
[root@srv502gw-bgp-test ~]# ifconfig
tun0: flags=8051metric 0 mtu 1500
options=80000
inet 192.168.222.254 --> 192.168.111.254 netmask 0xffffff00
inet6 fe80::250:56ff:fe84:6868%tun0 prefixlen 64 scopeid 0x6
nd6 options=21
Opened by PID 1170
[root@srv502gw-bgp-test ~]# ping 192.168.111.254
PING 192.168.111.254 (192.168.111.254): 56 data bytes
64 bytes from 192.168.111.254: icmp_seq=0 ttl=64 time=1.066 ms
64 bytes from 192.168.111.254: icmp_seq=1 ttl=64 time=0.819 ms
64 bytes from 192.168.111.254: icmp_seq=2 ttl=64 time=0.827 ms
64 bytes from 192.168.111.254: icmp_seq=3 ttl=64 time=0.857 ms
64 bytes from 192.168.111.254: icmp_seq=4 ttl=64 time=0.874 ms
Комментариев нет:
Отправить комментарий