Page 1 of 6 123 ... LastLast
Results 1 to 15 of 242

Thread: Установка OpenVPN в основную память для НОВИЧКОВ

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Post Установка OpenVPN в основную память для НОВИЧКОВ

    Значится так, все описанное здесь было сделано по просьбе моего друга известного здесь как Polll (вот его проблема http://wl500g.info/showthread.php?t=8710).
    Задача звучала так:
    на работе закрыты все порты наружу (http идеть через проксю) кроме TCP 5190, нужно получить полноценный инет. Дома стоит WL500gP с реальным IP на WAN, но без подключенного харда или флэшки.
    Так как он в linux`e полный ноль, то пришлось написать скрипт который сделает все сам. Сразу оговорюсь что скрипт писался исходя из условий что в WL500gP никто по телнету на "лазил грязными ногами" была только залита прошивка Олега и настроено все через веб морду. Соответственно считалось по умолчанию что скрипт ничего настроенного (до его запуска) через телнет не сломает (если что-то делали ранее нужно закоментировать соответствующие строки).
    Расписано все так чтобы было понятно даже новичку. И так начнем ...
    Для начала нужно скачать и установить на винду openvpn http://openvpn.se/download.html
    openvpn-2.0.9-gui-1.0.3-install.exe.

    После установки переименовываем новое сетевое соединение в "tun0".

    Генерим ключик:
    cd C:\Program Files\OpenVPN\config
    openvpn --genkey --secret static.key


    С помощью блокнота создаем в директории C:\Program Files\OpenVPN\config файл client.ovpn следующего содержания:
    remote myhost
    dev tun0
    port 5190
    proto tcp-client
    ifconfig 10.8.0.2 10.8.0.1
    secret static.key
    redirect-gateway

    где "muhost" IP-адрес WAN роутера, порт 5190 выбран изза условия (можно поставить любой выше 1024)
    С виндой мы разобрались теперь займемся роутером.

    Нужно любым способом перебросить файлик ключа static.key на роутер в директорию /tmp/local. Это можно

    сделать несколькими способами, вот два самых простых:

    1) Временно подключить жесткий диск или флэшку к роутеру и по фтп скинуть на него файлик, после чего в

    телнете выполнить команду
    cp /tmp/harddisk/ftp_pub/static.key /tmp/local

    2) Временно выложить файлик где нить в инете и в телнете выполнить команды
    cd /tmp/local
    wget http://адрес_где_лежит_файл/static.key


    Все будем ставить в встроенный флеш.

    Вот файл скрипта inst_openvpn

    #!/bin/sh

    # Создаем директорию куда все будем ставить
    mkdir /tmp/local/opt

    # Монтируем ее в /opt
    mount /tmp/local/opt /opt

    # Обновляем список доступных для установки пакетов
    ipkg.sh update

    # Устанавливаем установщик пакетов ipkg
    ipkg.sh install ipkg

    # Перенастраиваем ipkg на нужный нам репозитарий пакетов
    echo "src unslung http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable" > /opt/etc/ipkg.conf
    echo "dest root /" >> /opt/etc/ipkg.conf


    # Обновляем список доступных для установки пакетов
    ipkg update

    # Последовательно ставим необходимые для выполнения нащей задачи пакеты
    ipkg install uclibc-opt
    ipkg install openssl
    ipkg install lzo
    ipkg -force-depends install openvpn


    # Создаем виртуальный сетевой интерфейс
    mkdir /dev/net
    mknod /dev/net/tun c 10 200


    # Создаем файл конфигурации openvpn сервера
    echo "dev tun0" > /opt/etc/openvpn/server.conf
    echo "port 5190" >> /opt/etc/openvpn/server.conf
    echo "proto tcp-server" >> /opt/etc/openvpn/server.conf
    echo "ifconfig 10.8.0.1 10.8.0.2" >> /opt/etc/openvpn/server.conf
    echo "secret static.key" >> /opt/etc/openvpn/server.conf


    # Создаем директорию для пользовательских скриптов
    mkdir /usr/local/sbin

    # Создаем в ней файл post-boot и прописываем в него
    # монтирование /opt и запуск openvpn сервера после загрузки роутера
    echo "#!/bin/sh" > /usr/local/sbin/post-boot
    echo "mount /tmp/local/opt /opt" >> /usr/local/sbin/post-boot
    echo "/opt/etc/init.d/S24openvpn" >> /usr/local/sbin/post-boot


    # Делаем файл скрипта исполняемым
    chmod +x /usr/local/sbin/post-boot

    # Создаем в ней файл post-firewall и прописываем в него
    # нужные нам правила файрвола для работы сервера
    echo "#!/bin/sh" > /usr/local/sbin/post-firewall
    echo "iptables -D INPUT -j DROP" >> /usr/local/sbin/post-firewall
    echo "iptables -I INPUT -p tcp --dport 5190 -j ACCEPT" >> /usr/local/sbin/post-firewall
    echo "iptables -t nat -I PREROUTING -i eth1 -p tcp --dport 5190 -j DNAT --to-destination \$4:5190" >> /usr/local/sbin/post-firewall
    echo "iptables -A INPUT -j DROP" >> /usr/local/sbin/post-firewall
    echo "iptables -I INPUT -i tun0 -j ACCEPT" >> /usr/local/sbin/post-firewall
    echo "iptables -I FORWARD -i tun0 -j ACCEPT" >> /usr/local/sbin/post-firewall
    echo "iptables -I FORWARD -o tun0 -j ACCEPT" >> /usr/local/sbin/post-firewall
    echo "iptables -I OUTPUT -o tun0 -j ACCEPT" >> /usr/local/sbin/post-firewall


    # Делаем файл скрипта исполняемым
    chmod +x /usr/local/sbin/post-firewall

    # Создаем файл запуска openvpn сервера
    echo "#!/bin/sh" > /opt/etc/init.d/S24openvpn
    echo 'if [ -n "`pidof openvpn`" ]; then' >> /opt/etc/init.d/S24openvpn
    echo "/bin/killall openvpn 2>/dev/null" >> /opt/etc/init.d/S24openvpn
    echo "fi" >> /opt/etc/init.d/S24openvpn
    echo "/sbin/insmod tun" >> /opt/etc/init.d/S24openvpn
    echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /opt/etc/init.d/S24openvpn
    echo "/opt/sbin/openvpn --cd /opt/etc/openvpn --daemon --log-append /var/log/openvpn.log --config server.conf" >> /opt/etc/init.d/S24openvpn


    # Делаем файл скрипта исполняемым
    chmod +x /opt/etc/init.d/S24openvpn

    # Говорим роутеру что мы хотим сохранять во флэш наши скрипты
    echo "/usr/local/sbin/post-firewall" > /usr/local/.files
    echo "/usr/local/sbin/post-boot" > /usr/local/.files


    # перемещаем ключ в нужное место
    mv /tmp/local/static.key /opt/etc/openvpn

    # Сохраняем все во флэш и перегружаем роутер
    flashfs save
    flashfs commit
    flashfs enable
    reboot


    После ребута роутера пробуем законектится с винды ... Если удачно то весь интернет трафик теперь пойдет через этот тунель.

    Если нет желания вводить команды руками можно взять готовый скрипт (см. вложение) переместить его на роутер в /tm/local также как файл ключа сделать исполняемым
    chmod +x /tmp/local/inst_openvpn

    и запустить его
    /tmp/local/inst_openvpn

    Удачи всем ...
    Attached Files Attached Files

  2. #2
    Как доходит установка до ipkg install openssl
    то пишется следующее:

    Installing openssl (0.9.7m-1) to root...
    Downloading http://ipkg.nslu2-linux.org/feeds/op...m-1_mipsel.ipk
    ipkgipkg: : gzip aborted

    gzip aborted

    Connection closed by foreign host.

    После этого... интернета нет

  3. #3
    Quote Originally Posted by manyuk View Post
    Как доходит установка до ipkg install openssl
    то пишется следующее:

    Installing openssl (0.9.7m-1) to root...
    Downloading http://ipkg.nslu2-linux.org/feeds/op...m-1_mipsel.ipk
    ipkgipkg: : gzip aborted

    gzip aborted

    Connection closed by foreign host.

    После этого... интернета нет
    Странно этот скрипт обкатал уже на 3-х WL500gP ... а что до этого с коробочкой делал через телнет??

  4. #4
    ничего не делал. подумал что может из-за маленького встроеного флеша. подключил внешний винт. и проблема все авно осталась помогите плиззз. с затврашнего дня переходит провайдер на опенвпн
    Last edited by manyuk; 07-04-2007 at 23:01.

  5. #5
    Quote Originally Posted by manyuk View Post
    ничего не делал. подумал что может из-за маленького встроеного флеша. подключил внешний винт. и проблема все авно осталась помогите плиззз. с затврашнего дня переходит провайдер на опенвпн
    Да нет размер флэша здесь не причем попробуй очистить все и заново запустить мой скрипт целиком как есть ... если все пройдет как надо потом перенастроим на твою задачу ... Очищаем так:
    заходим телнетом на роутер и выполняем эти команды
    umount /opt
    rm -r /tmp/local/opt
    rm -r /usr/local/sbin
    rm /usr/local/.files
    flashfs save
    flashfs commit
    flashfs enable
    reboot


    После перезагрузки кладешь мой скрипт в /tmp/local и запускаешь его ... если все встанет тогда уже будем править конфиги ...
    Кстате а какая прошивка стоит ??? на текущий момент нужно ставить 1.9.2.7-7g http://wl500g.info/showpost.php?p=51576&postcount=7
    Last edited by Mirage-net; 08-04-2007 at 08:09.

  6. #6
    Выявил проблему. Оказалось надо было установить gzip. После этого все спокойно установилось. Но у меня другая проблема - почему то пакеты, которые я устанавливаю после перезагрузки не сохраняются. Например ipkg после перезагрузки надо снова ставить

  7. #7
    Задача звучала так:
    на работе закрыты все порты наружу (http идеть через проксю) кроме TCP 5190, нужно получить полноценный инет.
    Помоему у меня похожая проблема. А как узнать какие у меня порты наружу открыты? Как их просканить?

  8. #8
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788
    Quote Originally Posted by piezomotor View Post
    Помоему у меня похожая проблема. А как узнать какие у меня порты наружу открыты? Как их просканить?
    Если имеется ввиду про то, как узнать, какие порты не закрыты провайдером, то:
    http://wl500g.info/showpost.php?p=69185&postcount=30

  9. #9
    Поставил OPENVPN клиента на XP и у меня ошибка-


    Ставил по инструкции-http://www.wl500g.info/showpost.php?p=30831&postcount=1

    Что не так?

  10. #10
    будет ли все это работать на asus wl 520gc с поставленной прошивкой
    http://oleg.wl500g.info/asus/WL520gc_0.0.0.12_EN.trx
    (которую взял тут: http://wl500g.info/showthread.php?t=11830? )

    прошивка сильно урезанная. как мне быть что бы настроить vpn на данном девайсе?
    ????
    Last edited by maelstrom; 01-02-2008 at 08:00.

  11. #11
    Доброй ночи.
    У меня возникла проблема.
    Я установил OpenVPN по инструкции которая написана на первой странице.
    Все вроде хорошо, изнутри у меня получается подконнектится, а вот снаружи никак. Скажите, пожалуйста, что мне нужно настроить чтобы у меня был доступ снаружи.
    Спасибо.
    PS
    Я чайник, если мона объясните на пальцах

  12. #12
    Смотрите, что у вас в post-firewall попало.

    Code:
    cat /usr/local/sbin/post-firewall

  13. #13
    Вот что там:
    Code:
    #!/bin/sh
    mount /tmp/local/opt /opt
    /opt/etc/init.d/S24openvpn
    #!/bin/sh

  14. #14
    неверно. читайте первую страницу.
    Смотрите, что у вас в post-boot и post-firewall

  15. #15

    VPN добавление еще соединений и малая скорость

    поставил по вашему скрипту все заработало на ура. большое спасибо за скрипт. возникло несколько вопросов:
    1) скорость не VPN не больше 500 кб/сек. это нормально? (без него 3-5 мб/сек). Может это быть из зато того что адреса вида 10.8.0.2 есть в сети?
    2) как мне добавить еще один/два три айпишника для ВПН? какие строчки править? пойдет ли один ключ на все машины которые юзают впн?
    ( я так понял везде где 10.8.0.2 сделать 10.8.0.X?:
    в винде в файле:C:\Program Files\OpenVPN\config\client.ovpn
    ifconfig 10.8.0.X 10.8.0.1
    на роутере
    echo "ifconfig 10.8.0.1 10.8.0.X" >> /opt/etc/openvpn/server.conf
    ?
    надали менять еще это:
    # Создаем виртуальный сетевой интерфейс
    mkdir /dev/net
    mknod /dev/net/tun c 10 200

    )
    заранее спасибо

Page 1 of 6 123 ... LastLast

Similar Threads

  1. FireFly медиа-сервер для iTunes
    By name_zh in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 72
    Last Post: 02-05-2017, 21:59
  2. Не получается открыть 80 порт
    By kiryap in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 220
    Last Post: 11-06-2014, 20:50
  3. Replies: 7
    Last Post: 14-03-2010, 13:11

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •