Jump to content

ChaoticSerg

Forum Members
  • Content count

    21
  • Joined

  • Last visited

  • Days Won

    2

ChaoticSerg last won the day on June 1 2017

ChaoticSerg had the most liked content!

Community Reputation

16 Good

About ChaoticSerg

  • Rank
    Member

Equipment

  • Keenetic
    Ultra II
  1. Добрый день. Хочу предложить всем скрипт, который я доработал. Изначально ссылкой поделился zyxmon, а на том форуме еще кто-то, а он взял еще у кого-то. По этому сразу прошу прощения, за то, что не уловил всю длинную цепочку авторов, но, если надо, то меня поправят в этом вопросе. Не ругайте сильно, если где-то опечатался, все желательно проверить, мне пока негде. Готов к замечаниям, я старался, надеюсь кому поможет. Скрипту требуется bash (opkg install bash) и wget (opkg install wget). Что было сделано: Добавлена генерация ta.key. Содержимое этого файла включено в конфигурацию сервера и клиента. Все файлы с ключами, используемые сервером, включены внутрь конфига сервера. (ранее было отдельными файлами со ссылками в конфиге). Выключена компрессия lzo перенесены логи в другой каталог status /opt/var/log/openvpn-status.log и log-append /opt/var/log/openvpn.log сам файл: #!/opt/bin/bash #OpenVPN road warrior installer for Entware-NG running on NDMS v.2. Please see http://keenopt.ru and http://forums.zyxmon.org #This script will let you setup your own VPN server in a few minutes, even if you haven't used OpenVPN before if [[ ! -e /dev/net/tun ]]; then echo "TUN/TAP is not available" exit 1 fi newclient () { # Generates the custom client.ovpn cp /opt/etc/openvpn/client-common.txt ~/$1.ovpn echo "<ca>" >> ~/$1.ovpn cat /opt/etc/openvpn/easy-rsa/pki/ca.crt >> ~/$1.ovpn echo "</ca>" >> ~/$1.ovpn echo "<cert>" >> ~/$1.ovpn cat /opt/etc/openvpn/easy-rsa/pki/issued/$1.crt >> ~/$1.ovpn echo "</cert>" >> ~/$1.ovpn echo "<key>" >> ~/$1.ovpn cat /opt/etc/openvpn/easy-rsa/pki/private/$1.key >> ~/$1.ovpn echo "</key>" >> ~/$1.ovpn echo "key-direction 1" >> ~/$1.ovpn echo "<tls-auth>" >> ~/$1.ovpn cat ta.key >> ~/$1.ovpn echo "</tls-auth>" >> ~/$1.ovpn } echo "Getting your ip address....please wait." IP=$(wget -qO- ipv4.icanhazip.com) if [[ -e /opt/etc/openvpn/openvpn.conf ]]; then while : do clear echo "Looks like OpenVPN is already installed" echo "" echo "What do you want to do?" echo " 1) Add a cert for a new user" echo " 2) Revoke existing user cert" echo " 3) Exit" read -p "Select an option [1-3]: " option case $option in 1) echo "" echo "Tell me a name for the client cert" echo "Please, use one word only, no special characters" read -p "Client name: " -e -i client CLIENT cd /opt/etc/openvpn/easy-rsa/ ./easyrsa build-client-full $CLIENT nopass # Generates the custom client.ovpn newclient "$CLIENT" echo "" echo "Client $CLIENT added, certs available at ~/$CLIENT.ovpn" exit ;; 2) # This option could be documented a bit better and maybe even be simplimplified # ...but what can I say, I want some sleep too NUMBEROFCLIENTS=$(tail -n +2 /opt/etc/openvpn/easy-rsa/pki/index.txt | grep -c "^V") if [[ "$NUMBEROFCLIENTS" = '0' ]]; then echo "" echo "You have no existing clients!" exit 5 fi echo "" echo "Select the existing client certificate you want to revoke" tail -n +2 /opt/etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 if [[ "$NUMBEROFCLIENTS" = '1' ]]; then read -p "Select one client [1]: " CLIENTNUMBER else read -p "Select one client [1-$NUMBEROFCLIENTS]: " CLIENTNUMBER fi CLIENT=$(tail -n +2 /opt/etc/openvpn/easy-rsa/pki/index.txt | grep "^V" | cut -d '=' -f 2 | sed -n "$CLIENTNUMBER"p) cd /opt/etc/openvpn/easy-rsa/ ./easyrsa --batch revoke $CLIENT ./easyrsa gen-crl rm -rf pki/reqs/$CLIENT.req rm -rf pki/private/$CLIENT.key rm -rf pki/issued/$CLIENT.crt # And restart /opt/etc/init.d/S20openvpn restart echo "" echo "Certificate for client $CLIENT revoked" exit ;; 3) exit;; esac done else clear echo 'Welcome to this quick OpenVPN "road warrior" installer' echo "" # OpenVPN setup and first user creation echo "I need to ask you a few questions before starting the setup" echo "You can leave the default options and just press enter if you are ok with them" echo "" echo "First I need to know the IPv4 address of the network interface you want OpenVPN" echo "listening to." read -p "IP address: " -e -i $IP IP echo "" echo "What protocol do you want for OpenVPN?" echo "1) UDP" echo "2) TCP" read -p "Protocol (1 or 2): " -e -i 1 PROTOCOL echo "What VPN NET do you want?" read -p "VPN network: " -e -i 10.8.0.0 VPN_NET echo "Add VPN IP to getaway?" echo "y or n" read -p "VPN GW? " -e -i no VPN_GW echo "" if [ "$PROTOCOL" = 2 ]; then PROTOCOL=tcp PORT=443 else PROTOCOL=udp PORT=1194 fi echo "What port do you want for OpenVPN?" read -p "Port: " -e -i $PORT PORT echo "" if ["$VPN_GW" = "y" ]; then echo "What DNS do you want to use with the VPN?" echo " 1) Current system resolvers" echo " 2) Yandex DNS" echo " 3) Google" read -p "DNS [1-3]: " -e -i 1 DNS echo "" fi echo "RSA key size 2048 or 1024 ?" echo "1) 2048" echo "2) 1024" read -p "RSA key size (1 or 2): " -e -i 1 RSA_KEY_SIZE echo "" if [ "$RSA_KEY_SIZE" = 2 ]; then RSA_KEY_SIZE=1024 else RSA_KEY_SIZE=2048 fi echo "" echo "Finally, tell me your name for the client cert" echo "Please, use one word only, no special characters" read -p "Client name: " -e -i client CLIENT echo "" echo "Okay, that was all I needed. We are ready to setup your OpenVPN server now" read -n1 -r -p "Press any key to continue..." # An old version of easy-rsa was available by default in some openvpn packages if [[ -d /opt/etc/openvpn/easy-rsa/ ]]; then mv /opt/etc/openvpn/easy-rsa/ /opt/etc/openvpn/easy-rsa-old/ fi # Get easy-rsa wget --no-check-certificate -O ~/EasyRSA-3.0.1.tgz https://github.com/OpenVPN/easy-rsa/releases/download/3.0.1/EasyRSA-3.0.1.tgz tar xzf ~/EasyRSA-3.0.1.tgz -C ~/ mv ~/EasyRSA-3.0.1 /opt/etc/openvpn/easy-rsa/ chown -R root:root /opt/etc/openvpn/easy-rsa/ rm -rf ~/EasyRSA-3.0.1.tgz cd /opt/etc/openvpn/easy-rsa/ if [ "$RSA_KEY_SIZE" = 1024 ]; then cp vars.example vars echo "set_var EASYRSA_KEY_SIZE 1024" >> vars fi # Create the PKI, set up the CA, the DH params and the server + client certificates ./easyrsa init-pki ./easyrsa --batch build-ca nopass ./easyrsa gen-dh ./easyrsa build-server-full server nopass ./easyrsa build-client-full $CLIENT nopass ./easyrsa gen-crl openvpn --genkey --secret ta.key echo "local $IP" > /opt/etc/openvpn/openvpn.conf echo "port $PORT proto $PROTOCOL dev tun sndbuf 0 rcvbuf 0 topology subnet server $VPN_NET 255.255.255.0 ifconfig-pool-persist ipp.txt" >> /opt/etc/openvpn/openvpn.conf if ["$VPN_GW" = "y" ]; then echo 'push "redirect-gateway def1 bypass-dhcp"' >> /opt/etc/openvpn/openvpn.conf # DNS case $DNS in 1) # Obtain the resolvers from resolv.conf and use them for OpenVPN grep -v '#' /etc/resolv.conf | grep 'nameserver' | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | while read line; do echo "push \"dhcp-option DNS $line\"" >> /opt/etc/openvpn/openvpn.conf done ;; 2) echo 'push "dhcp-option DNS 77.88.8.8"' >> /opt/etc/openvpn/openvpn.conf echo 'push "dhcp-option DNS 77.88.8.1"' >> /opt/etc/openvpn/openvpn.conf ;; 3) echo 'push "dhcp-option DNS 8.8.8.8"' >> /opt/etc/openvpn/openvpn.conf echo 'push "dhcp-option DNS 8.8.4.4"' >> /opt/etc/openvpn/openvpn.conf ;; esac fi echo "keepalive 10 120 'push "route 192.168.1.0 255.255.255.0" compress status /opt/var/log/openvpn-status.log log-append /opt/var/log/openvpn.log client-to-client persist-key persist-tun verb 3 crl-verify /opt/etc/openvpn/easy-rsa/pki/crl.pem" >> /opt/etc/openvpn/openvpn.conf echo '<ca>' >> /opt/etc/openvpn/openvpn.conf cat pki/ca.crt >> /opt/etc/openvpn/openvpn.conf echo '</ca>' >> /opt/etc/openvpn/openvpn.conf echo '<cert>' >> /opt/etc/openvpn/openvpn.conf cat pki/issued/server.crt >> /opt/etc/openvpn/openvpn.conf echo '</cert>' >> /opt/etc/openvpn/openvpn.conf echo '<key>' >> /opt/etc/openvpn/openvpn.conf cat pki/private/server.key >> /opt/etc/openvpn/openvpn.conf echo '</key>' >> /opt/etc/openvpn/openvpn.conf echo '<dh>' >> /opt/etc/openvpn/openvpn.conf cat pki/dh.pem >> /opt/etc/openvpn/openvpn.conf echo '</dh>' >> /opt/etc/openvpn/openvpn.conf echo 'key-direction 0' >> /opt/etc/openvpn/openvpn.conf echo '<tls-auth>' >> /opt/etc/openvpn/openvpn.conf cat ta.key >> /opt/etc/openvpn/openvpn.conf echo '</tls-auth>' >> /opt/etc/openvpn/openvpn.conf echo "#!/bin/sh [ \"\$table\" != "filter" ] && exit 0 # check the table name iptables -I INPUT -i tun0 -j ACCEPT iptables -I FORWARD -s $VPN_NET/24 -j ACCEPT iptables -I INPUT -p $PROTOCOL --dport $PORT -j ACCEPT iptables -A INPUT -i lo -j ACCEPT" >> /opt/etc/ndm/netfilter.d/052-openvpn-filter.sh chmod +x /opt/etc/ndm/netfilter.d/052-openvpn-filter.sh echo "#!/bin/sh [ \"\$table\" != "nat" ] && exit 0 # check the table name iptables -t nat -A POSTROUTING -s $VPN_NET/24 -j SNAT --to $IP" >> /opt/etc/ndm/netfilter.d/053-openvpn-nat.sh chmod +x /opt/etc/ndm/netfilter.d/053-openvpn-nat.sh echo "client dev tun proto $PROTOCOL sndbuf 0 rcvbuf 0 remote $IP $PORT resolv-retry infinite nobind persist-key persist-tun remote-cert-tls server compress verb 3" > /opt/etc/openvpn/client-common.txt # Generates the custom client.ovpn newclient "$CLIENT" echo "" echo "Finished!" echo "" echo "Your client config is available at ~/$CLIENT.ovpn" echo "If you want to add more clients, you simply need to run this script another time!" fi
  2. А как в sh скрипте использовать команды CLI?
  3. Добрый день. Пытаюсь создать скрипт, для перебора получаемых ip адресов: #!/bin/sh STR=`ifconfig ppp0|grep inet|sed -r 's/^[^1]+//'|awk -F "." '{print $1}'` if ! [ $STR -ne "172" ]; then echo "ravno" else echo "ne ravno" Но встала загвоздка как в этой прошивке заставить получить новый ip по PPPoE. пробовал: ifconfig ppp0 down ifconfig ppp0 up Но адрес не меняется и интернет вообще перестает работать.
  4. keenopt

    Тогда может вам проще поставить клиента openvpn на windows? Вот здесь https://openvpn.net/index.php/open-source/downloads.html Файл настроек этот-же, только расширение должно быть ovpn и все храниться в C:\Program Files\OpenVPN\config
  5. keenopt

    А ты на каком этапе остановился? Entware-3x установили? openvpn-openssl установили? Тогда скачивайте сертификаты и ключ в папку /opt/etc/openvpn и, там-же создаете openvpn.conf с содержимым: client dev tun proto tcp remote vpn.zaborona.help 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert zaborona-help.crt key zaborona-help.key remote-cert-tls server cipher AES-128-GCM comp-lzo no verb 3 Вроде не ошибся. Запускайте и добро пожаловать в VK.
  6. Ну камеры разные у меня бывают. Сейчас с эти справляется iDVR без напрягов. И, я уверен, проц у него гораздо слабее. Видимо motion действительно не правильный вариант. Просто это первое что выдал Гугл. Он у меня и со второй камерой (960p) не захотел работать, что-то в заголовках не понравилось. Я, пока, всего-то хочу заменить DVR, а то нет на него надежды. Под винду естьпрога - CMS она со всеми камерами работает, как я понял по ONIF и порт 34567.
  7. Да спасибо и так уже рабочий вариант есть, но видимо FullHD не тянет даже мой. Может у кого 720P, у того и будет работать.
  8. Спасибо это работает, но только со вторым потоком, а 1080p загружает проц на 50% и вылетает без записи в лог. Да и еще ругается что 1080 не делится на 16.
  9. ldd /opt/bin/motion /opt/tmp/motion /opt/bin/motion: libm.so.6 => /opt/lib/libm.so.6 (0x776c3000) libpthread.so.0 => /opt/lib/libpthread.so.0 (0x77695000) libjpeg.so.9 => /opt/lib/libjpeg.so.9 (0x7764f000) libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x77629000) libc.so.6 => /opt/lib/libc.so.6 (0x774a4000) /opt/lib/ld.so.1 (0x777c3000) /opt/tmp/motion: libm.so.6 => /opt/lib/libm.so.6 (0x778cd000) libpthread.so.0 => /opt/lib/libpthread.so.0 (0x7789f000) libjpeg.so.9 => /opt/lib/libjpeg.so.9 (0x77859000) libgcc_s.so.1 => /opt/lib/libgcc_s.so.1 (0x77833000) libc.so.6 => /opt/lib/libc.so.6 (0x776ae000) /opt/lib/ld.so.1 (0x779cd000) Может я свой пакет неправильно поставил я по RHELовской привычке ставил opkg install /opt/tmp/motion_3.4.0-3b_mipsel-3x.ipk
  10. Проверил. Ситуация не изменилась.
  11. @zyxmon @TheBB Спасибо, вот получился файл для проверки. Только я не предполагал, что это столько ресурсов требует Создал простенькую виртуалку -2 ядра 2 гига и диск на 8. Кто-же знал что вся эта котовасия 7 гигов займет... motion_3.4.0-3b_mipsel-3x.ipk
  12. Спасибо. Теперь и про фидер начинает в мозгу складываться. Вечером беру что-нибудь и буду пробовать.
  13. Просто написано Мало-ли потом разойдусь и это будет критично Спасибо, тогда возьму Debian 8 с MATE Live.
  14. Сначала качаю Debian 7. Он аж на 3 DVD и нет minimal. И из всего я понял только вторую половину
  15. Большое спасибо. И еще, если можно. Я то соберу скорее всего, а вот другие может не смогут. Только включение этой опции уже сильно грузит роутер? Если нет, то для простых пользователей может в репозитории поменять на версию с поддержкой этой и может других выключенных опций?
×