Jump to content

Geniuser

Forum Members
  • Posts

    14
  • Joined

  • Last visited

Posts posted by Geniuser

  1. Есть задача пропустить трафик через OpenVPN. 

    Поместил исполняемый скрипт в  /opt/etc/ndm/netfilter.d/010-intercept-dns.sh

    #!/bin/sh
    
    [ "$table" != "nat" ] && exit 0
    
    # lan_ip=$(ndmq -p 'show interface Bridge0' -P address)
    # iptables -t nat -I PREROUTING -p udp -m udp --dport 53 -j DNAT --to-destination $lan_ip:5353
    # iptables -t nat -I PREROUTING -p tcp -m tcp --dport 53 -j DNAT --to-destination $lan_ip:5353
    
    # iptables -t nat -A PREROUTING -i tap0 -p udp -s ! 10.8.0.1 -d 10.8.0.1 --dport 53 -j DNAT --to-destination 77.88.8.8
    # iptables -t nat -A PREROUTING -i tap0 -p tcp -s ! 10.8.0.1 -d 10.8.0.1 --dport 53 -j DNAT --to-destination 77.88.8.8
    
    iptables -t nat -I PREROUTING 1 -p udp -d 10.8.0.1 --dport 53 -j DNAT --to-destination 10.8.0.1:5353
    iptables -t nat -I PREROUTING 1 -p tcp -d 10.8.0.1 --dport 53 -j DNAT --to-destination 10.8.0.1:5353
    # iptables -t nat -I OUTPUT 1 -p udp -s 10.8.0.1 -d ! 10.8.0.1 --sport 5353 -j REDIRECT --to-ports 53
    # iptables -t nat -I OUTPUT 1 -p tcp -s 10.8.0.1 -d ! 10.8.0.1 --sport 5353 -j REDIRECT --to-ports 53
    # iptables -t nat -I POSTROUTING 1 -p udp -s 10.8.0.1 -d ! 10.8.0.1 --sport 5353 -j SNAT --to-source 10.8.0.1:53
    # iptables -t nat -I POSTROUTING 1 -p tcp -s 10.8.0.1 -d ! 10.8.0.1 --sport 5353 -j SNAT --to-source 10.8.0.1:53
    
    exit 0

    Поместил исполняемый скрипт в /opt/etc/ndm/netfilter.d/053-openvpn-nat.sh

    #!/bin/sh
    [ "$table" != nat ] && exit 0   # check the table name
    
    # ext_ip=$(ifconfig eth2.2 | grep "inet addr" | head -n 1 | cut -d : -f 2 | cut -d " " -f 1)
    ext_ip=$(ifconfig eth2.2| sed -n '2 {s/^.*inet addr:\([0-9.]*\) .*/\1/;p}')
    
    # iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth2.2 -j MASQUERADE
    
    iptables -t nat -A POSTROUTING -p udp -s 10.8.0.1 --sport 5353 -j SNAT --to-source $ext_ip:53
    iptables -t nat -A POSTROUTING -p tcp -s 10.8.0.1 --sport 5353 -j SNAT --to-source $ext_ip:53
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source $ext_ip
    
    exit 0

    Поместил исполняемый скрипт в /opt/etc/ndm/netfilter.d/052-openvpn-filter.sh
     

    #!/bin/sh
    [ "$table" != filter ] && exit 0   # check the table name
    
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
    iptables -A FORWARD -d 10.8.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A INPUT -i tap0 -j ACCEPT
    iptables -A FORWARD -i tap0 -j ACCEPT
    iptables -A INPUT -p udp -d 10.8.0.1 --dport 5353 -j ACCEPT
    iptables -A INPUT -p tcp -d 10.8.0.1 --dport 5353 -j ACCEPT
    
    exit 0
    

    Установил dnsmasq
    В конфиге /etc/dnsmasq.conf

    добавил  в настройки по умолчанию

    port=5353
    listen-address=10.8.0.1
    bind-interfaces
    server=77.88.8.8
    server=8.8.8.8

    Установил OpenVPN
    В настройках OpenVPN сервера /etc/openvpn/server.conf

    proto tcp
    dev tap
    server 10.8.0.0 255.255.255.0
    push "redirect-gateway"
    push "dhcp-option DNS 10.8.0.1"

    В итоге инет работает и из локалки и из внешней сети при подключении к OpenVPN. Но сеть OpenVPN  пишет "Без доступа к интернету". А в логе роутера постоянно появлется это:

    ndmNetwork::Interface::Repository: unable to find tap0 as Network::Interface::IP.
     
    Как сделать, чтобы инет трафик шёл через OpenVPN? 
     
  2. 20 часов назад, AndreBA сказал:

    Что значит альтернативной?

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

    А какую кнопку нажать в веб интерфейсе, чтобы залить скачанную прошивку? У меня такой нет.

    Keenetic.png

  3. Установил Debian по инструкции из темы:
    Полная установка entware-3x совместно с Debian 8, и настройка всей системы★

    Установил OpenVPN:

    Добаил правила Iptables
    В папке netfilter.d положил скрипты

    /opt/etc/ndm/netfilter.d/052-openvpn-filter.sh
    
    !/bin/sh
    [ "$table" != filter ] && exit 0   # check the table name
    iptables -I INPUT -i tap0 -j ACCEPT
    iptables -I FORWARD -s 10.8.0.0/24 -j ACCEPT
    iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    # iptables -A INPUT -i lo -j ACCEPT
    
    
    /opt/etc/ndm/netfilter.d/053-openvpn-nat.sh
    
    #!/bin/sh
    [ "$table" != nat ] && exit 0   # check the table name
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 194.186.172.89
    # iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth2.2 -j MASQUERADE

     Сделал проброс порта в Web морде роутера для сервера OpenVPN, работает, но в логах модема:

    Network::Interface::Repository: unable to find tap0 as Network::Interface::IP.

     

     

     

  4. Вручную апач запустился таким образом:

    root@Keenetic_Giga:/home/admin# /usr/sbin/apache2 -V
    [Fri Jun 23 15:01:08.963558 2017] [core:warn] [pid 6452] AH00111: Config variable ${APACHE_RUN_DIR} is not defined
    apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot
    root@Keenetic_Giga:/home/admin# source /etc/apache2/envvars
    root@Keenetic_Giga:/home/admin# /usr/sbin/apache2 -V
    Server version: Apache/2.4.25 (Debian)
    Server built:   2017-01-25T22:59:26
    Server's Module Magic Number: 20120211:67
    Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
    Compiled using: APR 1.5.2, APR-UTIL 1.5.4
    Architecture:   32-bit
    Server MPM:     prefork
      threaded:     no
        forked:     yes (variable process count)
    Server compiled with....
     -D APR_HAS_SENDFILE
     -D APR_HAS_MMAP
     -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
     -D APR_USE_SYSVSEM_SERIALIZE
     -D APR_USE_PTHREAD_SERIALIZE
     -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
     -D APR_HAS_OTHER_CHILD
     -D AP_HAVE_RELIABLE_PIPED_LOGS
     -D DYNAMIC_MODULE_LIMIT=256
     -D HTTPD_ROOT="/etc/apache2"
     -D SUEXEC_BIN="/usr/lib/apache2/suexec"
     -D DEFAULT_PIDLOG="/var/run/apache2.pid"
     -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
     -D DEFAULT_ERRORLOG="logs/error_log"
     -D AP_TYPES_CONFIG_FILE="mime.types"
     -D SERVER_CONFIG_FILE="apache2.conf"
    root@Keenetic_Giga:/home/admin# service apache2 restart
    [....] Restarting Apache httpd web server: apache2Invoking 'systemctl start apache2'.
    Use 'systemctl status apache2' for more info.
    Running in chroot, ignoring request.
     failed!
    [....] The apache2 instance did not start within 20 seconds. Please read the log[warns to discover problems ... (warning).
    root@Keenetic_Giga:/home/admin# apache2 -k restart
    httpd not running, trying to start
    root@Keenetic_Giga:/home/admin#

    Используя команду  service apache2 restart по прежнему не запускается, куда копать?

×
×
  • Create New...