Jump to content

ChaoticSerg

Forum Members
  • Posts

    78
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by ChaoticSerg

  1. И снова здравствуйте. Решил обновится до версии 4.2. Собрал виртуалку, все поставил. В MakeFile zabbix поменял версию на 4.2.1. Но сначала была ошибка - не скачивался архив с zabbix 4.2.1. Скачал вручную, положил в каталог dl. Теперь при сборке получается: Applying ./patches/003-change-user-and-foreground.patch using plaintext: patching file src/libs/zbxnix/daemon.c Hunk #1 FAILED at 300. 1 out of 1 hunk FAILED -- saving rejects to file src/libs/zbxnix/daemon.c.rej Patch failed! Please fix ./patches/003-change-user-and-foreground.patch! make[2]: *** [/home/user/Entware/build_dir/target-mipsel_mips32r2_glibc-2.27/zabbix-4.2.1/.prepared_5928082eaee17de39b7852c526828f9a_6664517399ebbbc92a37c5bb081b5c53] Error 1 make[2]: Leaving directory `/home/user/Entware/feeds/packages/admin/zabbix' time: package/feeds/packages/zabbix/compile#1.14#0.83#2.07 make[1]: *** [package/feeds/packages/zabbix/compile] Error 2 make[1]: Leaving directory `/home/user/Entware' make: *** [package/zabbix/compile] Ошибка 2 Кто-то может помочь?
  2. Только не нашел такой возможности. Можно только выбрать из выпадающего списка зарегистрированных устройств.
  3. Добрый день. Заметил странное поведение при переадресации. В качестве цели указывается имя сервера, на который надо переадресовывать. Но у одного сервера есть 2 IP адреса, один из которых из другой сети. И, порой, в правилах переадресации оказывается не тот IP, который нужен. Есть штатное решение, что бы мне не перезагружать роутер до получения нужного результата?
  4. Добрый день. Может кто-то уже делал похожую задачу и подскажет мне как более быстро и беспроблемно ее реализовать. Есть Extra 2 и флешка с настроенными функциями (Openssh OpenVPN и т. д.) Купили Ultra (первую, почему-то вторые везде пропали) и USB HDD. Надо все перенести. Можно ли это сделать удаленно? Например я прошу вставить новый hdd в старый роутер, все копирую с флешки, потом прошу поставить новый роутер, настроить на нем интернет и воткнуть новый hdd. Заранее спасибо.
  5. Спасибо, но я на основе этого скрипта уже свой давно делаю для RHEL.
  6. Новая версия. из основного - если у кого не 192.168.1.X, то должен сам скрипт определить и добавить в маршруты. #!/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 "Test installed components" IO=$(opkg list-installed |grep openvpn) if [ -n "$IO" ] then echo "OpenVPN installed"; else opkg install openvpn-openssl fi IO2=$(opkg list-installed |grep openssl-util) if [ -n "$IO2" ] then echo "openssl-util installed"; else opkg install openssl-util fi IW=$(opkg list-installed |grep wget) if [ -n "$IW" ] then echo "wget installed"; else opkg install wget fi II=$(opkg list-installed |grep iptables) if [ -n "$II" ] then echo "Iptables installed"; else opkg install iptables fi echo "Getting your ip address....please wait." IP=$(wget -qO- ipv4.icanhazip.com) LOCALNET=$(ip a | grep -o -E '(192.168.[0-9]{1,3}\.)1') 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" >> /opt/etc/openvpn/openvpn.conf echo "proto $PROTOCOL" >> /opt/etc/openvpn/openvpn.conf echo "dev tun" >> /opt/etc/openvpn/openvpn.conf echo "sndbuf 0" >> /opt/etc/openvpn/openvpn.conf echo "rcvbuf 0" >> /opt/etc/openvpn/openvpn.conf echo "topology subnet" >> /opt/etc/openvpn/openvpn.conf echo "server $VPN_NET 255.255.255.0" >> /opt/etc/openvpn/openvpn.conf echo "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" >> /opt/etc/openvpn/openvpn.conf echo "push \"route $LOCALNET 255.255.255.0\"" >> /opt/etc/openvpn/openvpn.conf echo "cipher AES-256-CBC" >> /opt/etc/openvpn/openvpn.conf echo "compress" >> /opt/etc/openvpn/openvpn.conf echo "status /opt/var/log/openvpn-status.log" >> /opt/etc/openvpn/openvpn.conf echo "log-append /opt/var/log/openvpn.log" >> /opt/etc/openvpn/openvpn.conf echo "client-to-client" >> /opt/etc/openvpn/openvpn.conf echo "persist-key" >> /opt/etc/openvpn/openvpn.conf echo "persist-tun" >> /opt/etc/openvpn/openvpn.conf echo "verb 3" >> /opt/etc/openvpn/openvpn.conf echo "explicit-exit-notify 1" >> /opt/etc/openvpn/openvpn.conf echo "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" > /opt/etc/openvpn/client-common.txt echo "dev tun" >> /opt/etc/openvpn/client-common.txt echo "proto $PROTOCOL" >> /opt/etc/openvpn/client-common.txt echo "sndbuf 0" >> /opt/etc/openvpn/client-common.txt echo "rcvbuf 0" >> /opt/etc/openvpn/client-common.txt echo "remote $IP $PORT" >> /opt/etc/openvpn/client-common.txt echo "resolv-retry infinite" >> /opt/etc/openvpn/client-common.txt echo "nobind" >> /opt/etc/openvpn/client-common.txt echo "persist-key" >> /opt/etc/openvpn/client-common.txt echo "persist-tun" >> /opt/etc/openvpn/client-common.txt echo "remote-cert-tls server" >> /opt/etc/openvpn/client-common.txt echo "cipher AES-256-CBC" >> /opt/etc/openvpn/client-common.txt echo "compress" >> /opt/etc/openvpn/client-common.txt echo "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
  7. Спасибо, вот результат: zabbix-agentd_3.4.7-1d_mipsel-3.4.ipk zabbix-proxy_3.4.7-1d_mipsel-3.4.ipk
  8. А далее все как раньше или тоже менять? git clone https://github.com/Entware/Entware cd Entware echo "src-git keendev3x https://github.com/The-BB/keendev-3x.git" >> ./feeds.conf cp configs/mipsel-3.4.config .config make package/symlinks make menuconfig make tools/install make toolchain/install make target/compile В 4 стоке конфиг на 3.4 поменял, все верно?
  9. И снова здравствуйте. Сегодня настраивал новый роутер и эти пакеты не хотят ставится вот лог: bash-4.4# opkg install zabbix-proxy_3.4.7-1b_mipsel-3x.ipk Installing zabbix-proxy (3.2.7-2) to root... Downloading http://bin.entware.net/mipselsf-k3.4/zabbix-proxy_3.2.7-2_mipsel-3.4.ipk Configuring zabbix-proxy. bash-4.4# opkg install zabbix-proxy_3.4.7-1b_mipsel-3x.ipk Package zabbix-proxy version 3.4.7-1b has no valid architecture, ignoring. Package zabbix-proxy (3.2.7-2) installed in root is up to date. Вижу, первый раз он вместо указанного пакета, ставит из репозитория старую версию. А поверх не хочет ставить, говорит архитектура не та. Раньше ставил на такой-же Extra II. Это из-за объединения репозиториев?
  10. А вы припишите. У роутера слишком много сетевых интерфейсов. И локальные адреса тоже пропишите.
  11. Так может у старого в этом параметре его IP указан? Тут обычно говорят - конфиги в студию... У астериска, который собирается из исходников на обычном сервере, есть специальная команда для установки минимальных конфигурационных файлов. Так что я не вспомню минимум. Тем боле что я всегда при сборке добавляю необходимые мне пакеты. Совет - выключи автозагрузку модулей и смотри ошибки. Там тебе написано будет каких модулей не хватает.
  12. А в sip.conf правильно указано externaddr? modules.conf autoload=no а нужный набор зависит от используемых модулей.
  13. Это видимо каталог ему не доступен. Создать или права проверить. Не может опознать внешний интерфейс, как я понимаю. Выставить ему вручную. И вообще выключить автозагрузку модулей и прописать только минимум, потом добавлять.
  14. Спасибо, все получилось. Вот файлы, если кому еще понадобятся. zabbix-agentd_3.4.7-1b_mipsel-3x.ipk zabbix-proxy_3.4.7-1b_mipsel-3x.ipk
  15. Добрый день. Благодаря неоценимой помощи TheBB, собрал zabbix версии 3.4. Теперь пытаюсь прикрутить TLS. В Makefile выставил у proxy и agentd в DEPPENDS +openssl-util Пересобрал, установил, но в логе по прежнему TLS NO. Вот пытаюсь собрать знания из этого форума и с официального zabbix. Там все просто, при конфигурации указать --with-openssl. А тут не хватает знаний. Кто может помочь? Заранее спасибо. zabbix-agentd_3.4.7-1a_mipsel-3x.ipk zabbix-proxy_3.4.7-1a_mipsel-3x.ipk
  16. А подробней схему можно? И сразу сделайте дамп tcpdump`ом и wireshark`ом SIP Flows и выложите сюда, посмотрим что куда идет.
  17. Да, вопрос в мониторинге серверов за кинетиком, что-бы не пробрасывать кучу портов. А про младшие модели - так не ставить на них. И все зависит от количества серверов. А OpenVPN у меня в прошивке хорошо работает. Кстати пробовал собрать сам пакет zabbix 3.4 и заодно tls прикрутить, но оказалось не так все просто. Агент то и 3.2 подключается, хоть и без шифрования, а вот прокси нужно 3.4.
  18. Мне не весь, мне только прокси, ну и агента тоже. Просто очень хорошие роутеры, и я рекомендую их для небольших офисов. А сервер у меня свой для всех клиентов.
  19. Да, пока только в entware. Но хотелось бы и в официальной версии. Хотя понимаю, таких как я не много...
  20. Есть такая особенность у некоторых моих клиентов. Думаю дело в том, что у них pptp не успевает подняться до старта OpenVPN. Пока некогда было разбираться, но может пауза на несколько секунд в начале стартового скрипта поможет.
  21. Добрый день. Хотелось бы узнать - есть ли планы по обновлению версии zabbix? А то я начал изучать и поставил свежую версию 3.4, настроил большинство агентов и прокси и узнал, что сервер и прокси должны быть одной версии. А в пакетах версия 3.2. И несколько сетей остались без мониторинга.
  22. Добрый день. Хочу предложить всем скрипт, который я доработал. Изначально ссылкой поделился 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
  23. Добрый день. Пытаюсь создать скрипт, для перебора получаемых 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 Но адрес не меняется и интернет вообще перестает работать.
×
×
  • Create New...