Dual Access PPTP

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 20:47, 13 January 2009 (edit)
YuriKr (Talk | contribs)
(New page: На закладке WAN Setup выбираем Static или DHCP (в зависимости от того, что дал провайдер), далее Services --> PPTP --> PPTP Clie...)
← Previous diff
Current revision (12:19, 9 January 2011) (edit) (undo)
Koshika (Talk | contribs)

 
(4 intermediate revisions not shown.)
Line 1: Line 1:
 +Способ №1:
 +
На закладке WAN Setup выбираем Static или DHCP (в зависимости от того, что дал провайдер), На закладке WAN Setup выбираем Static или DHCP (в зависимости от того, что дал провайдер),
далее Services --> PPTP --> PPTP Client (так же заполняем в зависимости что дал провайдер, если нет шифрования - MPPE Encryption оставляем пустой). далее Services --> PPTP --> PPTP Client (так же заполняем в зависимости что дал провайдер, если нет шифрования - MPPE Encryption оставляем пустой).
Line 15: Line 17:
Где-то видел писали, что sed в dd-wrt вырезан на самом деле это не так в стандартной прошивке он присутствует и прекрасно отрабатывает. Проверить действие скрипта можно в консоли с помощью Где-то видел писали, что sed в dd-wrt вырезан на самом деле это не так в стандартной прошивке он присутствует и прекрасно отрабатывает. Проверить действие скрипта можно в консоли с помощью
- сат /tmp/pptpd_client/ip-up+ cat /tmp/pptpd_client/ip-up
должна присутствовать строка route del $5 должна присутствовать строка route del $5
Line 29: Line 31:
'''Источник:''' '''Источник:'''
# http://www.dd-wrt.com/phpBB2/viewtopic.php?p=238332#238332 # http://www.dd-wrt.com/phpBB2/viewtopic.php?p=238332#238332
 +
 +
 +Способ №2:
 +
 +0. Подготовка.
 +Для начала надо сменить MAC адрес что смотрит в Вашу сеть
 +
 + ifconfig vlan1 down
 + ifconfig vlan1 hw ether xx:xx:xx:xx:xx:xx
 + ifconfig vlan1 up
 +
 +Определить какой именно интерфейс нам нужен можно посмотрев в Status->Sys-Info в блоке "Router" запоминаем MAC адрес WAN интерефейса .
 +Отдаём команду ifconfig и ищем vlan[0-9] у которого MAC совпадает с запомненым раньше :) именно этот интерфейс и нужно тормозить для смены MAC адреса нашего роутера.
 +
 +Настраивать будем с использованием следующих параметров (для каждого отдельного случая могут различаться):
 +
 + Сеть: 192.168.100.0/24
 + IP адрес внутри сети: 192.168.100.243
 + Роутер для подсети: 192.168.100.1
 + Интерфейс в сеть: vlan1
 + Наша внутренняя сеть: 172.16.0.0/24
 + IP адрес нашего роутера: 172.16.0.1
 +
 +1. Настраиваем соединение PPPoE.
 +Идём Setup->Basic setup выбираем в блоке "WAN Connection Type" , из выпадающего списка "Connection Type" выбираем "PPPoE" .
 +Достаточно заполнить только поля "User Name" и "Password" , все остальные чекбоксы выставляем в Disabled ...
 +Применяем настройки , если всё хорошо (надеюсь что хорошо) в статусе (в правом верхнем углу) WAN будет указывать на внешний IP адрес вида 94.243.х.х , если оно всё так :) значит у нас есть рабочее соединение с инетом ^_^ идём дальше .
 +
 +2. Настраиваем локальную сеть.
 +Дальше придётся шаманить из консоли (мне удобнее, т.к. нету задержки при исполнении команд, или идём в Administration->Commands) ...
 +Чтобы выйти в локалку, необходимо получить плюшевый адрес, поэтому отдаём команды:
 +*всё что ниже начиная со знака # есть комментарии , их вводить не надо.
 +
 + killall udhcpc #убиваем DHCP если оно есть
 + udhcpc -i vlan1 -p /var/run/udhcpc.pid -s /tmp/udhcpc #перезапускаем DHCP
 + ifconfig vlan1 #магия кончилась, если всё ок, то тут увидим наш адрес в локалке
 +
 +Всётаки немного магии как выясняется нужно, дело в том что на тестовом роутере не присваивался IP адрес через DHCP, выход из этого есть только один... как ни странно это статический IP адрес для интерфейса, который смотрит в лоеалюную сеть.
 +Если у вас всё именно так придётся вводить статику... К примеру будем использовать 192.168.100.243 (адрес для каждого отдельного случая будет свой, этот я взял просто из великого рандома)... выполняем команды:
 +
 + ifconfig vlan1 down
 + ifconfig vlan1 192.168.100.243 netmask 255.255.255.0
 + ifconfig vlan1 up
 +
 +В итоге получаем , то с чем не справился DHCP клиент.
 +
 +3. Настраиваем маршруты.
 +
 + route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.100.1
 + route add -net 10.0.2.0 netmask 255.255.255.0 gw 192.168.100.1
 + route add -net 79.173.126.0 netmask 255.255.255.0 gw 192.168.100.1
 +
 +4. Настраиваем NAT.
 +
 + iptables -A FORWARD -s 172.16.0.0/24 -j ACCEPT
 + iptables -A FORWARD -d 172.16.0.0/24 -j ACCEPT
 + iptables -t nat -A POSTROUTING -o vlan1 -s 172.16.0.0/24 -j MASQUERADE
 +
 +5. Загрузочный скрипт.
 +Добавлять скрипты нужно в Administration->Commands .
 +
 +Startup script
 +Необходимо ввести в поле команд и нажать "Save Startup"
 +
 + ifconfig vlan1 down
 + ifconfig vlan1 hw ether xx:xx:xx:xx:xx:xx
 + ifconfig vlan1 up
 + sleep 10
 + ln -s /sbin/rc /tmp/udhcpc && udhcpc -i vlan1 -p /var/run/udhcpc.pid -s /tmp/udhcpc
 + route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.100.1
 + route add -net 10.0.2.0 netmask 255.255.255.0 gw 192.168.100.1
 + route add -net 79.173.126.0 netmask 255.255.255.0 gw 192.168.100.1
 +
 +Ниже альтернативный Startup Script , в случае со статическим IP адресом
 +
 + ifconfig vlan1 down
 + ifconfig vlan1 hw ether xx:xx:xx:xx:xx:xx
 + ifconfig vlan1 192.168.100.243 netmask 255.255.255.0
 + ifconfig vlan1 up
 + route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.100.1
 + route add -net 10.0.2.0 netmask 255.255.255.0 gw 192.168.100.1
 + route add -net 79.173.126.0 netmask 255.255.255.0 gw 192.168.100.1
 +
 +Firewall script
 +Необходимо ввести в поле команд и нажать "Save Firewall"
 +
 + iptables -A FORWARD -s 172.16.0.0/24 -j ACCEPT
 + iptables -A FORWARD -d 172.16.0.0/24 -j ACCEPT
 + iptables -t nat -A POSTROUTING -o vlan1 -s 172.16.0.0/24 -j MASQUERADE
 +
 +К сожалению не всё так безоблачно в нашем мире и при сохранении скрипта для настройки файрвола роутер уходит в глубокий ребут , как лечить не знаю , но у меня получилось его сохранить только после того как я сохранил его в Custom Script ;) почему оно так я незнаю ...
 +
 +6. Коментарии.
 +Если все пункты выполнены нормально , то у вас рабочий роутер с DualAccess ;)
 +При написании всего этого была использована одна бутылка пива "Asahi" и счастливый пользователь DIR-400 ;) в качестве бета-тестера настроек .
 +
 +P.S. если вы всётаки дочитали до этого места , то открою страшную тайну ;) досточно выполнить шаг 5 и перезагрузить роутер ...
 +
 +"Tweak"
 +
 +-------
 +
 +'''Источник:'''
 +# http://forum.tktor.ru/index.php?t=838&o=0&st=0
 +
 +
 +Способ №:3
 +
 +При статическом IP:
 +На закладке WAN Setup выбираем PPTP и заполняем в соответствии с тем, что дал провайдер (IP-адрес / логин / пароль /адрес vpn сервеа)
 +
 +Далее Administration --> Management --> Устанвить '''Cron''' в режим enable
 +
 +Далее Administration --> Command и вбиваем скрипт в '''Startup''' примерно следующего содержания:
 +
 + #!/bin/sh
 + mkdir -p /tmp/cron.d
 + cat <<"ENDOFFILE" > /tmp/fix-pptp-settings.sh
 + if [ "$1" = "--check" ];then
 + if [ "$(nvram get wan_gateway)" != "XXX.XXX.XXX.XXX" ]; then
 + while read param; do
 + nvram set $param
 + sleep 2
 + done <<EOF
 + wan_gateway=XXX.XXX.XXX.XXX
 + wan_netmask=XXX.XXX.XXX.XXX
 + wan_ipaddr=XXX.XXX.XXX.XXX
 + EOF
 + fi
 + elif [ "$1" = "--daemon" ];then
 + while true; do
 + $0 --check
 + sleep 60
 + done
 + fi
 + ENDOFFILE
 + chmod 700 /tmp/fix-pptp-settings.sh
 + sh -c "/tmp/fix-pptp-settings.sh --daemon &"
 +
 +Естественно не забыть поставить вместо '''XXX.XXX.XXX.XXX''' свои значения ip-адреса, маски и шлюза.
 +
 +Данный скрипт будет запускаться по cron'у раз в минуту и при отвале VPN cкрипт установит все значения на заданные, чтобы снова подключиться через vpn.
 +
 +-------
 +
 +'''Источник:'''
 +# http://www.e1.ru/talk/forum/read.php?f=27&i=171067&t=171067
 +
 +[[Category:Русская документация]]

Current revision

Способ №1:

На закладке WAN Setup выбираем Static или DHCP (в зависимости от того, что дал провайдер), далее Services --> PPTP --> PPTP Client (так же заполняем в зависимости что дал провайдер, если нет шифрования - MPPE Encryption оставляем пустой).

Далее Advanced Routing --> Static Routing вбиваем ip vpn-сервера (если он представлен в виде vpn.provaider.ru, ip посмотреть можно через nslookup) через свой шлюз, далее здесь же локальные маршруты и при необходимости на DNS.

Для Корбины теперь необходимо удалить маршрут на vpn после подъема pptp, для этого идем Administration --> Commands и вбиваем такой скрипт:

(while [ ! -f /tmp/pptpd_client/ip-up ]; do sleep 10; done 
cp /tmp/pptpd_client/ip-up /tmp/ipup.tmp 
sed -e '/keloke/a \ 
route del $5' < /tmp/ipup.tmp > /tmp/pptpd_client/ip-up 
route del default) &

Где-то видел писали, что sed в dd-wrt вырезан на самом деле это не так в стандартной прошивке он присутствует и прекрасно отрабатывает. Проверить действие скрипта можно в консоли с помощью

cat /tmp/pptpd_client/ip-up

должна присутствовать строка route del $5

Нажимаем Save Startup, перезагружаемся и по идее должно все работать.

Проверить что туннель поднялся можно через команду ifconfig в консоли, должен появиться интерфейс ppp0.

bologov


Источник:

  1. http://www.dd-wrt.com/phpBB2/viewtopic.php?p=238332#238332


Способ №2:

0. Подготовка. Для начала надо сменить MAC адрес что смотрит в Вашу сеть

   ifconfig vlan1 down 
   ifconfig vlan1 hw ether xx:xx:xx:xx:xx:xx 
   ifconfig vlan1 up 

Определить какой именно интерфейс нам нужен можно посмотрев в Status->Sys-Info в блоке "Router" запоминаем MAC адрес WAN интерефейса . Отдаём команду ifconfig и ищем vlan[0-9] у которого MAC совпадает с запомненым раньше :) именно этот интерфейс и нужно тормозить для смены MAC адреса нашего роутера.

Настраивать будем с использованием следующих параметров (для каждого отдельного случая могут различаться):

   Сеть: 192.168.100.0/24 
   IP адрес внутри сети: 192.168.100.243 
   Роутер для подсети: 192.168.100.1 
   Интерфейс в сеть: vlan1 
   Наша внутренняя сеть: 172.16.0.0/24 
   IP адрес нашего роутера: 172.16.0.1 

1. Настраиваем соединение PPPoE. Идём Setup->Basic setup выбираем в блоке "WAN Connection Type" , из выпадающего списка "Connection Type" выбираем "PPPoE" . Достаточно заполнить только поля "User Name" и "Password" , все остальные чекбоксы выставляем в Disabled ... Применяем настройки , если всё хорошо (надеюсь что хорошо) в статусе (в правом верхнем углу) WAN будет указывать на внешний IP адрес вида 94.243.х.х , если оно всё так :) значит у нас есть рабочее соединение с инетом ^_^ идём дальше .

2. Настраиваем локальную сеть. Дальше придётся шаманить из консоли (мне удобнее, т.к. нету задержки при исполнении команд, или идём в Administration->Commands) ... Чтобы выйти в локалку, необходимо получить плюшевый адрес, поэтому отдаём команды:

  • всё что ниже начиная со знака # есть комментарии , их вводить не надо.
   killall udhcpc #убиваем DHCP если оно есть 
   udhcpc -i vlan1 -p /var/run/udhcpc.pid -s /tmp/udhcpc #перезапускаем DHCP 
   ifconfig vlan1 #магия кончилась, если всё ок, то тут увидим наш адрес в локалке 

Всётаки немного магии как выясняется нужно, дело в том что на тестовом роутере не присваивался IP адрес через DHCP, выход из этого есть только один... как ни странно это статический IP адрес для интерфейса, который смотрит в лоеалюную сеть. Если у вас всё именно так придётся вводить статику... К примеру будем использовать 192.168.100.243 (адрес для каждого отдельного случая будет свой, этот я взял просто из великого рандома)... выполняем команды:

   ifconfig vlan1 down 
   ifconfig vlan1 192.168.100.243 netmask 255.255.255.0 
   ifconfig vlan1 up 

В итоге получаем , то с чем не справился DHCP клиент.

3. Настраиваем маршруты.

   route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.100.1 
   route add -net 10.0.2.0 netmask 255.255.255.0 gw 192.168.100.1 
   route add -net 79.173.126.0 netmask 255.255.255.0 gw 192.168.100.1 

4. Настраиваем NAT.

   iptables -A FORWARD -s 172.16.0.0/24 -j ACCEPT 
   iptables -A FORWARD -d 172.16.0.0/24 -j ACCEPT 
   iptables -t nat -A POSTROUTING -o vlan1 -s 172.16.0.0/24 -j MASQUERADE 

5. Загрузочный скрипт. Добавлять скрипты нужно в Administration->Commands .

Startup script Необходимо ввести в поле команд и нажать "Save Startup"

   ifconfig vlan1 down 
   ifconfig vlan1 hw ether xx:xx:xx:xx:xx:xx 
   ifconfig vlan1 up 
   sleep 10 
   ln -s /sbin/rc /tmp/udhcpc && udhcpc -i vlan1 -p /var/run/udhcpc.pid -s /tmp/udhcpc 
   route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.100.1 
   route add -net 10.0.2.0 netmask 255.255.255.0 gw 192.168.100.1 
   route add -net 79.173.126.0 netmask 255.255.255.0 gw 192.168.100.1 

Ниже альтернативный Startup Script , в случае со статическим IP адресом

   ifconfig vlan1 down 
   ifconfig vlan1 hw ether xx:xx:xx:xx:xx:xx 
   ifconfig vlan1 192.168.100.243 netmask 255.255.255.0 
   ifconfig vlan1 up 
   route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.100.1 
   route add -net 10.0.2.0 netmask 255.255.255.0 gw 192.168.100.1 
   route add -net 79.173.126.0 netmask 255.255.255.0 gw 192.168.100.1 

Firewall script Необходимо ввести в поле команд и нажать "Save Firewall"

   iptables -A FORWARD -s 172.16.0.0/24 -j ACCEPT 
   iptables -A FORWARD -d 172.16.0.0/24 -j ACCEPT 
   iptables -t nat -A POSTROUTING -o vlan1 -s 172.16.0.0/24 -j MASQUERADE 

К сожалению не всё так безоблачно в нашем мире и при сохранении скрипта для настройки файрвола роутер уходит в глубокий ребут , как лечить не знаю , но у меня получилось его сохранить только после того как я сохранил его в Custom Script ;) почему оно так я незнаю ...

6. Коментарии. Если все пункты выполнены нормально , то у вас рабочий роутер с DualAccess ;) При написании всего этого была использована одна бутылка пива "Asahi" и счастливый пользователь DIR-400 ;) в качестве бета-тестера настроек .

P.S. если вы всётаки дочитали до этого места , то открою страшную тайну ;) досточно выполнить шаг 5 и перезагрузить роутер ...

"Tweak"


Источник:

  1. http://forum.tktor.ru/index.php?t=838&o=0&st=0


Способ №:3

При статическом IP: На закладке WAN Setup выбираем PPTP и заполняем в соответствии с тем, что дал провайдер (IP-адрес / логин / пароль /адрес vpn сервеа)

Далее Administration --> Management --> Устанвить Cron в режим enable

Далее Administration --> Command и вбиваем скрипт в Startup примерно следующего содержания:

   #!/bin/sh
   mkdir -p /tmp/cron.d
   cat <<"ENDOFFILE" > /tmp/fix-pptp-settings.sh
   if [ "$1" = "--check" ];then
   if [ "$(nvram get wan_gateway)" != "XXX.XXX.XXX.XXX" ]; then
   while read param; do
   nvram set $param
   sleep 2
   done <<EOF
   wan_gateway=XXX.XXX.XXX.XXX
   wan_netmask=XXX.XXX.XXX.XXX
   wan_ipaddr=XXX.XXX.XXX.XXX
   EOF
   fi
   elif [ "$1" = "--daemon" ];then
   while true; do
   $0 --check
   sleep 60
   done
   fi
   ENDOFFILE
   chmod 700 /tmp/fix-pptp-settings.sh
   sh -c "/tmp/fix-pptp-settings.sh --daemon &"

Естественно не забыть поставить вместо XXX.XXX.XXX.XXX свои значения ip-адреса, маски и шлюза.

Данный скрипт будет запускаться по cron'у раз в минуту и при отвале VPN cкрипт установит все значения на заданные, чтобы снова подключиться через vpn.


Источник:

  1. http://www.e1.ru/talk/forum/read.php?f=27&i=171067&t=171067