ChaoticSerg
-
Posts
78 -
Joined
-
Last visited
-
Days Won
3
Content Type
Profiles
Forums
Gallery
Downloads
Blogs
Events
Posts posted by ChaoticSerg
-
-
1 час назад, denmmx сказал:
Добрый день!
Только что настроил с этим скриптом OpenVPN на прошивке 2.11.C.0.0-2, все отлично работает, спасибо! Неплохо было добавить в скрипт проверку установленных пакетов openvpn, openvpn-utils и iptables.
P.S. Скрипт /opt/etc/init.d/S20openvpn не стартует после ребута, приходится ручками поднимать (./S20openvpn start). В чем может быть проблема?
Есть такая особенность у некоторых моих клиентов. Думаю дело в том, что у них pptp не успевает подняться до старта OpenVPN. Пока некогда было разбираться, но может пауза на несколько секунд в начале стартового скрипта поможет.
- 1
-
Добрый день.
Хотелось бы узнать - есть ли планы по обновлению версии zabbix?
А то я начал изучать и поставил свежую версию 3.4, настроил большинство агентов и прокси и узнал,
что сервер и прокси должны быть одной версии. А в пакетах версия 3.2. И несколько сетей остались
без мониторинга.
-
Добрый день.
Хочу предложить всем скрипт, который я доработал. Изначально ссылкой поделился zyxmon, а на том форуме еще кто-то, а он взял еще у кого-то.
По этому сразу прошу прощения, за то, что не уловил всю длинную цепочку авторов, но, если надо, то меня поправят в этом вопросе.
Не ругайте сильно, если где-то опечатался, все желательно проверить, мне пока негде. Готов к замечаниям, я старался, надеюсь кому поможет.
Скрипту требуется bash и wget . (opkg install bash wget openssl-util openvpn-openssl)
Что было сделано:
Добавлена генерация 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.4.tgz https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.4/EasyRSA-3.0.4.tgz tar xzf ~/EasyRSA-3.0.4.tgz -C ~/ mv ~/EasyRSA-3.0.4 /opt/etc/openvpn/easy-rsa/ chown -R root:root /opt/etc/openvpn/easy-rsa/ rm -rf ~/EasyRSA-3.0.4.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\" cipher AES-256-CBC compress status /opt/var/log/openvpn-status.log log-append /opt/var/log/openvpn.log client-to-client persist-key persist-tun verb 3 explicit-exit-notify 1 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 cipher AES-256-CBC 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
- 3
- 1
-
А как в sh скрипте использовать команды CLI?
-
Добрый день.
Пытаюсь создать скрипт, для перебора получаемых 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
Но адрес не меняется и интернет вообще перестает работать.
-
Только что, Ярослав Грицунь сказал:
большинство слов из вашего сообщения, написанных латиницей, я не понимаю, пойду разбираться..
Тогда может вам проще поставить клиента openvpn на windows? Вот здесь https://openvpn.net/index.php/open-source/downloads.html
Файл настроек этот-же, только расширение должно быть ovpn и все храниться в C:\Program Files\OpenVPN\config
- 1
-
2 часа назад, Ярослав Грицунь сказал:
Уважаемые знатоки, нужна помощь в организации работы сервера на OpenVPN 2.4.2 на роутере Keenetic Giga 3. Я полный нуб, поэтому, если можно и есть время у кого-то рассказать, что и как делать. Вот сами настройки: https://zaborona.help/extra.html . Спасибо
А ты на каком этапе остановился? 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.
- 1
-
7 часов назад, McMCC сказал:
Зачем ставить эксперименты на заведомо проигрышной системе? Роутер конечно можно научить кодировать видео, если процессор справится, есть нынче и такие, но лучше купите камеру, которая сама умеет гнать видео поток по ip. Если ваша камера умеет напрямую MJPEG выдавать, то зачем вам ffmpeg? Смотрите прямо MJPEG и будет вам FullHD без напряга на процессор роутера, вам его только нужно по http или rtsp прикрутить, не знаю как для этого походит motion, но mjpg-streamer с этим отлично справляется...
Ну камеры разные у меня бывают. Сейчас с эти справляется iDVR без напрягов. И, я уверен, проц у него гораздо слабее. Видимо motion действительно не правильный вариант. Просто это первое что выдал Гугл. Он у меня и со второй камерой (960p) не захотел работать, что-то в заголовках не понравилось. Я, пока, всего-то хочу заменить DVR, а то нет на него надежды. Под винду естьпрога - CMS она со всеми камерами работает, как я понял по ONIF и порт 34567.
- 1
-
Только что, TheBB сказал:
дальше уж сами, у меня своих квестов полно. strace - в помощь.
Да спасибо и так уже рабочий вариант есть, но видимо FullHD не тянет даже мой. Может у кого 720P, у того и будет работать.
- 1
-
47 минут назад, TheBB сказал:
@ChaoticSerg , от Вам "заготовка", пилите, обтачивайте, шлифуйте... Makefile , патч к ней 600-fix.patch
бинарник motion_3.4.0-20141018-9479d910f2149b5558788bb86f97f26522794212-3b_mipsel-3x.ipk
Спасибо это работает, но только со вторым потоком, а 1080p загружает проц на 50% и вылетает без записи в лог.
Да и еще ругается что 1080 не делится на 16.
- 1
-
5 минут назад, zyxmon сказал:
А с чего Вы взяли, что собранная Вами версия использует ffmpeg. Сравните `ldd /opt/bin/motion` для версии из репы и Вашей. (Предварительно поставьте `opkg install ldd`!
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
-
1 минуту назад, TheBB сказал:
так и проверяйте, у меня IP-камер нет.
Проверил. Ситуация не изменилась.
- 1
-
-
29 минут назад, TheBB сказал:
@ChaoticSerg , вот Вам ещё "на почитать" с этого форума и с этого же раздела:
Спасибо. Теперь и про фидер начинает в мозгу складываться. Вечером беру что-нибудь и буду пробовать.
-
1 минуту назад, zyxmon сказал:
Скачайте live с нужным оконным менеджером и поставьте с него. Лучше 8 debian. Minimal (net install) есть для всех выпусков.
Просто написано
ЦитатаОтмечу, что под Debian 6 некоторые пакеты могут быть собраны не до конца корректно (пример: ca_certificates).
При компиляции некоторых прошивок скриптам сборки может "не понравится" новая версия make 4.0 в Debian 8 (прошивки V1 от ZyXEL).Мало-ли потом разойдусь и это будет критично
Спасибо, тогда возьму Debian 8 с MATE Live.
- 1
-
Только что, zyxmon сказал:
@ChaoticSerg приблизительный план действий такой. Все поставить, включая фиды, собрать toolchain и target, запустить `make package/motion/compile` и `make package/ffmpeg/compile`. Отредактировать Makefile для motion - увеличить PKG_RELEASE, убрать `--without-ffmpeg`, пописать DEPENDS.Снова собрать motion и проверить на роутере.
Сначала качаю Debian 7. Он аж на 3 DVD и нет minimal. И из всего я понял только вторую половину
- 1
-
1 минуту назад, zyxmon сказал:
http://forums.zyxmon.org/viewforum.php?f=8
и
https://github.com/Entware-ng/Entware-ng/wiki/Compile-packages-from-sources
Инструкции для -ng и для -3x одинаковые (с точностью до ссылок).
Не можно, а нужно!
Большое спасибо. И еще, если можно. Я то соберу скорее всего, а вот другие может не смогут.
Только включение этой опции уже сильно грузит роутер? Если нет, то для простых пользователей может в репозитории
поменять на версию с поддержкой этой и может других выключенных опций?
- 1
-
6 часов назад, McMCC сказал:
@ChaoticSerg, возможно motion собирался без поддержки ffmpeg. По-крайней мере этот кусок кода из motion говорит об этом, что в принципе логично, учитывая мощности роутерных процессоров.
int netcam_setup_rtsp(netcam_context_ptr netcam, struct url_t *url){ #ifdef HAVE_FFMPEG ......... return 0; #else /* No FFmpeg/Libav */ MOTION_LOG(ERR, TYPE_NETCAM, NO_ERRNO, "%s: FFmpeg/Libav not found on computer. No RTSP support"); return -1; #endif /* End #ifdef HAVE_FFMPEG */ }
Так стоит этим заморачиваться или и ультра 2 с его двухядерным процессором не хватит для 1-2 камер 1080р?
37 минут назад, zyxmon сказал:Можно же легко посмотреть, чтобы не гадать
Значит надо собрать с поддержкой или есть другие варианты? И если пересобирать то можно, пожалуйста ссылку на описание как это делается?
И можно пересобрать в виртуалке, что бы не захламлять роутер пакетами для сборки. Я честно говоря и в линуксах ставил из исходников очень очень очень редко.
- 1
-
Добрый вечер.
Может кто занимался и подскажет мне с моей проблемой. Поставил motion. Настроил на IP камеру. Но в логах
появляется ошибка:
motion_loop: Retrying until successful connection with camera Network Camera thread starting... for url (value ......) netcam_setup_rtsp: FFmpeg/Libav not found on computer. No RTSP support
Я конечно сразу смотрю какие пакеты не поставил и их два - ffmpeg и libffmpeg-full. Ставлю их, а ситуация не меняется.
Скажите, пожалуйста какие ему тогда пакеты надо поставить?
- 1
-
Спасибо McMCC решил мою проблему. tftpd-hpa и iputils-tftpd пошли лесом. И, как сказал один уважаемый человек, я сделал, так, как делал ранее - установил dnsmasq и вырубил штатный dhcp.
Вот мне и радость и DHCP-сервер с опциями и указанием tftp-сервера и и сам tftp-сервер работает. Да пути все разные, пришлось лазить по всей файловой системе, но нашел где и что лежит.
Осталось найти конфиг iptables, что бы не из командной строки все прописывать и еще некоторые мелкие нюансы порешать.
- 1
-
Не забанили, просто при запросе tftp и Zyxel выдает только "Помогите восстановить убитый роутер". До этого пробовал iputils-tftpd
настроить, так-же. Есть конечно темы по tftpd-hpa для BSD и других, но они довольно разные, для разных систем, вот и ищу именно под Zyxel.
А под tftpd-hpa нашел на этом форуме:
Только было это больше года назад и человеку ни кто не ответил, а он видимо купил другой роутер.
-
Я с Entware работал на другом роутере и толк был, прикрутил все, что мне надо было и даже git месяц назад настроил. Здесь я конечно понимаю, что за день не разберешься,
но не надо мне указывать удалять Entware и сдавать роутер в магазин, т. к. без него данный роутер мне не интересен. Или опции dhcp сервера появятся только если удалить Entware?
Я задал конкретный вопрос - есть ли новости о том, что просят в данной теме? Тема создана почти год назад, и я думал, что могло что-то и поменяться за это время.
-
Так как идет работа? А то вот купил сегодня Zyxel и после Asus с прошивкой от Padavan много не хватает, уж опции dhcp точно надо, да и tftpd тоже хотелось бы, а то tftpd-hpa поставил, а что с ним дальше делать? Ни манов, ни конфигов...
Zabbix
in Вопросы по сборке и настройке Opkg
Posted
Да, пока только в entware. Но хотелось бы и в официальной версии. Хотя понимаю, таких как я не много...