Ответы пользователя по тегу Iptables
  • Как на линуксе настроить redsocks и iptables, чтобы в DNS отображались только родные DNS от SOCKS5?

    @leohab75
    я конечно не эксперт, но сначала тебе нужно установить клиент cloudflared а в /etc/redsocks.conf дописать
    spoiler
    base {
    log_debug = off;
    log_info = off;
    //log = "file:/var/log/redsocks.log";
    daemon = on;
    redirector = iptables;
    }

    redsocks {
    local_ip = 0.0.0.0; //здесь крутится сам
    local_port = 8123; //redsocks

    ip = 127.0.0.1; //здесь, какой-то прокси
    port = 2323; //на этом порту
    //Если есть авторизация
    //login = "";
    //password = "";
    type = socks5;
    }

    dnstc {
    local_ip = 127.0.0.1;
    local_port = 5153;
    }
    у меня там на 127.0.0.1:2323 snowflake/tor и если ты настроишь cloudflared-proxy на 127.0.0.1:53 (по инструкции), то в правилах редсокса проводи его на 127.0.0.1:5153 iptables -t nat -A REDSOCKS -p tcp --dport 53 -j REDIRECT --to-ports 5153
    spoiler
    #!/bin/bash

    IPTABLES="iptables"
    REDSOCKS="redsocks"
    REDSOCKSCFG="/etc/redsocks.conf"

    if [ "$1" = "start" ]; then
    echo '(Re)starting redsocks...'
    pkill -U $USER redsocks 2>/dev/null
    sleep 1
    $REDSOCKS -c $REDSOCKSCFG

    iptables -t nat -N REDSOCKS
    iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
    iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
    iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
    iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
    iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
    iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN

    #cloudflared
    iptables -t nat -A REDSOCKS -p tcp --dport 53 -j REDIRECT --to-ports 5153
    iptables -t nat -A REDSOCKS -p udp --dport 53 -j REDIRECT --to-ports 5153


    #all tcp/udp to REDSOCKS
    iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 8123
    iptables -t nat -A REDSOCKS -p udp -j REDIRECT --to-ports 8123

    #for web standart
    #iptables -t nat -A REDSOCKS -p tcp --dport 80 -j REDIRECT --to-ports 8123
    #iptables -t nat -A REDSOCKS -p tcp --dport 8080 -j REDIRECT --to-ports 8123
    #iptables -t nat -A REDSOCKS -p tcp --dport 443 -j REDIRECT --to-ports 8123

    iptables -t nat -A OUTPUT -p tcp -j REDSOCKS

    iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDSOCKS
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDSOCKS
    iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDSOCKS

    echo IPtables reconfigured.
    exit 0;
    elif [ "$1" = "stop" ]; then
    $IPTABLES -t nat -F
    $IPTABLES -t nat -X
    killall redsocks
    exit 0;
    echo All be back
    else
    exit 1;
    fi
    и будет тебе счастье

    в общем, я над этим уже неделю краплю )) вот результат Да, хотел на github залить, но там ограничение 100мб.. так что, если есть желание, милости прошу. Там правда тестовая версия, но куда копать ты поймеш ..
    Ответ написан
    2 комментария