![]() |
![]() |
#11 |
Member
Регистрация: 16.03.2013
Адрес: Пермь
Сообщений: 47
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Доброе время суток!!!
Опишу мой опыт использования vtun поверх lan2lan для объединения двух подсеток в бесплатном варианте (скорость 80-110 кб\сек). Вначале ставим vtun на обоих роутерах opkg update opkg install vtun Немного отвлекусь, почему мой выбор пал на vtun. 1. Это самый легковесный туннель. 2. Может использовать шифрование (я использую 128, но можно и 256). 3. Может использовать сжатие (у меня LZO). 4. Написан нашим соотечественником (поддержим отечественного производителя...) и имеет подробную инструкцию по конфигурации. 5. Может использовать различные протоколы и еще много всяких интересных финтиплюшек, которые можно использовать...Так что рекомендую...... Моя конфигурация сеток (домашняя сетка 192.168.1.хх)<->(роутер-1,192.168.1.181, lan2lan-192.168.2.4/32, vtun сервер 10.10.10.1)<->(интернет от дом.ру- роутер-1 подключен кабелем к домашнему роутеру с адресом 192.168.1.8, раздающим интернет) (соседский интернет от РосТелекома с внутренним адресом домашнего роутера 192.168.1.1, подключен по WiFi)<->(роутер-2, подключен клиентом по WiFi с статическим адресом 192.168.1.171, vtun клиент 10.10.10.2, lan2lan-192.168.2.3/32, внутренний адрес подсетки роутера-2 192.168.50.171)<->(тестовая подсетка 192.168.50.хх комп с виндой 192.168.50.111) Задача: любой комп с подсетки 192.168.50.хх должен прозрачно видеть (и естественно пользоваться общими ресурсами) подсетки 192.168.1.хх и наоборот...... Приведу свои конфиги с краткими пояснениями (vtun уже стоит) роутер-1 /etc/config/network config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option proto 'static' option netmask '255.255.255.0' option ipaddr '192.168.1.181' option _orig_ifname 'eth0' option _orig_bridge 'true' option ifname 'eth0' option gateway '192.168.1.8' option dns '192.168.1.8 8.8.8.8' config interface 'vpn' option ifname 'pptp-vpn' option proto 'pptp' option server 'vpn.lan2lan.ru' option username 'мое имя на lan2lan.ru' option password 'мой пароль на lan2lan.ru' option buffering '1' /etc/config/firewall приведу только часть, поскольку она стандартная да то уже была представлена, ну так, на всякий... config include option path '/etc/firewall.user' config zone option name 'VPN' option input 'ACCEPT' option output 'ACCEPT' option network 'vpn' option forward 'REJECT' Теперь уже будут отступления /etc/firewall.user # This file is interpreted as shell script. # Put your custom iptables rules here, they will # be executed with each firewall (re-)start. #vtund at TCP port 5000 as server side iptables -A input_rule -p tcp --dport 5000 -j ACCEPT iptables -A forwarding_rule -i tun+ -j ACCEPT iptables -A forwarding_rule -o tun+ -j ACCEPT Первая строчка пропускает порт 5000 который слушает сервер (lan2lan уже по идее должен быть запущен), 2 и 3 строчка перенаправляет вход и выход с драйвера адаптера tun. /etc/vtund.conf # options { port 5000; # порт который слушает сервер, по умолчанию из манов vtun bindaddr { iface pptp-vpn; }; # на каком интерфейсе, но можно указать и адрес # Syslog facility syslog daemon; # пути к программам, для OpenWrt такие ppp /usr/sbin/pppd; ifconfig /sbin/ifconfig; route /sbin/route; firewall /usr/sbin/iptables; ip /usr/sbin/ip; } # Почему то нужно указывать настройки по умолчанию (из манов) default { compress no; # Compression is off by default speed 0; # By default maximum speed, NO shaping } #указываем имя сессии, у меня роутеры переделанные из 702, с разным цветом светодиодов (под триколор), в данном случае подключаемся к синему. Название сессии должно совпадать на сервере и клиенте (blue_x) # Session 'blue_x'. blue_x { passwd "мой пароль"; # Пароль для сессии(должен совпадать на клиенте и сервере и без кавычек type tun; #тип адаптера (в моем случае tun) proto tcp; #протокол tcp (можно поставить и udp но для меня более важна надежность соединения чем скорость), (udp пакет может потеряться а tcp нет) compress lzo:9; #поставил максимальное сжатие. Проц загружен на 15-20% - мне пойдет. Замечено следующее - большие текстовые файлы передаются быстрее (скорость более 100 кб/сек). Уже сжатые архивы (типа .zip) медленнее (около 90-95 кб/сек). Даже пережатые фильмы (была и такая проба) тормозят совершенно (около 25-35 кб/сек). encrypt yes; # тут выбор шифрования (я шифрую) # stat yes; # наверно статистика, пока не использую keepalive yes; #восстановление соединения при обрыве, для сервера вроде и надо, но я поставил (до конца еще не разобрался) up { # Настройки при подъеме соединения # создадим подключение ptp (на всякий случай mtu 1320, так выдает lan2lan, и чтобы не было фрагментации пакетов, желательно придерживаться параметров уже установленного соединения. Если я не прав - пожалуйста поправьте. У lan mtu 1500 будут ли дробиться пакеты при переходе от lan к vtun??????? ifconfig "%% 10.10.10.1 pointopoint 10.10.10.2 mtu 1320"; #разрешим роутеру 192.168.1.181 слушать сетку 192.168.50.0/24 firewall "-I INPUT -i eth0 -s 192.168.50.0/24 -j ACCEPT"; # добавим маршрут с сетки 192.168.50.0 на дальний конец туннеля 10.10.10.2 route "add -net 192.168.50.0 netmask 255.255.255.0 gw 10.10.10.2"; # промаскарадим пакеты идущие в сетку 192.168.1.хх firewall "-t nat -A POSTROUTING -o eth0 -j MASQUERADE"; }; down { # При отключении интерфейса # удалим все созданные интерфейсы ifconfig "%% down"; #маршруты route "del -net 192.168.50.0 netmask 255.255.255.0 gw 10.10.10.2"; # и правила фаерволла, которые создали при подъеме интерфейса firewall "-D INPUT -i eth0 -s 192.168.50.0/24 -j ACCEPT"; firewall "-t nat -D POSTROUTING -o eth0 -j MASQUERADE"; }; } Пока (временно) vtun запускаем упрощенно /etc/rc.local # Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. mkdir /var/log/vtund > /dev/null 2>&1 mkdir /var/lock/vtund > /dev/null 2>&1 sleep 40 vtund -s exit 0 Где 1 и 2 строчка создает временные директории для для логов. 3 строчка упрощенно дает задержку для подключения к lan2lan (обычно хватает, но не всегда. Буду делать контроль соединения lan2lan, опускание и подъем отдельными скриптами с запуском в cron). 4 строчка с ключом -s запускает демон сервера vtun. Для сервера все. Теперь для роутера-2 /etc/config/network config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option proto 'static' option netmask '255.255.255.0' option ipaddr '192.168.50.171' option _orig_ifname 'eth0' option _orig_bridge 'true' option ifname 'eth0' config interface 'vpn' option ifname 'pptp-vpn' option proto 'pptp' option server 'vpn.lan2lan.ru' option username 'имя для lan2lan.ru' option password 'пароль для lan2lan.ru' option buffering '1' #интернет получаем по WiFi config interface 'wwan' option _orig_ifname 'radio0.network1' option _orig_bridge 'false' option proto 'static' option ipaddr '192.168.1.171' option netmask '255.255.255.0' option gateway '192.168.1.1' option dns '192.168.1.1 8.8.8.8' /etc/config/firewall Аналогичный с сервером (тоже частично) config include option path '/etc/firewall.user' config zone option name 'VPN' option input 'ACCEPT' option output 'ACCEPT' option network 'vpn' option forward 'REJECT' /etc/firewall.user Описывать не буду, аналогично серверу # This file is interpreted as shell script. # Put your custom iptables rules here, they will # be executed with each firewall (re-)start. #vtund at TCP port 3128 as server side iptables -A input_rule -p tcp --dport 5000 -j ACCEPT iptables -A forwarding_rule -i tun+ -j ACCEPT iptables -A forwarding_rule -o tun+ -j ACCEPT Хотя на клиенте первую строчку можно не вводить, поскольку слушать ему нечего... /etc/vtund.conf options { port 5000; # Аналогично серверу bindaddr { iface pptp-vpn; }; # Syslog facility syslog daemon; # Аналогично серверу ppp /usr/sbin/pppd; ifconfig /sbin/ifconfig; route /sbin/route; firewall /usr/sbin/iptables; ip /usr/sbin/ip; } # Аналогично серверу default { compress no; # Compression is off by default speed 0; # By default maximum speed, NO shaping } # Сессия чуть чуть попроще # Session 'blue_x'. blue_x { passwd "мой пароль"; # Пароль для сессии(должен совпадать на клиенте и сервере и без кавычек device tun1; #тип адаптера (указал конкретно что tun1 - для себя) persist yes; #восстановление после разрыва. Говорят что работает не очень хорошо. После длительного разрыва с интернетом сам vtun выпадает из памяти. Существуют скрипты подъема. В интернете есть, если что - поделюсь, хотя испытать их еще не успел. up { # Connection is Up # Подъем, за исключением адресов, аналогичен серверу ifconfig "%% 10.10.10.2 pointopoint 10.10.10.1 mtu 1320"; firewall "-I INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT"; # Add route to net route "add -net 192.168.1.0 netmask 255.255.255.0 gw 10.10.10.1"; # Enable masquerading for net firewall "-t nat -A POSTROUTING -o eth0 -j MASQUERADE"; }; down { # Connection is Down # отпуск, за исключением адресов, аналогичен серверу ifconfig "%% down"; #Del route to net route "del -net 192.168.1.0 netmask 255.255.255.0 gw 10.10.10.1"; # Disable masquerading for net firewall "-D INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT"; firewall "-t nat -D POSTROUTING -o eth0 -j MASQUERADE"; }; } /etc/rc.local # Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. mkdir /var/log/vtund > /dev/null 2>&1 mkdir /var/lock/vtund > /dev/null 2>&1 sleep 70 vtund blue_x 192.168.2.4 exit 0 Практически тоже самое. В 3 строчке (относительно сервера) увеличено время (временно до написания скриптов подъема). В 4 строчке (vtund blue_x 192.168.2.4) запуск клиента. Вроде все. После перезапуска роутеров встает вначале сервер потом клиент. Выложу ifconfig с обоих аппаратов, что и где разберетесь сами root@OpenWrt:~# ifconfig eth0 Link encap:Ethernet HWaddr C4:6E:1F:C0:97:C0 inet addr:192.168.50.171 Bcast:192.168.50.255 Mask:255.255.255.0 inet6 addr: fe80::c66e:1fff:fec0:97c0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:591 errors:0 dropped:0 overruns:0 frame:0 TX packets:504 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:64754 (63.2 KiB) TX bytes:132190 (129.0 KiB) Interrupt:4 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:44 errors:0 dropped:0 overruns:0 frame:0 TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3590 (3.5 KiB) TX bytes:3590 (3.5 KiB) pptp-vpn Link encap:Point-to-Point Protocol inet addr:192.168.2.3 P-t-P:46.38.52.90 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1320 Metric:1 RX packets:157 errors:0 dropped:0 overruns:0 frame:0 TX packets:191 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:25938 (25.3 KiB) TX bytes:18425 (17.9 KiB) tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.10.10.2 P-t-P:10.10.10.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1320 Metric:1 RX packets:82 errors:0 dropped:0 overruns:0 frame:0 TX packets:85 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:24373 (23.8 KiB) TX bytes:8207 (8.0 KiB) wlan0 Link encap:Ethernet HWaddr C4:6E:1F:C0:97:C0 inet addr:192.168.1.171 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::c66e:1fff:fec0:97c0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:327 errors:0 dropped:0 overruns:0 frame:0 TX packets:333 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:32 RX bytes:46521 (45.4 KiB) TX bytes:45136 (44.0 KiB) root@OpenWrt:~# root@OpenWrt:~# ifconfig eth0 Link encap:Ethernet HWaddr C0:4A:00:30:B4:56 inet addr:192.168.1.181 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::c24a:ff:fe30:b456/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:305127 errors:0 dropped:0 overruns:0 frame:0 TX packets:338358 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:202624390 (193.2 MiB) TX bytes:204035925 (194.5 MiB) Interrupt:4 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:23 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2264 (2.2 KiB) TX bytes:2264 (2.2 KiB) pptp-vpn Link encap:Point-to-Point Protocol inet addr:192.168.2.4 P-t-P:46.38.52.90 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1320 Metric:1 RX packets:165153 errors:0 dropped:0 overruns:0 frame:0 TX packets:156701 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:160237276 (152.8 MiB) TX bytes:34538370 (32.9 MiB) tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.10.10.1 P-t-P:10.10.10.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1320 Metric:1 RX packets:107028 errors:0 dropped:0 overruns:0 frame:0 TX packets:58106 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:136296706 (129.9 MiB) TX bytes:3110572 (2.9 MiB) Всёёёё Теперь прошу помощи (указания) знающих людей. Поскольку вся связь идет через VPN, интернет к которому подключены роутеры не получается использовать. В Винде при создании соединений стоит галка об использовании внутренних адресов (или что то в этом роде - не помню точно). Хотелось бы чтобы через туннели ходили только адреса сеток, а если адрес в этот диапазон не попадает, то был-бы выход в интернет через существующее соединение интернета??????? |
![]() |
![]() |
Здесь присутствуют: 3 (пользователей: 0 , гостей: 3) | |
|
|