4Debian.Info - Портал русскогоязычного сообщества Debian Карта сайта Контакты

Меню

Репозитории Debian

Скачать Debian

Установка Debian - Видео



Авторизация:

Новые статьи

Статьи в RSS

Новые комментарии

Новые уроки

Уроки в RSS


Вернутся к списку статей

Настройка vtun в Debian

Опишу настройку vtun для довольно экзотической задачи, которая тем не менее даёт хорошее представление о возможностях vtund.

Постановка задачи
Имеется две локальные сети network1 и network2 за шлюзами gateway1 и gateway2 соответственно. Шлюз gateway1 имеет "белый" IP-адрес, а второй шлюз может выходить в интернет только через NAT на вышестоящем шлюзе nat_gateway:


|network1| --- |gateway1| --- |internet| --- |O nat_gateway| --- |gateway2| --- |network2|


Требуется, чтобы сеть network1 могла ходить в сеть network2, но таким образом, чтобы узлы из сети network2 не знали о существовании каких-то других сетей, а считали, что с ними связывается непосредственно сам шлюз gateway2. То есть, необходимо на шлюзе gateway2 настроить трансляцию адресов network1 в локальный адрес шлюза gateway2.

Сеть network1: 10.0.0.1/24

Сеть network2: 192.168.0.0/24

Доменное имя gateway1 в интернете - server.domain.tld.



Настроим vtund на шлюзе gateway1 в режиме сервера
В файл /etc/default/vtund внесём следующую строчку:
bash:
  1. RUN_SERVER=yes

В файле /etc/vtund.conf опишем конфигурацию сервера:
bash:
  1. options {
  2. type stand;
  3. port 5000;
  4.  
  5. bindaddr {
  6. iface eth0;
  7. };
  8.  
  9. ifconfig /sbin/ifconfig;
  10. ip /sbin/ip;
  11. firewall /sbin/iptables;
  12. }
  13.  
  14. vpn1 {
  15. passwd mysecret;
  16. type tun;
  17. proto tcp;
  18. compress no;
  19. encrypt yes;
  20. keepalive yes;
  21. stat yes;
  22. multi killold;
  23.  
  24. up {
  25. ifconfig "%% 192.168.1.1 pointopoint 192.168.1.2";
  26. ip "route add 192.168.0.0/24 dev %%";
  27. };
  28.  
  29. down {
  30. ifconfig "%% down";
  31. ip "route delete 192.168.0.0/24 dev %%";
  32. };
  33. }



Настроим vtund на шлюзе gateway2 в режиме клиента
В файл /etc/default/vtund внесём следующие строчки:

bash:
  1. CLIENT0_NAME="vpn1"
  2. CLIENT0_HOST="server.domain.tld"

В файле /etc/vtund.conf опишем конфигурацию клиента:

bash:
  1. options {
  2. type stand;
  3. port 5000;
  4.  
  5. ifconfig /sbin/ifconfig;
  6. ip /sbin/ip;
  7. firewall /sbin/iptables;
  8. }
  9.  
  10. vpn1 {
  11. passwd mysecret;
  12. type tun;
  13. proto tcp;
  14. compress no;
  15. encrypt yes;
  16. stat yes;
  17. persist yes;
  18.  
  19. srcaddr {
  20. iface eth0;
  21. };
  22.  
  23. up {
  24. ifconfig "%% 192.168.1.2 pointopoint 192.168.1.1";
  25. ip "route add 10.0.0.0/24 dev %%";
  26. firewall "-t nat -A POSTROUTING -o eth0 -j MASQUERADE";
  27. };
  28.  
  29. down {
  30. ifconfig "%% down";
  31. ip "route delete 10.0.0.0/24 dev %%";
  32. firewall "-t nat -D POSTROUTING -o eth0 -j MASQUERADE";
  33. };
  34. }



Описание работы настроенной системы
Итак, работать это будет следующим образом. Шлюз gateway2 устанавливает соединение со шлюзом gateway1, используя доменное имя сервера server.domain.tld, TCP-порт сервера 5000 и пароль mysecret. Между шлюзами устанавливается туннель точка-точка, через который шлюз gateway1 будет отправлять пакеты для сети network2 192.168.0.0/24, находящийся за шлюзом gateway2. В свою очередь, шлюз gateway2 будет отправлять пакеты для сети network1 10.0.0.0/24 через шлюз gateway1.

При этом, если узел сети network1 10.0.0.0/24 попытается связаться с узлом из сети network2 192.168.0.0/24, шлюз gateway2 будет транслировать адреса сети network1 10.0.0.0/24 в свой локальный адрес (в терминологии iptables это называется SNAT или MASQUERADE).

В случае обрыва соединения gateway2 будет самостоятельно переустанавливать подключение. gateway1, при этом, допускает подключение только одного клиента и все предыдущие подключения будут заменяться вновь установленными.


Особенности, достоинства и недостатки
Файл /etc/default/vtund допускает настройку установки до 10 клиентских соединений (легко увеличивается редактированием скрипта инициализации /etc/init.d/vtun). Количество соединений, принимаемых сервером, не ограничено - их можно настроить в файле /etc/vtund.conf. При этом vtund может быть одновременно клиентом для одной части соединений и сервером для другой части соединений.

Из недостатков можно отметить только один - для каждого соединения необходимо прописывать собственные настройки, т.к. vtund не поддерживает встроенную возможность раздавать клиентам адреса из заранее заданного пула. Теоретически это можно реализовать с помощью внешних скриптов. Я считаю, что это не очень большой недостаток, т.к. этот недостаток является оборотной стороной достоинства vtund - простоты настройки (в отличие, например, от openvpn).

Так же рекомендую по теме прочесть инструкцию по настройке тунеля на базе OpenVPN
4Debian.Info , vtun, настройка

Комментарии: Настройка vtun в Debian

Только авторизованные пользователи могут оставлять комментарии!

Авторизация или Быстрая регистрация



Яндекс.Метрика
4Debian.Info
При полной или частичной перепечатке текстов статей и публикаций гиперссылка на www.4debian.info обязательна. | "4Debian.Info" | © 2018